So legen Sie die Partitionsnummer auf der GPT-Festplatte fest (/dev/sdaX)

So legen Sie die Partitionsnummer auf der GPT-Festplatte fest (/dev/sdaX)

Ich habe Gparted verwendet, um EFI-Partitionen (/dev/sda1) und Ubuntu-Partitionen (/dev/sda2) auf meinem sekundären Laufwerk zu löschen. Die dritte Partition (/dev/sda3) ist für Daten, daher habe ich ihre Größe geändert, um den gesamten nicht zugewiesenen Speicherplatz zu nutzen, den ich durch Löschen der ersten beiden Partitionen erhalten habe. Da ich jetzt nur noch eine eindeutige Partition auf der Festplatte habe, möchte ich ihre Nummer ändern, um /dev/sda1 zu erhalten. Was ist der einfachste Weg, dies zu tun, der mit einer Festplatte mit GPT-Partitionstabelle funktioniert? Vielen Dank!

Antwort1

Sie können gdiskdie Partitionstabelle folgendermaßen neu schreiben:

sudo gdisk /dev/sda
p (der p-Befehl druckt die aktuelle Partitionstabelle auf dem Bildschirm)
s (der s-Befehl sortiert die Partitionstabelleneinträge)
p (verwenden Sie den p-Befehl erneut, um das Ergebnis auf Ihrem Bildschirm anzuzeigen)
w (schreibe die geänderte Partitionstabelle auf die Festplatte)
q (gdisk beenden)

Die nützlichsten Informationen finden Sie gdiskunterhttp://www.rodsbooks.com/gdisk/

Antwort2

Fasziniert von dem letzten Link und begierig darauf, etwas Neues zu lernen, habe ich Generosos Partitionssituation auf meinem System mit einem 32 GB USB-Laufwerk nachgespielt. Nachfolgend sind meine Ergebnisse aufgeführt, aber zuerst meins:

Fazit: Da mein Beispiel auf eine (letzte) Partition abzielt, habe ich gegen Ende nur ihren Namen geändert. Die eigentlichen Sektoren habe ich nicht berührt. Im Link in meinem Kommentar oben wird ein Beispiel gezeigt, bei dem die Sektornummern verschoben werden. Ich habe das befolgt und dabei kläglich vermasselt und die USB-Festplatte zerstört, was beweist, wie gefährlich es wirklich ist, mit Partitionen herumzuspielen!!
Vielleicht funktioniert mein Szenario auch mit mehreren Partitionen, probieren Sie es ruhig selbst aus. Ich fordere Sie auf, dafür Ihre primäre Partition zu verwenden... haha.
Ok, hier sind meine:

Ergebnisse: Mit Gparted habe ich 3 Partitionen mit jeweils 1 GB erstellt.

# fdisk -l /dev/sdc
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf33657fc

Device     Boot   Start     End Sectors Size Id Type
/dev/sdc1          2048 2099199 2097152   1G 83 Linux
/dev/sdc2       2099200 4196351 2097152   1G 83 Linux
/dev/sdc3       4196352 6293503 2097152   1G 83 Linux

Verwenden von Datenträgern zum Mounten von Partition 3.
Manuell eine Datei darauf platziert.

# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root    16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt

Verwenden Sie Disks, um Partition 3 auszuhängen.
Verwenden Sie Gparted, um die Partitionen 1 und 2 zu entfernen und Partition 3 zu vergrößern, um die ganze Festplatte zu verwenden.

# fdisk -l /dev/sdc
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf33657fc

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc3        8192 62844671 62836480  30G 83 Linux

Verwenden Sie Datenträger, um Partition 3 zu mounten.
Überprüfen Sie die Datei auf Partition 3.

# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root    16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt

Partition 3 mithilfe von Datenträgern aushängen.
Partitionstabelle vom Laufwerk kopieren.
Partitionstabelle anzeigen.

# sfdisk -d /dev/sdc > sdc.tab
# cat sdc.tab
label: dos
label-id: 0xf33657fc
device: /dev/sdc
unit: sectors

/dev/sdc3 : start=        8192, size=    62836480, type=83

vi sdc.tabÄndern Sie sdc3 in sdc1. Wenden
Sie die geänderte Partitionstabelle an.

# sfdisk --no-reread -f /dev/sdc < sdc.tab
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf33657fc

Old situation:

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc3        8192 62844671 62836480  30G 83 Linux

>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0xf33657fc.
Created a new partition 1 of type 'Linux' and of size 30 GiB.
/dev/sdc2: 
New situation:

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc1        8192 62844671 62836480  30G 83 Linux

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Sobald der Befehl abgeschlossen ist, wird Partition 1 automatisch gemountet.
Überprüfen Sie die Datei.

# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root    16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt

Partition 1 mithilfe von Datenträgern aushängen.
Fertig.

PS. Das habe ich cat SomeFile.txtjedes Mal gemacht, aber ich hielt es für unnötig, diese Ausgabe einzuschließen.

Antwort3

Sie sollten die Größe von /dev/sda1 so geändert haben, dass es größer als /dev/sda3 ist. Kopieren Sie dann sda3 über sda1. Überprüfen Sie die Datei sda1 und entfernen Sie sda3, wenn keine Probleme auftreten. Ändern Sie die Größe von sda1 entsprechend.

verwandte Informationen