Grub2 grub rescue>
Személy szerint a Grub2 bevezetését a Stable Debian verzióba (Squeeze) nem érzem előrelépésnek a Grub-hoz viszonyítva.
Amióta ez megjelent, többet látom a grub> és grub rescue> promptot induláskor, mint előtte összesen.
Előfordul, hogy a telepítőnek sem sikerül egy RAID tömbre, vagy LVM LV-ra megfelelően telepíteni a Grub2-t és a telepítés végén ott áll az ember és tudja, hogy újraindulás után bizony nem egy frissen telepített rendszert kap, hanem egy problémát.
Ha a grub rescue> promt jelenik meg, akkor a legegyszerűbb egy LiveCD után nyúlni. Én a Systemrescue CD-t használom.
A következő példa egy olyan gépen történtek, ahol a /boot könyvtárnak egy RAID1-et hoztam léte, minden más pedig LVM felett lett tárolva.
Az LVM a következő képen néz ki:
# lvscan
ACTIVE '/dev/filesystem/swap' [3.72 GiB] inherit
ACTIVE '/dev/filesystem/root' [9.31 GiB] inherit
ACTIVE '/dev/filesystem/iscsi' [9.31 GiB] inherit
Tehát a felcsatolások így néznek ki:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/filesystem-root 9.2G 1.9G 6.9G 22% /
/dev/md0 92M 21M 66M 24% /boot
A probléma egyszerű, a gép indulásakor a grub ugyan elindul - tehát a lemezre, amelyikről indul fel van telepítve a Grub2- de a "no such disk" felirat után a grub rescue> promt jelenik meg.
A következőt tettem:
SystemrescueCd-ről elindítottam a rendszert, ez felismeri és kezeli a RAID tömböket és az LVM-et is.
Miután elindult, előfordul, hogy a RAID tömböket nem olyan sorszámmal jelöli, mint az számunkra ismerős. Célszerű a /dev alatt létrehozni a szimbolikus linkeket az általunk ismert nevekre, tehát:
/dev/md126 -> /dev/md0
/dev/md127 -> /dev/md1
/dev/md126 -> /dev/md/0
/dev/md127 -> /dev/md/1
Ez csak példa!
Ha ez megvan, akkor készítsünk egy könyvtárat ahova felcsatolhatjuk a fájlrendszerünket:
#mkdir/tmp/filesystem
#mount /dev/filesystem/root /tmp/filesystem
#mount /dev/md126 /tmp/filesystem/boot
Ezeket elvileg mindenféle probléma nélkül elvégzi.
Ha a következő parancs kimenete ismerős, akkor jó úton járunk:
#ls -la /tmp/filesystem/boot
Annak érdekében, hogy lássa a processzeket és az eszközöket, fel kell csatolni őket -o bind opcióval:
#mount -obind /dev tmp/filesystem/dev
#mount -obind /proc tmp/filesystem/proc
#mount -obind /sys tmp/filesystem/sys
Ha ez is megvan, akkor jöhet a chroot.
Előtte érdemes átváltani bash shellre, mert a systemrescue alapértelmezetten a zsh-t használja.
Tehát:
#bash
#chroot /tmp/filesystem
Érdemes ellenőrizni, hogy jó helyen vagyunk-e:
# ls -la /
Ha igen, akkor jöhet a probléma lényegi megoldása:
Az itt (http://blog.timetombs.org/?tag=grub2) található leírás szerint az initramfs-t újra kell generálni - lehet, hogy ezt kihagyva is működik,
Szóval:
#update-initramfs -u -t
Ennek hiba nélkül végig kell futnia - ha nem ír ki semmit akkor jó, ez szokott panaszkodni, ha a RAID tömbünk a Live CD-vel való indulás miatt nem érhető el azon a helyen, ahol telepítéskor.
Ha ez készen van, akkor jöhet a Grub2:
#grub-install --recheck /dev/md0
Ennek a kulcsa a --recheck, ugyanis ezzel a kapcsolóval vesszük rá a telepítőt, hogy nézze végig az eszközöket és a mostani állapotnak megfelelően telepítse a Grub2-t.
Ha ez is végigmegy és a következőhöz hasonlót ír: Installation complete. No error detected akkor készen is vagyunk, a következő indulásnál el kell indulnia.
A error: superfluous RAID member tartalmú sorokat sajnos egy bug eredményezi, remélhetőleg hamar javítják.