skweez.net

Alles skweez?

20.09.2011

Ergänzung: Grub 2 in GPT/BIOS-Systemen

von mks.

Dieser Artikel ist eine kurze Ergänzung zu meinem Artikel über GUID-Partitionstabellen auf BIOS-Systemen.

Ich habe festgestellt, dass die Unterstützung für extlinux unter Ubuntu (10.04 „Lucid“) eher … naja … mau ist. Wenn man auf einem so installierten System stattdessen Grub benutzen will, benötigt man eine kleine Partition, z.B. von einem MB Größe, mit dem Partitionstyp EF02 („BIOS-Boot-Partition“).

Hintergrund: Da Grub zu groß ist, um komplett in den Boot-Sektor zu passen, ist er in einen Stage 1 und einen Stage 2-Loader aufgeteilt. Der Stage 2-Loader wird normalerweise in einen kleinen freien Bereich zwischen Master Boot Record und erster Partition geschrieben. Da es diesen Bereich aber auf einem GPT-System nicht gibt, quittiert Grub den Versuch einer Installation mit der Warnmeldung:

Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.

Hat man die o.g. extra Partition angelegt, kann man Grub wie gewohnt mit grub-install installieren.

9 Kommentare:

20.09.2011
21:45

Antworten

daniel

Ich hab meine Platte mit gparted formatiert, der lässt vor der ersten Partition automatisch einen Megabyte frei, damit ist das gar nicht nötig.

Besonders für SSDs würde ich gparted empfehlen, da die Partition automatisch an einer 1MB Grenze ausgerichtet werden und man so das Alignment nicht kaputt machen kann…

20.09.2011
23:10

Antworten

daniel

Ja, das ist mir schon klar ;-)

gparted kann seit einiger Zeit auch mit GPT umgehen, dazu muss man auf Device -> Set Disklabel gehen und dann Advanced anklicken und gpt im Dropdown-Menü auswählen. Der Rest ist dann völlig gleich…

21.09.2011
11:17

Antworten

mks

Alex, vielen Dank für den Hinweis auf das Handbuch.

Es wäre schon möglich, dass Grub auch auf GPT-Platten einen evtl. vorhandenen Bereich vor der ersten Partition erkennt. Sicher weiß ich das aber nicht.

Allerdings sagt das Handbuch auch deutlich, warum die Lösung mit dem MBR-Gap eigtl. noch nie wirklich gut war. Die Variante mit eigener Partition scheint mir derzeit die sauberste zu sein.

PS: Bei uns muss man keine Fake-E-Mail-Adressen angeben, man kann das Feld einfach leer lassen und sogar ganz anonym kommentieren. :-)

06.08.2012
12:45

Antworten

ralle

Hallo Freunde,

sorry, dass ich nach gut einem Jahr dieses Thema erneut erwärme, aber ich habe hier und da noch einige Unklarheiten zu der GRUB(2)-Thematik.

Etwas Historie wenn ihr erlaubt! Stark eingedampft,ich hoffe ich vergesse nichts Wichtiges…

Ich habe meinem T400 vor einigen Tage eine SSD und 8GB RAM spendiert und habe mich entschlossen das System neu aufzusetzen. Folgendes hatte ich vor: 1 Platte, kein Dual-Boot, nur Linux ext4, kein SWAP, GPT-Partinionierung.

Was ich mittlerweile herausgelesen habe ist, dass man für GRUB und BIOS eine separate Partition (dateisystemlos) mit Flag EF02 anlegen sollte. Soweit so gut. Bitte beachtet folgenden Link: https://wiki.archlinux.org/index.php/GRUB2#Install_grub-bios_boot_files . Hier werden bei der ersten “recommendeten” Aktion 4 Schritte erläutert. Diese werden aber bei der offiziellen Arch-Installationsanleitung via pacstrap nicht erwähnt! https://wiki.archlinux.org/index.php/Installation_Guide#GRUB . Ich habe schlussendlich diese Schritte nicht gemacht und es scheint alles zu funktionieren. Da ich aber an der Stelle eher Perfektionist bin und ausserdem nicht dumm sterben will, brennt mir des Rätsels Lösung unter den Fingernägeln. Sind diese Schritte nur nice-to-have, kommen die nur beim Upgrade von GRUB-legacy zum Tragen??? Beachtet bitte zusätzlich meine Diskussion, die ich im Arch Forum losgetreten habe und die bisher, naja, nicht wirklich hilfreich war: https://bbs.archlinux.org/viewtopic.php?id=146428 .

Sorry für diese wissenschaftliche Abhandlung. Hoffe trotzdem auf euer Feedback!

VG
Ralle

Etwas dazu sagen: