Rootfs kann nicht geladen werden: Ubuntu 10 + grub2 + rootfs ext4 mit RAID1

Rootfs kann nicht geladen werden: Ubuntu 10 + grub2 + rootfs ext4 mit RAID1

Ich habe Probleme beim Booten einer neuen Ubuntu 10 (Server)-Installation. Meine primäre Festplatte (/dev/sda) ist wie folgt aufgebaut:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          18      144553+  83  Linux                  <-- /BOOT
/dev/sda2              19      182401  1464991447+   5  Extended
/dev/sda5              19        2207    17583111   fd  Linux raid autodetect
/dev/sda6            2208       11934    78132096   fd  Linux raid autodetect  <-- / (ROOTFS)
/dev/sda7           11935      182401  1369276146   fd  Linux raid autodetect

Das Root-Dateisystem ist Teil eines RAID1-Arrays (Software) (derzeit beeinträchtigt):

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sda6[1]
      78132032 blocks [2/1] [_U]

Die UUIDs für die Partitionen sind wie folgt:

# blkid /dev/sda1
/dev/sda1: UUID="b25dd301-41b9-4f4d-9b0a-0e31713dd74c" TYPE="ext2"
# blkid /dev/sda6
/dev/sda6: UUID="af7b9ede-fa53-c0c1-74be-31ec752c5cd5" TYPE="linux_raid_member"
# blkid /dev/md2
/dev/md2: UUID="a0602d42-6855-482f-870c-6f6ecdcdae3f" TYPE="ext4"

Schließlich habe ich meinen Grub2-Menüeintrag wie folgt eingerichtet:

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-25-server' --class ubuntu --class gnu-linux --class gnu --class os {
        insmod ext2
        insmod raid
        insmod mdraid
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set b25dd301-41b9-4f4d-9b0a-0e31713dd74c
        linux   /vmlinuz-2.6.32-25-server root=UUID=a0602d42-6855-482f-870c-6f6ecdcdae3f ro   nosplash noplymouth
        initrd  /initrd.img-2.6.32-25-server
}

Beim Versuch, Grub zu booten, wird es zwar ordnungsgemäß geladen, ich erhalte jedoch letztendlich die folgende Fehlermeldung:

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/a0602d42-6855-482f-870c-6f6ecdcdae3f does not exist.   
Dropping to a shell! 

Wenn ich vom Grub-Bootloader aus eine Grub>-Befehlszeile öffne, kann ich ls (hd0,) eingeben und es werden die richtigen Partitionen mit den UUIDs wie oben gezeigt aufgelistet – sda6 zeigt „a0602d42-6855-482f-870c-6f6ecdcdae3f“ (die RAID-UUID). Wenn ich ls (md2)/ einsetze, werden alle Dateien im RAID1-Dateisystem (ext4) richtig aufgelistet, sodass es kein Problem beim Zugriff auf das RAID-Gerät zu sein scheint.

Hat jemand eine Idee, wo das Problem liegen könnte? Ich komme nicht dahinter.

Antwort1

Ich habe die Antwort schließlich über Google gefunden.

Ich musste den Kernelparameter rootdelay=90zur linux /vmlinuz...Zeile in hinzufügen grub.cfg.
Das System bootet dann ohne Probleme. Es dauert nicht einmal sehr lange (vielleicht 30 Sekunden vom POST bis zur Ubuntu-Anmeldeaufforderung). Es scheint eine wenig bekannte/wenig dokumentierte Problemumgehung für dieses Problem zu geben.

verwandte Informationen