# UEFI-Partitionsschema

## musv

Guten Morgen, 

Bin grad dabei, mein neues Notebook zu befüllen. Das Ding hat auch UEFI. Es gibt dazu eine Einstellung im BIOS: enable / disable. Der Vorteil wäre, soweit ich das aus diversen Blogs und Wikis und Gentoo-Handbuch entnehmen konnte, dass ich mir den Grub sparen könnte. Speziell geht's mir erst mal um das Partitionsschema und darum, was auf die einzelnen Partitionen draufkommt:

Partitionsschema alt (auf früheren Rechnern)

sda1: GPT-Partition: 1-2 MiB, Dateisystemcode: ef02, Flag: bios_grub

sda2: Label BOOT: Bootpartition: 6 GiB. Darauf lagen: Grub-Dateien, Kernel, ISOs: Knoppix + SysrescueCD, die ich über den Grub starten konnte oder eher wollte (Es fehlte aber noch die endgültige Einrichtung).

sda3: Label ROOT: /

Partitionsschema neu - unklar (UEFI)

sda1: GPT-Partition: 1-2 MiB, Dateisystemcode: ef02, Flag: bios_grub

sda2: EFI-Partition: 100-500 MiB je nach Wiki, Dateisystemcode: Ext2 oder vfat

sda3: Label BOOT: Bootpartition …

Ziel:

Bootloader sparen

Reines UEFI-Boot von GPT. Abwärtskompatibilität wird nicht benötigt, d.h. auch kein Protective MBR.

Nach Möglichkeit auch weiterhin PXE-Boot (Projekt, wenn ich mal zuviel Zeit hab), ISO-Boot (Knoppix, SysrescueCD)

Auswahl des Systems über das Boot-Menü des BIOS (F12 oder so)

Fragen:

Brauch ich die GPT-Bootpartition (sda1) noch?

Wo landet der Kernel? Auf der EFI-Partition (sda2)?

Wo steck ich meine ISO-Live-Linuxe hin, die vorher in der BOOT-Partition steckten? Kommen die auch auf die EFI-Partition oder bleiben die in meiner alten BOOT-Partition? Falls EFI: Kann ich die dann auch 6 GiB groß partitionieren, oder funktioniert dann der UEFI-Boot nicht mehr?

Wie boote ich ein ISO-Image von UEFI aus?

Kann ich statt fat32 auch ext2 verwenden für die EFI-Systempartition? (Windows ist und wird auf dem Rechner definitiv nie (nativ) installiert)

----------

## py-ro

Die BIOS_GRUB Partition brauchst du nicht mehr mit EFI, außerdem würde ich die EFI Partition schlicht als boot verwenden, streng genommen ist die ja genau das.

Auf den protective MBR solltest du nicht verzichten, warum auch, den wegzulassen bringt nur Nachteile und hat keinerlei Vorteil, der Speicher bleibt dann schlicht unbenutzt.

Das mit der Auswahl über das Bootmenü klappt nicht bei jedem Board, musst du ausprobieren.

Ich würde generell als Bootmanager refind empfehlen, das ist deutlich bequemer als die Board Menüs und benötigt quasi keine Konfiguration. Da dieser aber keinen Bootloader enthält, musst Du den Kernel mit den EFI-Stub-Loader bauen.

Für die EFI Partition funktioniert nur FAT (Was eine Dateigrößenbegrenzung hat), mir ist kein Board bekannt was andere Filesystem Treiber hat, obwohl z.B. refind solche mitbringt. Ohne zusätzlichen Bootmanager wirst deine Live ISOs eh nicht starten können, ich weiß aber nicht ob refind das kann.

Bye

Py

----------

## Klaus Meier

Also SystemrescueCD da auf die Boot-Partition zu packen halte ich für keine gute Idee. Da ist doch ein USB-Stick wesentlich besser. In der Größe kosten die doch nichts. Wenn mal mit der Boot-Konfiguration etwas in die Hose geht, dann kannst du ja auch dein Rettungsmedium nicht mehr starten. So als Beispiel, was dich jetzt aber nicht betrifft, du installierst dir Windows. Das räumt den Grub ab. Folge, du musst von einem anderen Medium booten, um den Grub wieder zu installieren. Oder, du willst die Platte komplett umpartitionieren. Das geht zwar auch, wenn man Gparted von der Platte startet, man ist dann aber die Partition, von der man Gparted gestartet hat, nicht bearbeiten.

Und wenn du das so handhabst, dann ist auch die Konfiguration deines Boot-Systems einfacher.

----------

## py-ro

Na ja, das Windows den Grub killt ist mit EFI ein non-issue.

----------

## Klaus Meier

Ich sagte doch, ein Beispiel, welches ihn nicht betrifft  :Rolling Eyes:   :Rolling Eyes:   :Rolling Eyes:   Aber wenn etwas mit dem Bootbereich der Platte in die Hose geht, dann ist Feierabend. Da bringt ein USB-Stick mehr Sicherheit. Und der kostet in der Größe von 512MB? Unbezahlbar, so etwas bekommst du gar nicht mehr, grins...

----------

## musv

Windows wird keiner meiner Rechner jemals nativ sehen. Die sind jetzt schon seit 10 Jahren windows-frei. 

Ich will die Sysrescue-CD auf der Platte haben, wenn ich mal irgendwas am System schrotte und den USB-Stick grad nicht dabei hab oder das Teil grad nicht find. Die Bootpartition kann man nicht so mal nebenbei in irgendein Schrankfach legen.

----------

## schmidicom

Nur so als Idee: Ich meine mal was davon gelesen zu haben das GRUB in der Lage sein soll direkt ein ISO-Abbild zu booten. Und wenn dem so ist müsste es ja eigentlich auch möglich sein die SystemRescueCD als ISO zusammen mit der EFI-Variante von GRUB auf der ESP zu hinterlegen.Last edited by schmidicom on Thu Jun 18, 2015 5:25 am; edited 1 time in total

----------

## firefly

 *schmidicom wrote:*   

> Nur so als Idee: Ich meine mal was davon gelesen zu haben das GRUB in der Lage sein soll direkt ein ISO-Abbild zu booten.

 

Grub, zumindesstens die legacy version (1.x), kann das nicht direkt. Das funktioniert mit grub legacy z.b. nur über memdisk (aus dem syslinux paket)

Beispiel:

 *Quote:*   

> title systemRescue iso
> 
> kernel /boot/memdisk iso
> 
> initrd /iso/systemrescuecd-x86-4.5.2s.iso

 

----------

## musv

Mal 'ne kurze Rückmeldung. 

Ich hatte erst mal auf dem neuen Notebook einen Kernel mit allen möglichen Optimierungen zusammengebastelt und wollte den über UEFI booten. Hat natürlich nicht geklappt, wie das immer so ist, wenn man was zum ersten Mal probiert. 

Also hab ich jetzt einfach 'ne Default-Kernelconfig ([x] Gentoo Linux) genommen, den Netzwerkkartentreiber und noch ein paar andere kleinere Sachen aktiviert und das Ding über Grub booten lassen. Damit konnte ich erst mal das System zu Ende installieren. 

Ich werd dann mal in nächster Zeit Schritt für Schritt versuchen, das Anfangsziel zu erreichen. 

Bei der Sysrescue-CD hab ich 'ne PXE-Bootanleitung gefunden, die ich vermutlich auch für Nicht-PXE verwenden kann. Die Anleitung deswegen, weil darin halt erklärt ist, dass ich im Endeffekt nur 3 Dateien aus dem ISO brauch. Knoppix werd ich vermutlich weglassen.

----------

## Klaus Meier

Mal eine andere Frage zu diesem Thema: Braucht man eigentlich eine /boot-Partition und hat die irgendwelche Vorteile? Gerade in Bezug auf UEFI? Aktuell habe ich kein UEFI, der nächste Rechner steht aber schon vor der Tür. Für BIOS/Grub braucht man ja so etwas schon lange nicht mehr. Das war wohl eher ein Relikt aus der Zeit, als Grub nur ein paar Filesysteme unterstützt hat.

In der Anleitung wird das aber immer erwähnt. Deshalb: Muss es sein und hat es Vorteile?

----------

## schmidicom

Die ESP ist eine "boot"-Partition einfach eine welche nicht mehr vom Bootloader sondern vom UEFI (weil dieses meist leider nur FAT32, ISO9660 und UDF lesen kann) benötigt wird.

EDIT:

Hier mal mein Partitionslabel als Beispiel:

```
Modell: ATA INTEL SSDSC2BW24 (scsi)

Festplatte  /dev/sda:  240GB

Sektorgröße (logisch/physisch): 512B/512B

Partitionstabelle: gpt

Disk-Flags: 

Nummer  Anfang  Ende   Größe   Dateisystem     Name    Flags

 1      1049kB  250MB  249MB   fat32           esp     boot, esp

 2      250MB   237GB  237GB   btrfs           gentoo

 3      237GB   240GB  3146MB  linux-swap(v1)  swap
```

Last edited by schmidicom on Thu Jun 18, 2015 6:27 am; edited 1 time in total

----------

## Klaus Meier

Ok, das war mir soweit klar. Aber wenn ich die Installationsanleitung richtig im Kopf habe, sollte man zusätzlich noch eine Partition /boot anlegen. Wenn ich mich da getäuscht haben soll, dann ist alles erledigt.

----------

## musv

Eine separate Bootpartition brauchst du nicht mehr. Sinn bei mir waren halt die Live-Linux-ISOs und memtest, was ich darauf abgelegt hab. Hat man mal die Rootpartition soweit zerschossen, dass die nicht mehr gebaut werden kann, hast du immer noch die Systeme auf der Boot-Partition zur Verfügung. 

Aber generell brauchst du die Boot-Partition nicht mehr. Vor allem kann auch grub problemlos von btrfs booten. Das war früher ja auch ein Argument, dass Grub nicht jedes Dateisystem (z.B. Reiser4) von Haus aus unterstützen konnte. 

Bei UEFI brauchst du 'ne FAT32-Partition, wie schmidicom schon geschrieben hat. Und für GPT brauchst du eine Partition von 1-2 MiB, wenn du von der Platte booten willst.

----------

## py-ro

Die kleine Partition brauchst bei GPT aber nur, wenn Du per BIOS bootest statt UEFI.

Bye

Py

----------

## musv

Ist auch korrekt. Wie ich oben geschrieben hab, wollte ich ja UEFI-only. 

Aber das war wohl etwas voreilig gedacht. Ich hab's gestern zum ersten Mal geschafft, per UEFI zu booten. Bei den ersten Versuchen hatte ich irgendwas an der Kernelkonfiguration verhauen. Der Rechner bootete, aber die Konsole blieb schwarz, und ich konnte weder was eingeben noch über SSH irgendwie auf das System kommen. 

Mein Notebook kann beides. Die BIOS-Boot-Variante werde ich aber als Fallback beibehalten.

----------

## Klaus Meier

Hast du den Kernel an UEFI angepasst. Da brauchst du ein paar Punkte mehr. Sollte in der Installationsanleitung beschrieben sein. Das Wiki zu Systemd geht darauf auch ganz geziehlt ein. Systemd musst du ja nicht nutzen.

----------

## musv

Ja, hatte ich alles angepasst nach Wiki. Aber auf einem neuen Rechner geht bei mir der erste Kernel meist etwas schief, wenn alles "from scratch" macht. Hab dann erstmal die "[x] Gentoo Linux"-Option aktiviert. Damit bekam ich zumindest einen lauffähigen Kernel. 

Gestern hab ich dann rausgefunden, dass der Kernel abgeschmiert war, als er das x86_pkg_temp_thermal-Modul geladen hat. Das scheint sich mit meinem Rechner nicht mehr zu vertragen, seit ich die "Processor type and features"-Sektion angepasst hatte. 

Systemd verwende ich jetzt schon seit 3 Jahren. Mittlerweile sind für die meisten Pakete brauchbare Units vorhanden.

----------

## schmidicom

Nur so aus neugier welchen Wikieintrag meinst du?

Falls es der "EFI stub kernel" ist würde ich vom verwenden von "Built-in kernel command line" abraten und stattdessen mit dem efibootmgr einen entsprechenden Eintrag erstellen.

```
echo 'root=/dev/sdX quiet' | iconv -f ascii -t ucs2 | efibootmgr --create --disk /dev/sda --part 1 --label "Gentoo Linux" --loader '\efi\gentoo\kernel.efi' --append-binary-args -
```

----------

