Ich habe eine Festplatte mit zwei Partitionen:sda1 und sda2. Ich möchte die Nummer von sda1 zu sda2 und von sda2 zu sda1 ändern.
Es ist möglich, aber ich erinnere mich nicht an das Verfahren. Das heißt, meine erste Partition ist sda2 und die zweite sda1, also muss ich eine manuelle Reihenfolge angeben, keine automatische Reihenfolge wie in fdisk -> x -> f.
Wie kann ich die Reihenfolge ändern? Links zu Handbüchern oder Tutorials sind ebenfalls willkommen.
Danke.
Der Grund:Ich habe eine Anwendung, die Daten von sda1 lesen muss, aber die Daten sind in sda2. Das Ändern der Partitionstabelle ist die schnellste Lösung für dieses Problem. Das System ist nicht kritisch, aber ich möchte das System nicht zu lange anhalten.
Aktualisieren :Die fdisk-Version von OpenBSD enthält diese Funktionalität.
Akzeptierte Antwort:
FYI, es ist eine schlechte Idee und du kannst alles verlieren. Wenn Sie es trotzdem tun möchten, hier sind die Schritte:
- Nicht Tu es. Wenn dies nicht hilft, dann:
-
Verwenden Sie die
sfdisk
tool:
Erstellen Sie zuerst eine Sicherungskopie der Partitionstabelle mitsfdisk -d /dev/sda > sda.out
Dann los:
sfdisk /dev/sda -O sda-partition-sectors.save
Sie werden so etwas sehen
Checking that no-one is using this disk right now ... OK Disk /dev/sda: 1018 cylinders, 124 heads, 62 sectors/track Old situation: Units = cylinders of 3936256 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sda1 0+ 5 6- 23063+ 83 Linux /dev/sda2 6 1017 1012 3890128 83 Linux /dev/sda3 0 - 0 0 0 Empty /dev/sda4 0 - 0 0 0 Empty Input in the following format; absent fields get a default value. <start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s> Usually you only need to specify <start> and <size> (and perhaps <type>). /dev/sda1 :
Jetzt werden Sie aufgefordert, die neuen Details für die Partition „sda1“ anzugeben. Sie müssen hier also die Nummern von sda2 angeben. Also gebe ich hier ‚6 1012‘ ein und drücke die Eingabetaste:
/dev/sda1 :6 1012
/dev/sda1 6 1017 1012 3890128 83 Linux
/dev/sda2 :
Jetzt überprüfen wenn die nach dem Drücken der Eingabetaste ausgegebenen Zahlen genau sind die gleichen wie die, die zuvor für sda2 gedruckt wurden. Wenn es in Ordnung ist, fahren Sie mit der Angabe der neuen Nummern für sda2 fort:
/dev/sda2 :0
/dev/sda2 0+ 5 6- 23063+ 83 Linux
/dev/sda3 :
Diesmal hat es in meinem Fall gereicht, „0“ einzugeben – aber Sie müssen aufpassen, dass die Zahlen bei Ihnen nicht durcheinander geraten.
Fahren Sie anschließend mit den anderen Partitionen auf die gleiche Weise fort. Wenn Sie bereits das Ende der Diskette erreicht haben, genügt es, die Eingabetaste zu drücken. Überprüfen Sie abschließend noch einmal, ob alle Zahlen in Ordnung sind, und speichern Sie die Partitionstabelle (oder nicht). Wenn Sie etwas vermasselt haben, werfen Sie einen Blick auf man sfdisk
und die Beschreibungen der Optionen „-d“, „-O“ und „-I“.
Beachten Sie auch, dass Sie nach den verrückten Änderungen möglicherweise "sync" ausführen müssen, damit die Partitionen neu gelesen werden, bevor Sie versuchen, sie einzuhängen.