Grub, açılışta yüklenen küçük bir çekirdek resme sahiptir. Çekirdek görüntü, daha fazla işlevsellik sağlayan modülleri dinamik olarak yükler. i386-pc/normal.mod not found
grub , normal komutu sağlayan bir grub modülü olan normal.mod dosyasını yükleyemez . Normal yüklemek için mod.for grubun nerede olduğunu söylemeniz gerekir. Bunu yapmak için grub komut satırını (aka Kurtarma Konsolu) kullanabilirsiniz. Grub, önyükleme ile ilgili bir sorun varsa komut satırını başlatır veya grubun başlaması sırasında grub grubunu basılı tutarak (grub menüsünü zorlamak için) manuel olarak başlatabilir ve ardından 'c' tuşuna basabilirsiniz.
Grub'u kullanarak sürücüleri, bölümleri ve dosya sistemlerini keşfedebilirsiniz. Gerek:
- grub kurulumunu ls veya search.file kullanarak bulun
- grub değişkenlerini $ önek ve $ root olarak ayarla
- normal modülü yükleyin ve çalıştırın
Örnek
Aşağıdaki sadece bir örnek. Yerel sürücünüze ve bölüm kurulumunuza uyarlamanız gerekecektir.
normal.mod nerede? bazı muhtemel konumlara bak
grub> search.file /i386-pc/normal.mod
error: no such device: /i386-pc/normal.mod
grub> search.file /grub/i386-pc/normal.mod
error: no such device: /grub/i386-pc/normal.mod
grub> search.file /boot/grub/i386-pc/normal.mod
hd0,msdos1
Bunu alırsanız "Unknown command 'search.file'"
, search.file komutunun kullanılamadığı anlamına gelir. Bunun sebebi sizin istekte bulunmanız ve grub rescue>
istekte bulunmamaktan kaynaklanıyor olmasıdır grub>
. Bu durumda ls
, bulmak için bölüm düzeninizle ilgili komutu ve bilginizi hala taşıyabilir ve kullanabilirsiniz normal.mod
.
buldum (hd0, msdos1)
grub> ls (hd0,msdos1)/boot/grub/i386-pc/normal.mod
normal.mod
grub neden bulamadı?
$ önekini kontrol et - grub dizininin mutlak konumu
(bu, grub grub-install tarafından yüklendiğinde ayarlanır)
grub> echo $prefix
(hd0,msdos2)/boot/grub
$ root kontrol edin - aygıt
grubunu içermeyen yollar için varsayılan aygıt grub, başlangıçta bunu cihaza $ önekinden ayarlar.
grub> echo $root
hd0,msdos2
root ve öneki yanlış bölüme (hd0, msdos2)
set $ root ve $ öneki normal.mod (hd0, msdos1) bulduğumuz bölüme
grub> set root=(hd0,msdos1)
grub> set prefix=(hd0,msdos1)/boot/grub
normal modülü yükleyin ve çalıştırın
grub> insmod normal
grub> normal
Yardımcı olabilecek diğer bazı komutlar
Tüm cihazları ve bölümleri listeler.
grub> ls
(hd0) (hd0,msdos5) (hd0,msdos1)
Bu bölüm
grub> ls (hd0,msdos1)
Partition hd0,msdos1: Filesystem type ext* - Last modification time
2014-05-08 15:56:38 Thursday, UUID c864cbdd-a2ba-43a4-83a3-66e305adb1b6 -
Partition start at 1024KiB - Total size 6290432Kib
ls dosya sistemi (not / sonunda)
grub> ls (hd0,msdos1)/
lost+found/ etc/ media/ bin/ boot/ dev/ home/ lib/ lib64/ mnt/ opt/ proc/
root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ vmlinuz initrd.img cdrom/
i386-pc dizininin içinde / boot / grubun varlığına bakmak , bunun bir
x86_64-efi dizininin BIOS kurulumu olduğu anlamına gelir.
grub> ls (hd0,msdos1)/boot/grub
i386-pc/ locale/ fonts/ grubenv grub.cfg
use your windows partition as your primary boot device
. Bu son adım esastır. KULLANMAYIN / önyükleme yapmayın. Başka bir çözüm olabilir: başlatma sırasında önyükleme cihazınızı el ile değiştirmeyi deneyin; Ancak, bunun işe yarayacağını sanmıyorum. Bu, Ubuntu'da 17.10'a kadar devam eden uzun süredir devam eden bir sorundur. Teşekkür ederim.