Grub'un bir diske kurulduğunu ve hangi ayarlara sahip olduğunu (kök parametresi için ne olduğunu) nasıl anlayabilirim?
Her iki diskteki grubun uygun kök değerine sahip gruba sahip olduğundan emin olmak için yazılım RAID1 dizilerinde birçok diski kontrol etmem gerekiyor.
Bir MBR'de GRUB öğesini tanımlamak için file
kullanabilirsiniz.
# file -s /dev/sda
/dev/sda: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3
, stage2 address 0x2000, stage2 segment 0x200; partition 1:
ID=0xfd, starthead 1, startsector 63, 1044162 sectors; partition
2: ID=0x82, starthead 0, startsector 1044225, 1028160 sectors;
partition 3: ID=0xfd, starthead 0, startsector 2072385,
1951447680 sectors, code offset 0x48
root=
paramater MBR'de saklanmadı, bu GRUB'un menu.lst
dosya bir dosya sisteminde saklanır (genellikle kök fs'nin/boot/grub dizininde veya/boot dosya sisteminin grub dizininde - ancak her zaman değil, her yerde olabilir).
Yukarıdaki dosyanın çıktısını ayrıştırmanız, hangi diskin/bölümün menu.lst
dosyası açık, bağla, oku ve ayrıştır. Hangi grub menü girişinin varsayılan olduğunu bulmak için grub/varsayılan dosyada da okumak istersiniz, çünkü muhtemelen en çok ilgilendiğiniz root = parametresine sahip olanıdır.
Alternatif Yöntem
file -s
Ubuntu Lucid'de benim için çalışmadı çünkü dosya komutumun sihirli dosyaları güncel değil. Sihirli dosyalarınız GRUB değişikliklere yetişmediyse bunu yapmanın başka bir yolu, cihazın ilk 512 baytını dd
komutunu kullanarak şu şekilde incelemektir:
[email protected]:~$ Sudo dd bs=512 count=1 if=/dev/sda 2>/dev/null | strings
ZRr=
`|f
\|f1
GRUB
Geom
Hard Disk
Read
Error
Bu, dd
komutunun çıkışını strings
komutu aracılığıyla gönderir, böylece yazdırılamayan karakterleri çıkarır (aktarım istatistikleri /dev/null
).
GRUB hata ile karşılaştığında görüntülenecek herhangi bir mesaj görürseniz grub kurulu demektir.
Bu şifre korumalı gönderiyi cevapladığı için ubuntuforums.org'da louib'e şapka ipucu: http://ubuntuforums.org/showthread.php?t=363372
Merak için bu file -s
:
[email protected]:~$ Sudo file -s /dev/sda
/dev/sda: x86 boot sector; partition 1: ID=0x83, active, starthead 32, startsector 20
48, 337211392 sectors; partition 2: ID=0x5, starthead 254, startsector 337215486, 1434214
6 sectors, code offset 0x63
Burada özel olarak GRUB) hakkında hiçbir şey yok.
Kullanabilirsiniz grub-emu
Makinenin bir sonraki yeniden başlatıldığında grubun göstereceği menüyü görmek için.
$ Sudo apt-get install grub-emu
$ Sudo grub-emu
Masaüstü makinemde menü beklendiği gibi görüntüleniyordu, ancak aslında bir çekirdek önyükleme yapsaydım "böyle bir aygıt yok" hatası aldım. Bunun beklenen davranış olduğunu düşünüyorum.
DigitalOcean VPS'imde sunucu menüsünde hiçbir giriş görüntülenmedi, ancak sunucu gerçekten iyi bir şekilde yeniden başlattı. (Bu 2013 VPS'dir, bu nedenle kilometreniz değişebilir.)
grub-emu
:
c
tuşuna basıp exit
yazarak çıkabilirsiniz.reset
yazarak bunu düzeltin. (Endişelenmeyin, makinenizi yeniden başlatmaz. Sadece terminalinizi temizler.)