C'è un modo per rinominare sda5 in sda4?
Sì {ed è per questo che esiste una risposta lunga sotto questa domanda}
Prendo come esempio la mia chiavetta USB /dev/sdc. Modifica per il tuo caso di conseguenza
Per prima cosa conosci la tua unità :{Solo per verificare che stai utilizzando il disco desiderato }
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
Nota
- Assicurati che tutte le partizioni siano state smontate durante il processo di modifica della tabella delle partizioni.
- Nessuna applicazione accede al disco/modifica il suo contenuto.
Conosci il tuo strumento di lavoro:sfdisk
Dalla manpage
sfdisk è uno strumento orientato agli script per partizionare qualsiasi dispositivo a blocchi.
Vuoi maggiori dettagli ??
Esegui :man sfdisk
Prova lo strumento sull'unità desiderata
sfdisk -d /dev/sdc
Se /dev/sdc
è il disco di destinazione;
Eseguire prima il backup della tabella delle partizioni sdc.bak
sfdisk -d /dev/sdc > sdc.bak
Procurati una copia funzionante - sdc.new
cp sdc.bak sdc.new
Sporcati le mani
Apri sdc.new
nel tuo editor preferito
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
Nota la sequenza delle partizioni
/dev/sdc1
/dev/sdc2
/dev/sdc3
/dev/sdc4
/dev/sdc5
Ora voglio che la sequenza delle partizioni sia così
/dev/sdc3
/dev/sdc4
/dev/sdc1
/dev/sdc2
/dev/sdc5
In breve le mie modifiche richieste :
/dev/sdc1 ------------> /dev/sdc3
/dev/sdc2 ------------> /dev/sdc4
/dev/sdc3 ------------> /dev/sdc1
/dev/sdc4 ------------> /dev/sdc2
/dev/sdc5 ------------> /dev/sdc5
Modifica sdc.new
di conseguenza
Nota-
- Non modificare alcun numero tranne i numeri di partizione. Sono sicuro che sai perché.
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
Riscrivi la tabella delle partizioni
sfdisk /dev/sdc < sdc.new
Esempio di output :
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.
È ora di fare un controllo incrociato
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
Nel caso in cui le cose vadano male, ripristina dalla tabella delle partizioni di backup sdc.bak
-
sfdisk /dev/sdc < sdc.bak
Posso aiutarti con parti di questo.
Se il disco utilizza una tabella delle partizioni MBR, deve utilizzare una partizione estesa come sospettavi perché l'MBR può supportare solo quattro partizioni primarie. Questo è uno dei motivi per cui le tabelle delle partizioni GPT sono preferite. Non hanno questa limitazione. Supportano anche partizioni più grandi.
Quando Linux esamina un'unità disco, assegna i dispositivi a ciascuna partizione che trova in sequenza sull'unità. Se quell'unità è la prima unità che vede, la chiamerà /dev/sda e le partizioni su di essa verranno assegnate a partire da /dev/sda1. Quindi non puoi rinominarli.
È buona norma non fare affidamento sui nomi dei dispositivi esattamente per il tipo di problemi che stai incontrando. La maggior parte delle persone usa gli UUID delle partizioni per fare riferimento a loro, il che è un grande miglioramento. Faccio un ulteriore passo avanti e utilizzo etichette di partizione uniche, leggibili dall'uomo / significative per fare riferimento alle partizioni. Se disponi di più unità, non puoi garantire che vengano riconosciute nello stesso ordine a ogni avvio, quindi un dispositivo che una volta era /dev/sdb potrebbe essere /dev/sdc un'altra volta. La situazione peggiora ancora quando si dispone di dischi rimovibili che non ottengono nemmeno un file di dispositivo fino a quando non sono fisicamente collegati al sistema. Gli UUID sono più invarianti, ma cambieranno anche se ridimensioni o sposti una partizione. Le etichette non vengono modificate, ma dipendono da te per nominarle in modo univoco.
Non so perché /dev/sda4 venga saltato, specialmente se lo scambio è già assegnato a /dev/sda2. Non so come risolverlo. Se guardi la nuova unità, dovrebbe esserci "qualcosa" dove dovrebbe essere /dev/sda4. Forse /dev/sda3 riempie il resto del disco, ma anche se lo facesse, penserei che /dev/sda4 sarebbe comunque la prima partizione estesa al suo interno. O, forse il contrario, non riempie il resto del disco e quindi /dev/sd4 viene riservato per lo spazio dopo l'intera partizione estesa /dev/sd3.
Come possibile soluzione alternativa, se si ha accesso a un altro computer, è possibile creare la nuova unità su di esso, ottenere gli UUID o le etichette di tutte le nuove partizioni e quindi eseguire tutti gli script tramite sed per modificare tutti i riferimenti del dispositivo per utilizzare gli UUID o etichette. Potresti anche passare a uno schema di partizionamento GPT se lo desideri.