Bootsektor: MBR ohne Datenverlust in GPT umwandeln

Thomas Könning thomas at aiki-tux.de
Sa Jan 31 18:31:21 CET 2015


Hallo,  zusammen,

da ich am Montag meine Windows-Partition endgültig beerdigt habe,
habe ich mir überlegt, dass ich gerne statt des MBR einen GPT Bootsektor 
auf meiner Festplatte hätte.
Im Netz habe ich über einen Thread im Arch Forum folgende erklärende 
Seite gefunden:
http://www.rodsbooks.com/gdisk/mbr2gpt.html

Es hat sich herausgestellt, dass das für GPT gedachte 
Partitionierungsprogramm "gdisk" einen MBR in GPT umwandelt,
indem man das entsprechende Device mit gdisk öffnet, und anschließend, 
ohne etwas an der Partitionierung zu ändern,
einfach 'w' für speichern und verlassen eingibt.

Danach hat man dann einen GPT Bootsektor, ohne an den Partitionen etwas 
zu verändern.

Der Haken dabei ist, dass Grub seine Daten unter MBR im Bootsektor 
speichert, wofür aber aufgrund der Datengröße im GPT kein Platz mehr bĺeibt.
Daher benötigt Grub bei einem Bootsektor mit GPT eine eigene, kleine 
Partition.
Im Web ist an verschiedenen Stellen von 1-2 MB die Rede, ich habe dann 3 
MB genommen.
Diese Partition muss dann mit dem Flag (der Markierung) "bios_grub" 
versehen werden.
Diese Markierung lässt sich erst nach der Umwandlung des Bootsektors setzen.

Eine weitere Schwierigkeit ist, dass sich bei meinen Versuchen 
herausgestellt hat,
dass die Grub-Partition scheinbar auf der ersten Partition der 
Festplatte liegen muss.

Was bei mir dazu geführt hat, dass ich Teile meiner alten Installation 
durch erstellen neuer Partitionen mit gparted
und anschließendem kopien der Daten mit "cp -rp" auf die neu erstellte 
Partition überführen musste, damit sich das Device ändert.
Ist die Festplatte dann entsprechend eingerichtet, muss im letzten 
Schritt der Grub der vorhandenen Installation neu installiert werden.

Hierzu wechselt man aus der Session, mit der gparted gestartet wurde (in 
der Regel eine Live-Linux-Version)
in eine chroot-Umgebung, mit der Verzeichnisstruktur der alten 
Installation als /

Ich habe festgestellt, dass sich hier Arch-Derivate sehr gut eignen.
Bei Arch wird ein Skript mitgeliefert, das sich um alle mounts kümmert, 
die für eine funktionierende chroot-Umgebung nötig sind.

Der Aufruf  "arch-chroot '/-Verzeichnis der chroot-Umgebung'" erzeugt 
ohne weitere Schritte eine funktionierende chroot-Umgebung der 
vorhandenen Installation.

Dort kann man dann mit den folgenden zwei Befehlen den Bootloader wieder 
zum Laufen bringen:

grub-install --target=i386-pc --recheck --debug /dev/sdX
grub-mkconfig -o /boot/grub/grub.cfg

Wobei /dev/sdX das Device bezeichnet, auf dem sich die Installation 
befindet.
(Also keine Partition)

Danach sollte Grub2 das Linux wieder booten.

ich hoffe, das war halbwegs verständlich.
Vielleicht kann ja jemand was damit anfangen.

Ich würde allerdings empfehlen, das Verfahren vorher in einer VM zu testen.
Ich meine zwar, alle Schritte genannt zu haben, aber man kann ja nie wissen.

Gruß
Thomas
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lug-owl.de/pipermail/lugrav/attachments/20150131/5dbde6c5/attachment.html>


Mehr Informationen über die Mailingliste Lugrav