"gdisk" wird dir am einfachsten helfen. Unter den "Recovery" Optionen nutzt du die Option "h" (Make Hybrid MBR)
Welche maximal drei der insgesamt fünf Datenpartitionen du dort eintragen lässt, bleibt dir überlassen.
Wenn du clever bist, machst du aber ganz was anderes:
1) Du benutzt eine top aktuelle Distribution, die den aktuellen GRUB2 benutzt und nicht "GRUB Legacy" (z.B. Ubuntu 10.10 MavMkt)
2) Du benutzt "gdisk" -> "create a new protective MBR" ( x / n ).
Da du kein Windows benutzt, brauchst du keinerlei MBR-Einträge mehr ausser dem Pflichteintrag 0xEE, der die gesamte HD einnehmen soll. Diese Funktion wird genau das so erstellen. Anderweitige Anleitungen hierzu ignorierst du, sie sind u.U. einfach nur veraltet.
3) Du erzeugst (bevorzugt ganz am Ende der HD) eine weitere GPT-Partition, zB mit gdisk.
Grösse (empfohlen): 2048-4096 Sektoren (1-2 MiB), Typ (in gdisk-eigener Notation): "EF02"
Dies entspricht einem von gpt oder dem FP-DP angezeigten GUID-Typ von "21686148-6449-6E6F-744E-656564454649".
Linux wird diese Partition während der Installation evtl nicht anzeigen, kümmere dich nicht darum. Sie muss weder formatiert noch eingebunden werden.
Später im laufenden Linux-System wird sie als "BIOS Boot Partition" angezeigt werden, sie enthält keinerlei Dateisystem und kann daher nicht gemountet werden. Das ist so beabsichtigt.
4) Du installierst Linux erneut und gibst wieder den MBR der HD als Installationsziel für GRUB an (i.d.R.: "/dev/sda" ).
Diesmal wird GRUB nichts mehr überschreiben, sondern seinen erweiterten Loader stattdessen in diese genau dafür erstellte und reservierte Partition ablegen. Die GPT wird so nicht mehr beschädigt.
Ergebnis 1 bis 5 von 5
- 16.03.2011, 20:34 #1Golden Delicious
Themenstarter
- Registriert
- 03.2011
- Beiträge
- 11
Inkonsistenter MBR und/oder defekter GPT
Beim installieren von Linux habe ich dummerweise GRUB in den MBR geschrieben. Die Folge war das ich nicht mehr in rEFIt kam und das MBP immer zwei Anläufe brauchte um in OS X zu booten. Also beim ersten Bootvorgang brach es nach einer Weile ab und Reboot, dann bootete OS X. Manchmal kam ich noch mit "option" in den hauseigenen Bootmanger.
Dann habe ich mit diskutil die bestehenden Linux-Partionen gelöscht. Jetzt zeigt Diskutil nicht mehr den restlichen Teil der HDD an:
diskutil list
diskutil info /dev/disk0Code:/dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *160.0 GB disk0 1: 0xEE 160.0 GB disk0s1 2: Apple_HFS Apple HD 30.0 GB disk0s2 3: Apple_HFS Data 40.9 GB disk0s3
gpt -r show -l /dev/disk0Code:Device Identifier: disk0 Device Node: /dev/disk0 Part Of Whole: disk0 Device / Media Name: Hitachi HTS545016B9SA02 Media Volume Name: Escaped with Unicode: Mounted: No File System: None Partition Type: FDisk_partition_scheme Bootable: Not bootable Media Type: Generic Protocol: SATA SMART Status: Verified Total Size: 160.0 GB (160041885696 Bytes) (exactly 312581808 512-Byte-Blocks) Volume Free Space: Not Applicable Read-Only Media: No Read-Only Volume: Not applicable (no filesystem) Ejectable: No Whole: Yes Internal: Yes OS 9 Drivers: No Low Level Format: Not Supported
pdisk -l /dev/rdisk0Code:start size index contents 0 1 PMBR 1 1 Pri GPT header 2 32 Pri GPT table 34 6 40 409600 1 GPT part - "EFI System Partition" 409640 58593752 2 GPT part - "Apple HD" 59003392 262144 59265536 79907552 3 GPT part - "Untitled" 139173088 800 139173888 23437312 4 GPT part - "" 162611200 7989248 5 GPT part - "" 170600448 111327232 6 GPT part - "" 281927680 30654095 312581775 32 Sec GPT table 312581807 1 Sec GPT header
gdisk /dev/disk0Code:pdisk: No valid block 1 on '/dev/rdisk0'
print the partition tableCode:GPT fdisk (gdisk) version 0.7.0 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT.
Code:Disk /dev/disk0: 312581808 sectors, 149.1 GiB Logical sector size: 512 bytes Disk identifier (GUID): blah-blah-blah-blah Partition table holds up to 128 entries First usable sector is 34, last usable sector is 312581774 Partitions will be aligned on 8-sector boundaries Total free space is 30917045 sectors (14.7 GiB) Number Start (sector) End (sector) Size Code Name 1 40 409639 200.0 MiB EF00 EFI System Partition 2 409640 59003391 27.9 GiB AF00 Apple HD 3 59265536 139173087 38.1 GiB AF00 Untitled 4 139173888 162611199 11.2 GiB AF00 5 162611200 170600447 3.8 GiB 8200 6 170600448 281927679 53.1 GiB 0700
recovery and transformation options und anschließend print protective MBR data
Partion Inspector gibt aus:Code:Disk size is 312581808 sectors (149.1 GiB) MBR disk identifier: 0x00000000 MBR partitions: Number Boot Start Sector End Sector Status Code 1 1 312581807 primary 0xEE
bless --infoCode:*** Report for internal hard disk *** Current GPT partition table: # Start LBA End LBA Type 1 40 409639 EFI System (FAT) 2 409640 59003391 Mac OS X HFS+ 3 59265536 139173087 Mac OS X HFS+ 4 139173888 162611199 Mac OS X HFS+ 5 162611200 170600447 Linux Swap 6 170600448 281927679 Basic Data Current MBR partition table: # A Start LBA End LBA Type 1 1 312581807 ee EFI Protective MBR contents: Boot Code: GRUB Partition at LBA 40: Boot Code: None (Non-system disk message) File System: FAT32 Listed in GPT as partition 1, type EFI System (FAT) Partition at LBA 409640: Boot Code: None File System: HFS Extended (HFS+) Listed in GPT as partition 2, type Mac OS X HFS+ Partition at LBA 59265536: Boot Code: None File System: HFS Extended (HFS+) Listed in GPT as partition 3, type Mac OS X HFS+ Partition at LBA 139173888: Boot Code: GRUB File System: ext4 Listed in GPT as partition 4, type Mac OS X HFS+ Partition at LBA 162611200: Boot Code: None File System: Unknown Listed in GPT as partition 5, type Linux Swap Partition at LBA 170600448: Boot Code: None File System: ext4 Listed in GPT as partition 6, type Basic Data
Code:Can't determine parent media for /dev/disk0s2
Wie kann ich die Platte wieder in Ordnung bringen? Ich traue mich im Moment nicht mehr neu zu booten. Reicht möglicherweise ein booten von der Install-DVD und dann ein fdisk -u ? Bin gerade völlig ratlos. Danke schonmal im voraus für hoffentlich kompetente Hilfe!
- 17.03.2011, 04:53 #2
- 17.03.2011, 14:27 #3Golden Delicious
Themenstarter
- Registriert
- 03.2011
- Beiträge
- 11
Erstmal vielen Dank für deine Antwort.
Laut gdisk und gpt habe ich einen validen PMBR. Nur warum zeigen bless, diskutil und pdisk dies so nicht an?
Insbesondere diskutil sollte doch GPT-Scheme anzeigen. Und beim Inspector müsste doch bei Boot Code eigentlich "none" drinstehen.? Liegt das daran, dass der Kernel noch die alte Partitionstabelle verwendet und ich erstmal neu booten muss, damit der das auch mitbekommt?
Auf diesen Hybrid-Quatsch würde ich am liebsten komplett verzichten und alles in GPT haben.
Zu der "BIOS Boot Partition" habe ich noch eine Frage: wohin wird dann GRUB2-Stage1 gepackt? In dieser Part. liegt doch dann nur Stage2.? Und kann man GRUB2 nicht auch als EFI-Binary compilen?
EDIT: Ich habe gerade mal versucht die EFI-Partition zu mounten: mount_msdos /dev/disk0s1 /Volumes/efi/
Da scheint auch noch was im Argen zu liegen.Code:mount_msdos: Unsupported sector size (23552)
Geändert von seventyeight (17.03.2011 um 17:52 Uhr)
- 19.03.2011, 11:35 #4
Gerät ausschalten. (Nicht nur neustarten)
Dann sollte das verschwunden sein. Mglws. ist der Eintrag auch so korrupt, dass er regeneriert werden muss.
Falls du die Partition #4 (ca 11 GB) als Linux Rootpartition gedacht hattest (nehme ich mal an), hat sie einfach nur den falschen Typ, sie ist als HFS deklariert. Falls das tatsächlich eine Mac-Partition sein soll, ist sie noch nicht formatiert (oder wurde teilweise überschrieben).Und beim Inspector müsste doch bei Boot Code eigentlich "none" drinstehen.?
Immer in den MBR, anders kann ein BIOS-basiertes OS nicht starten.Zu der "BIOS Boot Partition" habe ich noch eine Frage: wohin wird dann GRUB2-Stage1 gepackt?
In GRUB2 gibt es keine "Stage"-Loader mehr. Aber im Prinzip ja.In dieser Part. liegt doch dann nur Stage2.?
Nur in der Theorie. Praktisch hast du damit entsetzliche Probleme.Und kann man GRUB2 nicht auch als EFI-Binary compilen?
(Der Kernel läuft dann eben auch im EFI Modus, und das bekommt man in Helsinki offenkundig immer noch nicht gebacken.)
MBR-Partition 1 statt GPT-Partition 1 verwendet -> Falscher Einsprungpunkt (Sektor 1 statt 40)EDIT: Ich habe gerade mal versucht die EFI-Partition zu mounten: mount_msdos /dev/disk0s1 /Volumes/efi/
Da scheint auch noch was im Argen zu liegen.Code:mount_msdos: Unsupported sector size (23552)
Nachm Reboot und dem korrekten Erkennen der GPT Tabelle sollte das weg sein.
Tip: EFI-Partitionen müssen von root gemountet werden (oder zumindest muss dieser vorab die KEXT für msdos-Dateisysteme laden).
Ausserdem empfiehlt sich schwer, die Mount-Option "nobrowse" hinzuzufügen um das Volume nicht im Finder erscheinen zu lassen.
Code:sudo mount -t msdos -o nobrowse <devnode> <mntpt>
- 25.03.2011, 11:09 #5Golden Delicious
Themenstarter
- Registriert
- 03.2011
- Beiträge
- 11
Genau so war es auch.
Ich hatte vorher schon ein sudo -s gemacht, deswegen fehlt das sudoMBR-Partition 1 statt GPT-Partition 1 verwendet -> Falscher Einsprungpunkt (Sektor 1 statt 40)
Nachm Reboot und dem korrekten Erkennen der GPT Tabelle sollte das weg sein.
Tip: EFI-Partitionen müssen von root gemountet werden (oder zumindest muss dieser vorab die KEXT für msdos-Dateisysteme laden).
Warum? Verstehe ich nicht. Ist doch egal?Ausserdem empfiehlt sich schwer, die Mount-Option "nobrowse" hinzuzufügen um das Volume nicht im Finder erscheinen zu lassen.
Ich musste noch mal von der Install-Disk booten und ein Volume-Repair durchführen, jetzt ist alles wieder in feinster Butter. Wie auch immer, ich möchte dir für deine Hilfe danken! Hast du noch eventuell eine Leseempfehlung zur Thematik GPT/MBR/Hybrid, außer das von Rod Smith?


Zitieren

