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.