TASTE-OF-IT

Debian – Grub Fehler – invalid arch independent ELF magic

Logo debian

Logo vom Linuxbetriebsystem debian.

System ist ein Debian Wheezy mit Softwareraid 6 für md0 = root und boot, md1=swap und md2 für Daten. Zusätzlich gibt es noch eine 100MB Bios Partition am anfang der Platten. Die Platten sind 6x3TB mit GPT Tabelle. Ich musste 2 Platten von 6 aus dem Raid nehmen, wodurch es degraded aber noch clean und funktionstüchtig ist. Leider wurde nach einem Reboot folgender Fehler angezeigt:

Fehlermeldung

Loading Operating System …
GRUB loading.
Welcome to GRUB!
error: invalid arch independent ELF magic.
Entering rescue mode …
grub rescure>

Der Fehler bedeutet, dass die Version von Grub die durch den MBR + den embeded Teil beim booten nicht mit der Version die in /boot/grub/ gefunden wird, übereinstimt. Entweder ist Grub im MBR der Festplatte installiert und ein EFI wird erwartet oder umgekehrt.

Lösungssuche:

Ein “ls” zeigt folgendes:
(md/0) (md/1) (md/2) (hd0 ) (hd0,gpt4) (hd0,gpt3)….

Die Suche nach dem vmlinuz image auf einem der Partitionen:
search –file /vmlinuz
unknown command ‘search’

Erster Schritt im Bios die Konfiguration überprüfen

– ist alles korrekt eingestellt, Bootreihenfolge, EFI etc.

 Boot von Debian Live-CD oder Installer im Rescue Mode und Grub neuinstallieren

  1. sudo passwd root
  2.  aptitude install mdadm -> alle Raid Devices sollten erkannt werden
  3.  mdadm -D /dev/md0 -> sollte ok sein (clean but degraded bei mir)
  4. fsck.ext4 /dev/md0
    e2fsck 1.42.5 (29-Jul-2012)
    root: clean, 32765/2927520 files, 588237/2927104 blocks
  5. mkdir /mnt/md0
  6.  mount /dev/md0 /mnt/md0
  7. mount -o bind /dev /mnt/md0/dev
  8. mount -o bind /sys /mnt/md0/sys
  9. mount -t proc /proc /mnt/md0/proc
  10. chroot /mnt/md0 /bin/bash -> ruft die alte Umgebung auf -> Kontrolle z.B. über ls /etc/ -> hier sollten dann bekannte Konfigurationen liegen
  11. apt-get –reinstall install grub-common grub-pc grub2-common <- aptitude zeigte hier einen lock Fehler für /var/lock/aptitude
  12. exit –  shell beenden
  13. umount /mnt/md0/{proc, sys,dev}
  14. reboot und hoffen das er normal startet

Leider deutete der Fehler noch vor der Auswahl des Kernels im grafischem Fenster auf ein anderes Problem hin. Also weiter:

Ok hat auch nicht funktioniert, also Grub entfernen und neuinstallieren, was alle Konfigurationsdateien und Dateien entfernt:

 Boot von Debian Live-CD oder Installer im Rescue Mode , Grub deinstallieren und neuinstallieren

  1. sudo passwd root
  2.  aptitude install mdadm -> alle Raid Devices sollten erkannt werden
  3. mdadm -D /dev/md0 -> sollte ok sein (clean but degraded bei mir)
  4. mkdir /mnt/md0
  5. mount /dev/md0 /mnt/md0
  6. mount -o bind /dev /mnt/md0/dev
  7. mount -o bind /sys /mnt/md0/sys
  8. mount -t proc /proc /mnt/md0/proc
  9. chroot /mnt/md0 /bin/bash -> ruft die alte Umgebung auf -> Kontrolle z.B. über ls /etc/ -> hier sollten dann bekannte Konfigurationen liegen
  10. apt-get update
  11. apt-get purge grub-common <- entfernen der alten Konfiguration und Dateien
  12. apt-get install grub-pc grub-common grub-pc-bin grub2-common <- neu installieren
  13. sda sdb sdc sdd <- alle Laufwerke auswählen, nicht den USB Stick mit der LiveCD und auch nicht das Raid auf md0 😉
  14. (… <- erstes Feld leer lassen -> ENTER
  15. quite <- stehen lassen oder entfernen damit beim Boot Infos zu sehen sind -> ENTER )
  16. Installation finnished. No error reported. Generating grub.cfg … Found linux image: /boot/vmlinuz-3.2.0-4-amd64 .. done
  17. exit –  shell beenden
  18. umount /mnt/md0/{proc, sys,dev}
  19. reboot und hoffen das er normal startet

Ok hat auch nicht geklappt. Kurz zur Info. Grub2 installiert sich zum Teil in den Bios Partitionsbereich und in das MD0 Device welches die Bootdateien enthält. Nach weiterem Suchen im Netz bin ich dann auf einen bekannten Fehler im Zusammenhang zwischen Grub2, EFI Bios, LVM, Raid6 und GPT gestoßen. Leider aber auf keine Lösung. D.h. ich komme hier nicht weiter, werde halt die Daten von md2 über die LiveCD kopieren und den Rechner neuaufsetzen. Diesmal jedoch mit einem Raid1 für Root und Boot!

Update: Ich konnte den Bugreport 1298399 für Ubuntu vom 01.04.2014 finden. Dort wird das selbe Problem bestätigt und auch gelöst. Allerdings erst in der Version des Packetes grub 2.02-beta2-8. In Debian Wheezy und Jessie sind die Versionen 1.99-27 und 2.00-22 im Einsatz und ab Sid die 2.02., welche das Problem wohl löst, was ich jedoch nicht nachweislich finden konnte.

Die mobile Version verlassen