Wo ist die GUID-Partitionstabelle auf einem Gerät gespeichert?


7

Ein Freund von mir hat mit meinem USB-Stick eine neue Version von OS X auf seinem Mac installiert. Nachdem ich es zurückbekommen hatte, wollte ich es löschen (ich benutze selbst Linux). Ich habe jedoch ein bisschen Probleme damit. Als erstes habe ich eine Fedora LiveCD geschrieben, mit dd:

# dd if=Fedora.iso of=/dev/sdb

Ich dachte, dies würde die Partitionstabelle überschreiben, die sich am Anfang des Geräts befindet, und folglich die Partitionen löschen, die das OS X-Installationsprogramm erstellt hat. Ich habe mich jedoch geirrt, die Partitionen waren noch da. Also habe ich nach GUID-Partitionstabellen gesucht und festgestellt, dass sie nicht nur am Anfang des Geräts, sondern auch am Ende Header hinzufügen. So tat ich:

$ sudo dd if=/dev/zero of=/dev/sdb
dd: writing to `/dev/sdb': No space left on device
15687681+0 records in
15687680+0 records out
8032092160 bytes (8.0 GB) copied, 1354.82 s, 5.9 MB/s

Danach entfernte ich den USB-Stick vom Computer und steckte ihn wieder ein. Wenn ich blkidjetzt laufe, werden keine Partitionen auf dem Gerät ausgegeben. Nach dem erneuten Schreiben des Fedora-Images sind die OS X-Partitionen jedoch wieder verfügbar:

$ sudo blkid
/dev/sdb1: LABEL="Fedora-17-x86_64-Live-Desktop.is" TYPE="iso9660" 
/dev/sdb2: SEC_TYPE="msdos" LABEL="EFI" UUID="B368-CE08" TYPE="vfat" 
/dev/sdb3: UUID="f92ff3eb-0250-303f-8030-7d063e302ccf" LABEL="Fedora 17" TYPE="hfsplus"

Ich vermute, dass dies etwas mit dem Protective MBR- Bit auf der Wikipedia-Seite oben zu tun hat . Wie kann ich es loswerden?

Aktualisieren

Ich habe letztendlich parteddas GPT von dort ausgeführt und gelöscht. Ich wurde mit Warnungen über ein beschädigtes GPT gespuckt (wahrscheinlich vom Nullstellen), aber diese "Signaturen" waren da.

Also habe ich letztendlich meinen USB-Stick wiederhergestellt, aber es wäre trotzdem schön, wenn jemand etwas Licht ins Dunkel bringen könnte, was genau passiert ist. Wo wurden diese Signaturen gespeichert?


2
Der Protecive MBR ist einfach ein normaler MBR, der für das BIOS-basierte Booten eingerichtet wurde. Das dd if=/dev/zerohätte es überschreiben sollen (und alles andere). Haben Sie den Status des USB-Sticks nach dem ddEntfernen vom Computer überprüft ?
StarNamer

@StarNamer was meinst du mit check the state? Um sicher zu gehen, rannte ich los syncund stellte sicher, dass das kleine blaue Licht auf dem Stick nicht blinkte (ich wartete ~ 20 Sekunden).
Felix

1
blkidverwendet eine Cache-Datei /etc/blkid.tab. Möglicherweise wurden zwischengespeicherte Werte angezeigt. Um ein erneutes Lesen zu erzwingen, sollten Sie verwenden sudo blkid -c /dev/null.
StarNamer

Übrigens hätte ich den Status des USB-Sticks mit sudo sfdisk -d /dev/sdboder ähnlichem überprüft , um die tatsächliche Partitionstabelle auf dem Gerät zu lesen.
StarNamer

Ich glaube nicht, dass die Cache-Datei das Problem gewesen sein könnte: Die zusätzlichen Partitionen wurden angezeigt, nachdem der USB-Stick abgezogen und eingesteckt wurde. Nachdem ich den Stick wieder angeschlossen hatte, habe ich ihn verwendet fdiskund er zeigte auch die zusätzlichen Partitionen an.
Felix

Antworten:


1

Die Antwort gefunden: Fedora ISO enthält eine GUID-Partitionstabelle mit einem Partitionslayout, das dem von OS X sehr ähnlich ist. Aus diesem Grund habe ich die von erstellten Partitionen verwirrt

dd if=Fedora.iso of=/dev/sdb

mit denen, die vom OS X-Installationsprogramm erstellt wurden. Die Verwirrung wurde durch die Tatsache verstärkt, dass eine der Partitionen über ein HFS + -Dateisystem verfügt , das für OS X spezifisch ist. Noch merkwürdiger ist die Tatsache, dass das Ausführen partednach dem Schreiben der ISO auf den Stick Folgendes ergibt:

$ sudo parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Warning: /dev/sdb contains GPT signatures, indicating that it has a GPT table.  However, it does not have a valid fake msdos partition table, as it should.  Perhaps it was corrupted --
possibly by a program that doesn't understand GPT partition tables.  Or perhaps you deleted the GPT table, and are now using an msdos partition table.  Is this a GPT partition table?
Yes/No?

Der Punkt ist jedenfalls, dass die Partitionen nach dem Nullstellen des gesamten Geräts nicht auf magische Weise wiederhergestellt wurden, sondern beim ddErstellen der ISO erstellt wurden.


Ich habe Ihre Frage bekommen, aber ich habe nicht verstanden, warum Ihre Antwort passt. ZB "Partitionen wurden nach dem Nullstellen des gesamten Geräts nicht auf magische Weise wiederhergestellt" ist wahrscheinlich falsch. Haben Sie versucht dd if=/dev/sdb of=sdb.img bs=4k count=10; hexdump -Cv sdb.imgzu überprüfen, ob GPT nach dem Nullstellen des Geräts vorhanden war?
m-ric

@ m-ric nein, aber es hätte auf keinen Fall sein können. Die Partitionen des OS X-Installationsprogramms stimmten genau mit denen des Fedora-Installationsprogramms überein, weshalb ich verwirrt war und dachte, die Partitionen würden irgendwie zurückkehren. Jetzt, wo ich verstanden habe, woher sie kommen, fühle ich mich irgendwie dumm, weil ich dachte "sie kommen zurück" überhaupt :).
Felix
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.