Re: Umstellung auf UEFI

From: Oliver Fromme <oliver(at)fromme.com>
Date: Mon, 5 Nov 2018 13:50:50 +0100 (CET)

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.

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).

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.

> 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.
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
...

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. :-)

Gruß
 — Olli

-- 
Oliver Fromme, München   --   FreeBSD + DragonFly BSD
``We are all but compressed light'' - Albert Einstein
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 - 13:50:56 CET

search this site