Gibt es eine Möglichkeit, sda5 in sda4 umzubenennen?
Ja {und deshalb gibt es unter dieser Frage eine lange Antwort
Ich nehme als Beispiel meinen USB-Stick /dev/sdc. Für Ihren Fall entsprechend modifizieren
Machen Sie sich zunächst mit Ihrem Laufwerk vertraut:{Nur um zu überprüfen, ob Sie das gewünschte Laufwerk verwenden }
sudo fdisk -l /dev/sdc
Disk /dev/sdc: 14.32 GiB, 15376318464 bytes, 30031872 sectors
Disk model: Cruzer Blade
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: 0xba104c33
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 3426303 3424256 1.6G 83 Linux
/dev/sdc2 3426304 12898303 9472000 4.5G 83 Linux
/dev/sdc3 12898304 20127743 7229440 3.4G b W95 FAT32
/dev/sdc4 20127744 27377663 7249920 3.5G 5 Extended
/dev/sdc5 20129792 22233087 2103296 1G 83 Linux
sudo sfdisk -d /dev/sdc
label: dos
label-id: 0xba104c33
device: /dev/sdc
unit: sectors
sector-size: 512
/dev/sdc1 : start= 2048, size= 3424256, type=83
/dev/sdc2 : start= 3426304, size= 9472000, type=83
/dev/sdc3 : start= 12898304, size= 7229440, type=b
/dev/sdc4 : start= 20127744, size= 7249920, type=5
/dev/sdc5 : start= 20129792, size= 2103296, type=83
sudo parted -l /dev/sdc
Model: SanDisk Cruzer Blade (scsi)
Disk /dev/sdc: 15.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1754MB 1753MB primary ext4
2 1754MB 6604MB 4850MB primary btrfs
3 6604MB 10.3GB 3701MB primary fat32
4 10.3GB 14.0GB 3712MB extended
5 10.3GB 11.4GB 1077MB logical ext2
Hinweis
- Stellen Sie sicher, dass alle Partitionen während des Bearbeitungsvorgangs der Partitionstabelle ausgehängt werden.
- Keine Anwendungen greifen auf die Festplatte zu / ändern ihren Inhalt.
Kennen Sie Ihr Arbeitswerkzeug - sfdisk
Aus der Manpage
sfdisk ist ein skriptorientiertes Tool zum Partitionieren beliebiger Blockgeräte.
Möchten Sie mehr Details?
Führen Sie aus:man sfdisk
Probieren Sie das Tool auf dem gewünschten Laufwerk
aussfdisk -d /dev/sdc
Wenn /dev/sdc
ist die Zielfestplatte;
Sichern Sie zuerst die Partitionstabelle sdc.bak
sfdisk -d /dev/sdc > sdc.bak
Holen Sie sich eine Arbeitskopie - sdc.new
cp sdc.bak sdc.new
Machen Sie sich die Hände schmutzig
Öffnen Sie sdc.new
in Ihrem bevorzugten Editor
label: dos
label-id: 0xba104c33
device: /dev/sdc
unit: sectors
sector-size: 512
/dev/sdc1 : start= 2048, size= 3424256, type=83
/dev/sdc2 : start= 3426304, size= 9472000, type=83
/dev/sdc3 : start= 12898304, size= 7229440, type=b
/dev/sdc4 : start= 20127744, size= 7249920, type=5
/dev/sdc5 : start= 20129792, size= 2103296, type=83
Beachten Sie die Partitionsreihenfolge
/dev/sdc1
/dev/sdc2
/dev/sdc3
/dev/sdc4
/dev/sdc5
Jetzt möchte ich, dass die Partitionssequenz so ist
/dev/sdc3
/dev/sdc4
/dev/sdc1
/dev/sdc2
/dev/sdc5
Kurz gesagt, meine erforderlichen Änderungen:
/dev/sdc1 ------------> /dev/sdc3
/dev/sdc2 ------------> /dev/sdc4
/dev/sdc3 ------------> /dev/sdc1
/dev/sdc4 ------------> /dev/sdc2
/dev/sdc5 ------------> /dev/sdc5
Bearbeiten Sie sdc.new
das entsprechend
Hinweis-
- Ändern Sie keine Nummern außer den Partitionsnummern. Ich bin sicher, Sie wissen warum.
sdc.new
label: dos
label-id: 0xba104c33
device: /dev/sdc
unit: sectors
sector-size: 512
/dev/sdc3 : start= 2048, size= 3424256, type=83
/dev/sdc4 : start= 3426304, size= 9472000, type=83
/dev/sdc1 : start= 12898304, size= 7229440, type=b
/dev/sdc2 : start= 20127744, size= 7249920, type=5
/dev/sdc5 : start= 20129792, size= 2103296, type=83
Schreiben Sie die Partitionstabelle zurück
sfdisk /dev/sdc < sdc.new
Beispielausgabe :
Checking that no-one is using this disk right now ... OK
Disk /dev/sdc: 14.32 GiB, 15376318464 bytes, 30031872 sectors
Disk model: Cruzer Blade
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: 0xba104c33
Old situation:
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 3426303 3424256 1.6G 83 Linux
/dev/sdc2 3426304 12898303 9472000 4.5G 83 Linux
/dev/sdc3 12898304 20127743 7229440 3.4G b W95 FAT32
/dev/sdc4 20127744 27377663 7249920 3.5G 5 Extended
/dev/sdc5 20129792 22233087 2103296 1G 83 Linux
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0xba104c33.
/dev/sdc1: Created a new partition 3 of type 'Linux' and of size 1.6 GiB.
Partition #3 contains a ext4 signature.
/dev/sdc4: Created a new partition 4 of type 'Linux' and of size 4.5 GiB.
Partition #4 contains a btrfs signature.
/dev/sdc5: Created a new partition 1 of type 'W95 FAT32' and of size 3.4 GiB.
Partition #1 contains a vfat signature.
/dev/sdc2: Created a new partition 2 of type 'Extended' and of size 3.5 GiB.
/dev/sdc3: Created a new partition 5 of type 'Linux' and of size 1 GiB.
Partition #5 contains a ext2 signature.
/dev/sdc6: Done.
New situation:
Disklabel type: dos
Disk identifier: 0xba104c33
Device Boot Start End Sectors Size Id Type
/dev/sdc1 12898304 20127743 7229440 3.4G b W95 FAT32
/dev/sdc2 20127744 27377663 7249920 3.5G 5 Extended
/dev/sdc3 2048 3426303 3424256 1.6G 83 Linux
/dev/sdc4 3426304 12898303 9472000 4.5G 83 Linux
/dev/sdc5 20129792 22233087 2103296 1G 83 Linux
Partition table entries are not in disk order.
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Zeit für einen Gegencheck
sudo fdisk -l /dev/sdc
Disk /dev/sdc: 14.32 GiB, 15376318464 bytes, 30031872 sectors
Disk model: Cruzer Blade
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: 0xba104c33
Device Boot Start End Sectors Size Id Type
/dev/sdc1 12898304 20127743 7229440 3.4G b W95 FAT32
/dev/sdc2 20127744 27377663 7249920 3.5G 5 Extended
/dev/sdc3 2048 3426303 3424256 1.6G 83 Linux
/dev/sdc4 3426304 12898303 9472000 4.5G 83 Linux
/dev/sdc5 20129792 22233087 2103296 1G 83 Linux
Partition table entries are not in disk order.
sudo parted -l /dev/sdc
Model: SanDisk Cruzer Blade (scsi)
Disk /dev/sdc: 15.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
3 1049kB 1754MB 1753MB primary ext4
4 1754MB 6604MB 4850MB primary btrfs
1 6604MB 10.3GB 3701MB primary fat32
2 10.3GB 14.0GB 3712MB extended
5 10.3GB 11.4GB 1077MB logical ext2
Falls die Dinge durcheinander geraten, Wiederherstellung aus der Backup-Partitionstabelle sdc.bak
-
sfdisk /dev/sdc < sdc.bak
Ich kann bei Teilen davon helfen.
Wenn die Festplatte eine MBR-Partitionstabelle verwendet, muss sie, wie Sie vermutet haben, eine erweiterte Partition verwenden, da der MBR nur vier primäre Partitionen unterstützen kann. Dies ist einer der Gründe, warum GPT-Partitionstabellen bevorzugt werden. Sie haben diese Einschränkung nicht. Sie unterstützen auch größere Partitionen.
Wenn Linux ein Laufwerk betrachtet, weist es jeder Partition, die es auf dem Laufwerk findet, nacheinander Geräte zu. Wenn dieses Laufwerk das erste Laufwerk ist, das es sieht, wird es /dev/sda genannt und die darauf befindlichen Partitionen beginnend mit /dev/sda1 zugewiesen. Sie können diese also nicht umbenennen.
Es empfiehlt sich, sich nicht auf Gerätenamen für genau die Art von Problemen zu verlassen, auf die Sie stoßen. Die meisten Leute verwenden die UUIDs von Partitionen, um auf sie zu verweisen, was eine große Verbesserung darstellt. Ich gehe noch einen Schritt weiter und verwende eindeutige, für Menschen lesbare/aussagekräftige Partitionsbezeichnungen, um auf Partitionen zu verweisen. Wenn Sie mehrere Laufwerke haben, können Sie nicht garantieren, dass sie bei jedem Start in der gleichen Reihenfolge erkannt werden, so dass ein Gerät, das einmal /dev/sdb war, ein anderes Mal /dev/sdc sein könnte. Es wird noch schlimmer, wenn Sie Wechseldatenträger haben, die nicht einmal eine Gerätedatei erhalten, bis sie physisch an das System angeschlossen sind. UUIDs sind unveränderlicher, ändern sich aber auch, wenn Sie die Größe einer Partition ändern oder verschieben. Labels werden nicht geändert, verlassen sich aber darauf, dass Sie sie eindeutig benennen.
Ich weiß nicht, warum /dev/sda4 übersprungen wird - besonders wenn swap bereits /dev/sda2 zugewiesen ist. Ich weiß nicht, wie ich das beheben soll. Wenn Sie sich das neue Laufwerk ansehen, sollte dort "etwas" sein, wo /dev/sda4 sein soll. Vielleicht füllt /dev/sda3 den Rest der Festplatte, aber selbst wenn dies der Fall ist, würde ich denken, dass /dev/sda4 immer noch die erste erweiterte Partition darin wäre. Oder vielleicht das Gegenteil, es füllt nicht den Rest der Festplatte und daher wird /dev/sd4 für den Platz nach der gesamten /dev/sd3 erweiterten Partition reserviert.
Wenn Sie Zugriff auf einen anderen Computer haben, können Sie als mögliche Problemumgehung das neue Laufwerk darauf erstellen, die UUIDs oder Bezeichnungen aller neuen Partitionen abrufen und dann alle Ihre Skripts über sed ausführen, um alle Gerätereferenzen so zu ändern, dass sie UUIDs verwenden oder Etiketten. Sie könnten sogar zu einem GPT-Partitionierungsschema wechseln, wenn Sie möchten.