UEFI-Boot-CD erstellen

08/03/2016 - 14:30 von Christoph Pleger | Report spam
Hallo,

bisher benutze ich folgenden Befehl, um aus einem Chroot-Verzeichnis ein
auf BIOS-Systemen per Grub bootbares CD-Image zu erstellen:

genisoimage -R -b boot/grub/i386-pc/eltorito.img -no-emul-boot \
-boot-load-size 4 -boot-info-table -o ../cdrom.iso .

Das eltorito.img stammt von dem ISO-Image grub-rescue-cdrom.iso aus dem
Paket grub-rescue-pc.

Nun würde ich gerne mit einem möglichst àhnlichen Befehl eine Boot-CD für
UEFI-Systeme erstellen, am besten sogar eine CD, die Legacy-BIOS und UEFI
beherrscht und je nach Hardware (mit oder ohne UEFI-Unterstützung) und
Setup-Einstellungen (wird Legacy oder UEFI bevorzugt) des zu bootenden
Rechners die passende Bootmethode auswàhlt. Weiß jemand, ob und wie sowas
funktioniert?

Viele Grüße
Christoph
 

Lesen sie die antworten

#1 Christoph Pleger
09/03/2016 - 16:40 | Warnen spam
Hallo,

ich schrieb:

bisher benutze ich folgenden Befehl, um aus einem Chroot-Verzeichnis ein
auf BIOS-Systemen per Grub bootbares CD-Image zu erstellen:

genisoimage -R -b boot/grub/i386-pc/eltorito.img -no-emul-boot \
-boot-load-size 4 -boot-info-table -o ../cdrom.iso .

Das eltorito.img stammt von dem ISO-Image grub-rescue-cdrom.iso aus dem
Paket grub-rescue-pc.

Nun würde ich gerne mit einem möglichst àhnlichen Befehl eine Boot-CD für
UEFI-Systeme erstellen, am besten sogar eine CD, die Legacy-BIOS und UEFI
beherrscht und je nach Hardware (mit oder ohne UEFI-Unterstützung) und
Setup-Einstellungen (wird Legacy oder UEFI bevorzugt) des zu bootenden
Rechners die passende Bootmethode auswàhlt. Weiß jemand, ob und wie sowas
funktioniert?



Nach ein bisschen Experimentieren beantworte ich mal meine eigene Frage
und beschreibe außerdem genauer, wie meine Konfiguraton aussieht.
Vielleicht kann ja mal noch jemand anderes was damit anfangen.

Es sind nun folgende Grub-Pakete in der Chroot-Umgebung installiert:

grub-common
grub-efi-amd64-bin
grub-pc
grub-pc-bin
grub2
grub2-common

Innerhalb der Chroot-Umgebung habe ich die Verzeichnisse
/usr/lib/grub/i386-pc/ und /usr/lib/grub/x86_64-efi/ nach /boot/grub/
kopiert, es existieren also /boot/grub/i386-pc/ und /boot/grub/x86_64-efi/
.

Wie oben bereits angegeben, benutze ich zum Erzeugen der BIOS-Boot-CD aus
dem ISO-Image grub-rescue-cdrom.iso des Pakets grub-rescue-pc die Datei
eltorito.img, die ich nach ${CHROOT}/boot/grub/i386-pc/ kopiert habe. Da
Debian jessie leider kein entsprechendes Paket grub-rescue-efi-amd64
enthàlt, habe ich ein wenig nachgeforscht und festgestellt, dass es so ein
Paket in Ubuntu mal gab. Daher habe ich mir mal die jessie-Paket-Sourcen
von grub2 vorgenommen und durch einige naheliegende Änderungen die
Erzeugung des Pakets grub-rescue-efi-amd64 hinzugefügt. Aus dem in diesem
Paket enthaltenen grub-rescue-cdrom.iso habe ich dann die Datei efi.img
und das Verzeichnis System nach ${CHROOT}/ kopiert.

Dann habe ich wie folgt ein ISO-Image erzeugt, mit dem tatsàchlich sowohl
der BIOS-Boot als auch der UEFI-Boot funktionieren:

:/dir/${CHROOT}# genisoimage -R -b boot/grub/i386-pc/eltorito.img \
-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot \
-b efi.img -no-emul-boot -o ../image.iso .

Viele Grüße
Christoph

Ähnliche fragen