¿Hay alguna forma de cambiar el nombre de sda5 a sda4?
Sí {y es por eso que existe una respuesta larga debajo de esta pregunta}
Estoy tomando mi pendrive USB /dev/sdc como ejemplo. Modifique para su caso de acuerdo
Primero conozca su unidad:{Solo para comprobar que está utilizando el disco deseado
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
- Asegúrese de que todas las particiones estén desmontadas durante el proceso de edición de la tabla de particiones.
- No hay aplicaciones que accedan al disco o modifiquen su contenido.
Conozca su herramienta de trabajo - sfdisk
Desde la página de manual
sfdisk es una herramienta orientada a secuencias de comandos para particionar cualquier dispositivo de bloque.
¿Quieres más detalles?
Ejecutar:man sfdisk
Pruebe la herramienta en la unidad deseada
sfdisk -d /dev/sdc
Si /dev/sdc
es el disco de destino;
Primero haga una copia de seguridad de la tabla de particiones sdc.bak
sfdisk -d /dev/sdc > sdc.bak
Obtenga una copia de trabajo:sdc.new
cp sdc.bak sdc.new
Ensúciate las manos
Abrir sdc.new
en tu editor favorito
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
Tenga en cuenta la secuencia de partición
/dev/sdc1
/dev/sdc2
/dev/sdc3
/dev/sdc4
/dev/sdc5
Ahora quiero que la secuencia de partición sea así
/dev/sdc3
/dev/sdc4
/dev/sdc1
/dev/sdc2
/dev/sdc5
En resumen, mis cambios necesarios:
/dev/sdc1 ------------> /dev/sdc3
/dev/sdc2 ------------> /dev/sdc4
/dev/sdc3 ------------> /dev/sdc1
/dev/sdc4 ------------> /dev/sdc2
/dev/sdc5 ------------> /dev/sdc5
Editar sdc.new
en consecuencia
Nota-
- No cambie ningún número excepto los números de partición. Estoy seguro de que sabes por qué.
sdc.nuevo
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
Vuelva a escribir la tabla de particiones
sfdisk /dev/sdc < sdc.new
Salida de muestra:
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.
Hora de cotejar
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
En caso de que las cosas se estropeen, restaure desde la tabla de particiones de copia de seguridad sdc.bak
-
sfdisk /dev/sdc < sdc.bak
Puedo ayudar con partes de esto.
Si el disco usa una tabla de particiones MBR, entonces tiene que usar una partición extendida como sospechaba porque el MBR solo puede admitir cuatro particiones primarias. Esta es una de las razones por las que se prefieren las tablas de particiones GPT. No tienen esa limitación. También admiten particiones más grandes.
Cuando Linux mira una unidad de disco, asigna dispositivos a cada partición que encuentra secuencialmente en la unidad. Si esa unidad es la primera unidad que ve, la llamará /dev/sda y las particiones en ella se asignarán comenzando con /dev/sda1. Por lo tanto, no puede cambiarles el nombre.
Es una buena práctica no confiar en los nombres de los dispositivos exactamente para el tipo de problemas con los que se está encontrando. La mayoría de las personas usan los UUID de las particiones para referirse a ellas, lo cual es una gran mejora. Voy un paso más allá y uso etiquetas de partición únicas, legibles por humanos/significativas para referirme a las particiones. Si tiene varias unidades, no puede garantizar que se reconocerán en el mismo orden en cada inicio, por lo que un dispositivo que fue /dev/sdb una vez puede ser /dev/sdc otra vez. Se vuelve aún peor cuando tiene discos extraíbles que ni siquiera obtienen un archivo de dispositivo hasta que se conectan físicamente al sistema. Los UUID son más invariables, pero también cambiarán si cambia el tamaño o mueve una partición. Las etiquetas no se modifican, pero depende de usted para nombrarlas de forma única.
No sé por qué se omite /dev/sda4, especialmente si el intercambio ya está asignado a /dev/sda2. No sé cómo arreglar eso. Si observa la nueva unidad, debería haber "algo" donde se supone que debe estar /dev/sda4. Tal vez /dev/sda3 llene el resto del disco, pero incluso si lo hace, creo que /dev/sda4 seguirá siendo la primera partición extendida dentro de él. O, tal vez lo contrario, no llena el resto del disco y, por lo tanto, /dev/sd4 se reserva para el espacio después de toda la partición extendida /dev/sd3.
Como posible solución alternativa, si tiene acceso a otra computadora, puede construir la nueva unidad en ella, obtener los UUID o etiquetas de todas las particiones nuevas y luego ejecutar todos sus scripts a través de sed para cambiar todas las referencias de dispositivos para usar UUID o etiquetas. Incluso podría cambiar a un esquema de partición GPT si quisiera.