Existe-t-il un moyen de renommer le sda5 en sda4 ?
Oui {et c'est pourquoi une longue réponse sous cette question existe
Je prends ma clé USB /dev/sdc comme exemple. Modifiez pour votre cas en conséquence
Connaissez d'abord votre lecteur :{Juste pour vérifier que vous utilisez le disque souhaité }
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
Remarque
- Assurez-vous que toutes les partitions sont démontées pendant le processus de modification de la table de partition.
- Aucune application accédant au disque/modifiant son contenu.
Connaissez votre outil de travail - sfdisk
De la page de manuel
sfdisk est un outil orienté script pour partitionner n'importe quel périphérique bloc.
Vous voulez plus de détails ??
Exécuter :man sfdisk
Essayez l'outil sur le lecteur souhaité
sfdisk -d /dev/sdc
Si /dev/sdc
est le disque cible;
Sauvegardez d'abord la table de partition sdc.bak
sfdisk -d /dev/sdc > sdc.bak
Procurez-vous une copie de travail - sdc.new
cp sdc.bak sdc.new
Mettez vos mains dans le cambouis
Ouvrez sdc.new
dans votre éditeur préféré
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
Notez la séquence de partition
/dev/sdc1
/dev/sdc2
/dev/sdc3
/dev/sdc4
/dev/sdc5
Maintenant, je veux que la séquence de partition soit comme ça
/dev/sdc3
/dev/sdc4
/dev/sdc1
/dev/sdc2
/dev/sdc5
Bref mes modifications demandées :
/dev/sdc1 ------------> /dev/sdc3
/dev/sdc2 ------------> /dev/sdc4
/dev/sdc3 ------------> /dev/sdc1
/dev/sdc4 ------------> /dev/sdc2
/dev/sdc5 ------------> /dev/sdc5
Modifier sdc.new
en conséquence
Remarque-
- Ne modifiez aucun numéro à l'exception des numéros de partition. Je suis sûr que vous savez pourquoi.
sdc.nouveau
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
Réécrire la table de partition
sfdisk /dev/sdc < sdc.new
Exemple de sortie :
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.
Il est temps de contre-vérifier
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
Au cas où les choses se gâteraient, restaurez à partir de la table de partition de sauvegarde sdc.bak
-
sfdisk /dev/sdc < sdc.bak
Je peux vous aider avec certaines parties de ceci.
Si le disque utilise une table de partition MBR, il doit utiliser une partition étendue comme vous le soupçonniez car le MBR ne peut prendre en charge que quatre partitions principales. C'est l'une des raisons pour lesquelles les tables de partition GPT sont privilégiées. Ils n'ont pas cette limitation. Ils prennent également en charge des partitions plus grandes.
Lorsque Linux examine un lecteur de disque, il attribue des périphériques à chaque partition qu'il trouve séquentiellement sur le lecteur. Si ce disque est le premier disque qu'il voit, il l'appellera /dev/sda et les partitions qu'il contient seront assignées en commençant par /dev/sda1. Vous ne pouvez donc pas les renommer.
Il est recommandé de ne pas se fier aux noms de périphériques pour exactement le type de problèmes que vous rencontrez. La plupart des gens utilisent les UUID des partitions pour s'y référer, ce qui est une grande amélioration. Je vais un peu plus loin et j'utilise des étiquettes de partition uniques, lisibles/significatives pour faire référence aux partitions. Si vous avez plusieurs disques, vous ne pouvez pas garantir qu'ils seront reconnus dans le même ordre à chaque démarrage, donc un périphérique qui était /dev/sdb une fois pourrait être /dev/sdc une autre fois. C'est encore pire lorsque vous avez des disques amovibles qui n'obtiennent même pas de fichier de périphérique tant qu'ils ne sont pas physiquement connectés au système. Les UUID sont plus invariants, mais changeront également si vous redimensionnez ou déplacez une partition. Les étiquettes ne sont pas modifiées, mais comptez sur vous pour les nommer de manière unique.
Je ne sais pas pourquoi /dev/sda4 est ignoré - surtout si le swap est déjà attribué à /dev/sda2. Je ne sais pas comment résoudre ce problème. Si vous regardez le nouveau lecteur, il devrait y avoir "quelque chose" là où /dev/sda4 est censé se trouver. Peut-être que /dev/sda3 remplit le reste du disque, mais même si c'est le cas, je pense que /dev/sda4 serait toujours la première partition étendue à l'intérieur. Ou, peut-être le contraire, il ne remplit pas le reste du disque et donc /dev/sd4 est réservé pour l'espace après toute la partition étendue /dev/sd3.
Comme solution de contournement possible, si vous avez accès à un autre ordinateur, vous pouvez créer le nouveau lecteur dessus, obtenir les UUID ou les étiquettes de toutes les nouvelles partitions, puis exécuter tous vos scripts via sed pour modifier toutes les références de périphérique afin d'utiliser les UUID ou Étiquettes. Vous pouvez même passer à un schéma de partitionnement GPT si vous le souhaitez.