Ich habe eine Festplatte mit zwei Partitionen: sda1 und sda2. Ich möchte die Zahl von sda1 zu sda2 und von sda2 zu sda1 ändern.
Es ist möglich, aber ich erinnere mich nicht an die Prozedur. Dh 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 ändere ich die Bestellung? Nützlich sind auch Links zu Handbüchern oder Tutorials.
Vielen Dank.
Der Grund: Ich habe eine Anwendung, die Lesedaten von sda1 benötigt, aber die Daten sind in sda2. Das Ändern der Partitionstabelle ist die schnellere Lösung für dieses Problem. Das System ist nicht kritisch, aber ich möchte das System nicht zu lange anhalten.
Update : Die fdisk-Version von OpenBSD enthält diese Funktionalität.
Antworten:
Zu Ihrer Information, es ist eine schlechte Idee und Sie können alles verlieren. Wenn Sie es dennoch tun möchten, sind hier die Schritte:
Verwenden Sie das
sfdisk
Tool: Erstellen Sie zunächst eine Sicherungskopie der Partitionstabelle mitDann mach es:
Sie werden so etwas sehen
Jetzt werden Sie aufgefordert, die neuen Details für die 'sda1'-Partition anzugeben. Also musst du hier die Nummern von sda2 angeben. Also gebe ich hier '6 1012' ein und drücke die Eingabetaste:
Überprüfen Sie nun , ob die nach dem Drücken der Eingabetaste gedruckten Zahlen exakt mit den zuvor für sda2 gedruckten Zahlen übereinstimmen. Wenn es in Ordnung ist, geben Sie die neuen Zahlen für sda2 ein:
Dieses Mal hat es gereicht, in meinem Fall "0" einzugeben - aber Sie müssen sicherstellen, dass die Zahlen in Ihren Zahlen nicht durcheinander sind.
Fahren Sie anschließend auf die gleiche Weise mit den anderen Partitionen fort. Wenn Sie bereits das Ende der Festplatte erreicht haben, reicht es aus, die Eingabetaste zu drücken. Überprüfen Sie abschließend erneut, ob alle Zahlen in Ordnung sind, und speichern Sie die Partitionstabelle (oder nicht). Wenn Sie etwas durcheinander gebracht haben, lesen Sie
man sfdisk
die Beschreibungen der Optionen '-d', '-O' und '-I'.Beachten Sie außerdem, dass Sie nach Durchführung der verrückten Änderungen möglicherweise die Synchronisierung ausführen müssen, damit die Partitionen erneut gelesen werden, bevor Sie versuchen, sie bereitzustellen.
quelle
testdisk
Paketen in der Softwaredatenbank Ihrer Distribution.Ich habe das auf einfachere Weise gemacht:
Hinterlassen Sie eine Kopie zur Sicherheit
bearbeite jetzt sdb.new und ändere NUR die Zeilenreihenfolge und die Partitionsnummern, wie in meinem Fall:
von
zu
dann werfen Sie es zurück in die Festplattenpartitionstabelle?
Meine Nummerierungssequenz wurde entstellt, nachdem ich die einzige Partition (sdb1) verkleinert und nach rechts verschoben hatte, um zwei kleinere Partitionen am Anfang der Festplatte hinzuzufügen
gparted
.Wenn der letzte Befehl nicht funktioniert, wie in meinem Fall, ändern Sie ihn für:
quelle
Sie müssten die Partitionstabelle des Laufwerks neu schreiben, um die Reihenfolge umzukehren, was etwas riskant ist. Wenn ich Sie wäre, würde ich das Problem beheben, das Sie dazu bringt, die Reihenfolge der Gerätenamen zu vertauschen und die Partitionen in Ruhe zu lassen.
Wenn Sie beispielsweise ein Skript haben, das auf beiden Computern ausgeführt werden muss und auf dasselbe Gerät zugreifen soll, erstellen Sie eine Verknüpfung in einem anderen Verzeichnis (nicht / dev), das auf beiden Servern denselben Namen hat, aber Verknüpfungen zu / enthält. dev / sda1 auf der einen und / dev / sda2 auf der anderen Seite.
Sie können einen beliebigen Partitionseditor (
fdisk
odercfdisk
) verwenden, um die Partitionen zu bearbeiten. Sie müssen jedoch entweder die aktuellen Einstellungen notieren oder ein Foto des Bildschirms aufnehmen. Löschen Sie die beiden Partitionen und erstellen Sie sie manuell, indem Sie alle korrekten Werte angeben. Booten Sie dazu das System mit einer Live-CD.quelle
Zunächst einmal ist das Ganze eine Übung, bei der Sie Ihr Bestes geben, um die Dinge zu brechen, aber hier ist ein anderer Ansatz, den Sie ausprobieren können.
Hinweis: Sie haben nicht erwähnt, woher Sie booten, und diese und keine andere Lösung befasst sich zum Zeitpunkt, als ich dies schreibe, mit dem, was Sie tun müssten, damit LILO oder GRUB ordnungsgemäß funktionieren.
/dev/sda1
und/dev/sda2
sind Blockvorrichtungen (8,1) und (8,2). Sie können versuchen,mknod
die beiden einfach zu tauschen.Denken Sie daran , dass dieser Austausch geschehen wird erst nach Ihrer Partition mit
/dev/
beim Booten geladen wird, so dass dieinitrd
noch die „richtig“ diejenigen haben , wenn Sie es zu beheben auch dort (Übung für den Leser - wirdmkinitrd
? Die Fremdheit kopieren) Dies gilt auch nicht Adress SELinux Kontexte.quelle
/dev/sda
(im Gegensatz zum direkten Lesen der Festplatte).udev
Zeug nicht sicher ; Anscheinend hatte das erste System, in das ichssh
einstieg, es nicht.Ich habe gerade eine überraschend einfache Lösung für dieses Problem gefunden. Angenommen, Sie haben nur noch eine Partition mit dem Namen
/dev/sda3
. Sie möchten, dass es aufgerufen wird/dev/sda1
. Öffnen Siegdisk
die Partitionstabelle, konvertieren Sie sie in GPT, schreiben Sie sie und beenden Sie sie. Öffnen Sie es dann erneut, drücken Sie Sortieren (dadurch wird die GPT-Nummer auf 1 geändert) und konvertieren Sie die GPT über die Expertenoptionen zurück in MBR.quelle
- Bearbeiten der Partitionen / dev / sda3 nach / dev / sda2 im Terminal als root -
Backup-Partitionstabelle
sfdisk -d / dev / sda> sda.bkp
Kopieren Sie die Partitionstabellensicherung in die neue Partitionstabelle
cp sda.bkp sda.new
Bearbeiten Sie die neue Partitionstabelle
gedit sda.new
Speichern, schließen
Installieren Sie die neue Partitionstabelle neu
sfdisk --no-reread -f / dev / sda <sda.new
Computer neu starten
quelle