[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bootloader-Details (war: Re: LVM)



Matthias Böttcher - 11.05.18, 18:37:
> Am 11. Mai 2018 um 18:00 schrieb Sven Hartge <sven@svenhartge.de>:
> > Matthias Böttcher <matthias.boettcher@gmail.com> wrote:
> >> meinst du mit der Partition vom Typ "bios_grub" die EFI-Partition,
> >> Typ EF00? Diese existiert, aber keine bios_grub. Ich finde diese
> >> von dir als erforderlich erachtete Partition nicht.
> > 
> > Nein, ich meine EF02. "bios_grub" ist dabei ein zusätzliches Flag.
> > 
> > Die wird nur benötigt, wenn man von einer GPT im
> > CSM/Legacy/BIOS-Kompatibilitätsmodus booten will.
> 
> Sag das doch gleich ;-)
> 
> Diese Partition enthält dann wohl die Entsprechung
> zu /boot/efi/EFI/debian/grubx64.efi?

Irgendwie sind wir längst nicht mehr beim Original-Thema.

Die Partition enthält das aus core.img + Module zusammengebaute boot.img 
blockweise direkt auf die Partition geschrieben + wahrscheinlich davor 
noch irgendeine Signatur oder so. Daher reicht 1 MiB auch locker aus. 
Das dürfte vom Inhalt her ähnlich sein wie grubx64.efi, wobei ich 
vermute, dass GRUB 2 bei EFI einfach alle oder fast Module in die Datei 
packt, was GRUB 2 bei boot.img aus Platzgründen standardmäßig nicht 
macht¹. Ließe sich anhand der Größe der Datei nachprüfen, hab aber 
gerade eben kein UEFI-System im Zugriff. 

Bei MBR schreibt GRUB das zwischen MBR und 1. Partition. Da gab es lange 
Zeit nur einen Platz von ca. 30 KiB, da mit LBA früher die 1. Partition 
bei Sektor 63 (nicht 64, was einen gewissen Sinn gemacht hätte) anfing. 
Seit geraumer Zeit richten Partitionierungswerkzeuge unter Linux jedoch 
an 1 MiB-Grenzen aus. Möglicherweise daher die Empfehlung, die 
bios_grub-Partition 1 MiB groß zu machen.

Da ich irgendwann mal vorhatte, dieses ThinkPad T520 von BIOS + MBR auf 
UEFI + GPT zu migrieren, habe ich sowohl eine EF00 EFI-Partition als 
auch eine EF02 bios_grub-Partition angelegt. Nachdem ich 2x damit 
scheiterte, beim 2. Mal möglicherweise durch einen Bug in der damaligen 
Version von GRUB 2, hab ich das aufgegeben. Mittlerweile tendiert meine 
Motivation, es noch ein 3. Mal zu versuchen, gegen Null, da ich UEFI 
aufgrund der Komplexität mittlerweile eher skeptisch sehe. MBR + BIOS 
ist auch Mist, aber es ist zumindest einfacherer Mist :).


Ja, ich vermisse immer noch das Amiga Rigid Disk Block (RDB)-Format. Das 
hatte auch Schwächen. So ist das Laden von Dateisystem-Treibern, das 
AmigaOS 4.x nicht mehr unterstützt, ein Sicherheitsproblem, so praktisch 
es war, um von Partitionen mit im ROM nicht vorhandenen Dateisystemen zu 
booten. Es ist jedoch MBR haushoch überlegen: Mehr als 4 Partitionen, 
Partitionsnamen bis 30 Zeichen, beim Anlegen in der Größe anpassbar, 
Partitionstyp hatte 4 Bytes (statt nur 1 Byte bei MBR) und vieles 
weitere mehr. Und der RDB musste nicht mal beim 1. Block der Festplatte 
beginnen. Es kommt meines Erachtens durchaus an die Funktionalität von 
GPT ran. Anders als UEFI ist GPT aber nicht so heftig over engineered, 
das passt im Grunde schon. Der Bootloader war bis AmigaOS 3.x komplett 
im ROM, es reichte eine Partition als bootbar zu markieren. Und da gab 
es auch nicht groß etwas, was ich als Anwender kaputt machen konnte. Ab 
AmigaOS 4.x mit slb (Second Level Bootloader) läuft das mittlerweile 
etwas anders. Die schreiben den slb_v2 einfach als "AmigaOS Boot Code" 
in die RDB-Strukturen². Das Format war flexibel genug für sowas. Das 
erstaunliche dabei: Es ist auch schon ziemlich alt.

[1] https://www.gnu.org/software/grub/manual/grub/grub.html#BIOS-installation

[2] http://wiki.amigaos.net/wiki/UserDoc:How_AmigaOS_Works

http://wiki.amigaos.net/wiki/RDB


Ciao,
-- 
Martin



Reply to: