Re: Umstellung auf UEFI

From: Marc Santhoff <M.Santhoff(at)web.de>
Date: Mon, 05 Nov 2018 14:23:38 +0100

On Mon, 2018-11-05 at 13:50 +0100, Oliver Fromme wrote:
> Marc Santhoff wrote:
> > On Fri, 2018-11-02 at 10:12 +0100, Oliver Fromme wrote:
> > > Eine recht brauchbare Übersicht findest Du hier:
> > > http://www.wonkity.com/~wblock/docs/html/disksetup.html
> > > Es gibt auch eine Wiki-Seite:
> > > https://wiki.freebsd.org/UEFI
> > > Beide sind nicht ganz aktuell, aber die wesentlichen Sachen
> > > sind noch gültig.
> >
> > 1. Name des boot loaders
> >
> > In der Anleitung auf wonkity.com steht ein andere Name für den Lader auf der
> > CSM als im Wiki. Aus den Namen für die Verzeichnisse und der Aussage, man
> > könne eine Umgebungsvariable dafür setzen, schließe ich, daß der schon exakt
> > sein muß.
> >
> > Also, muß es
> >
> > # cp /boot/loader.efi /mnt/EFI/BOOT/BOOTX64.efi
> >
> > oder
> >
> > # cp /boot/boot1.efi /mnt/EFI/BOOT/
> >
> > heißen?
>
> Ersteres: /EFI/BOOT/BOOTX64.EFI ist der Standard-Name des
> sogenannten Fallback-Bootloaders. Du kannst auch einfach
> mit dd(1) das Image /boot/boot1.efifat auf die ESP bügeln.
> Das ist ein fertiges FAT-Image, das boot1 unter dem Namen
> /EFI/BOOT/BOOTX64.EFI enthält.

OK

> Hier noch ein bisschen Hintergrundinfo, die Du für den Anfang
> nicht unbedingt brauchst: ;-)
>
> Normalerweise ist es so gedacht, dass unter /EFI für jedes
> Betriebssystem ein Unterverzeichnis angelegt wird, in dem
> sich der/die zugehörigen Bootloader (und ggf. weitere Dateien)
> befinden. Man könnte z.B. folgende Struktur haben:
>
> /EFI/MICROSOFT/...
> /EFI/UBUNTU/...
> /EFI/FREEBSD/...
>
> Der Haken an der Sache ist, dass die ganzen Loader mit Hilfe
> von UEFI-Variablen registriert werden müssen. Unter FreeBSD
> geht das z.B. so:
>
> efibootmgr -c -d /dev/ada0 -p 1 -l /EFI/FREEBSD/BOOTX64.EFI -L "Mein
> FreeBSD"
> efibootmgr -a 0002
>
> Siehe die Manpage efibootmgr(8).

Die kannte ich noch überhaupt nicht. Dokumentation ist momentan nicht so
aktuell, zumindest im "handbook" war ich nicht wirklich fündig geworden. Das
ändert sich sicherlich noch.

> Wenn das UEFI-BIOS keinen gültigen Boot-Eintrag hat, dann
> sucht es nach dem Fallback-Bootloader, und der hat den
> Namen /EFI/BOOT/BOOTX64.EFI. Das erleichtert den ganzen
> Setup etwas. Ein Nachteil davon ist, dass man dann keine
> Dual-Boot-Konfiguration machen kann, da Windows dort sein
> eigenes Zeug draufschreibt.
>
> > 2. Auf wonkity wird erst eine Partition vom Typ "freebsd-boot" erstellt, und
> > zwar mit 512k Größe (p1) und dann eine zweite vom Typ "efi" mit 492k Größe
> > (p2).
> >
> > Dann wird p2 mit einem MSDOS-Dateisystem versehen. Im Wiki steht es wieder
> > andersherum, da kommt die "efi" CFS zuerst, dann "freeebsd-ufs".
> >
> > Ist die Reihenfolge wichtig oder kann die nach Laune wählen?
>
> Da ist ihm vielleicht ein Tippfehler unterlaufen, dass er p1
> und p2 verwechselt hat. Aber die Reihenfolge spielt keine Rolle.
> Üblich ist, dass die ESP zuerst kommt, aber notwendig ist das
> nicht.

OK

> > Und muß die Freebsd-Partition den Typ "freebsd-boot" oder "freebsd-ufs"
> haben?
> >
> > Wird jedenfalls UFS, kein ZFS.
>
> Die "freebsd-boot"-Partition brauchst Du nicht. Das war nur
> eine Kompatibilitätskrücke für Systeme, die noch kein GPT
> kannten und nur per MBR booten konnten. Kannst Du weglassen.

Aha, wichtig!

> Du kannst also die Platte wie gewohnt partitionieren und
> als Partitionstyp "freebsd-ufs" verwenden. Das root-Filesystem,
> auf dem sich /boot und der Kernel befinden, sollte auf der
> ersten UFS-Partition liegen. Ein mögliches Layout wäre also:
>
> p1 efi EFI
> p2 ufs /
> p3 swap SWAP
> p4 ufs /var
> p5 ufs /usr
> ...

Das sieht dann wenigestens schön stromlinienförmig aus, fein. :)

> Tatsächlich kann man eine nicht-UEFI GPT-Platte, die eine
> "freebsd-boot"-Partition hat, für UEFI fit machen, indem man
> diese Partition für die ESP zweckentfremdet (d.h. Partitionstyp
> ändern, mit FAT16 formatieren und geeignet befüllen). Das hat
> den Vorteil, dass man nicht umpartitionieren muss. Einziger
> Nachteil: Man kann die Platte dann nicht mehr in einer Kiste
> booten, bei der das BIOS kein GPT kennt.
>
> Ich hoffe, ich habe jetzt nicht mehr Fragen aufgeworfen als
> beantwortet. :-)

Im Gegenteil, ich weiß jetzt nicht nur wie sondern auch warum, vielen Dank
dafür.

LG,
Marc

> Gruß
> — Olli
>
>

-- 
Marc Santhoff <M.Santhoff(at)web.de>
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 05 Nov 2018 - 14:24:17 CET

search this site