Existuje způsob, jak přejmenovat sda5 na sda4?
Ano {a proto existuje dlouhá odpověď pod touto otázkou}
Jako příklad beru svůj USB pendrive /dev/sdc. Podle toho upravte pro váš případ
Nejprve zjistěte svůj disk:{Jen pro kontrolu, zda používáte požadovaný disk }
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
Poznámka
- Ujistěte se, že všechny diskové oddíly byly během procesu úpravy tabulky oddílů odpojeny.
- Žádné aplikace nemají přístup k disku / neupravují jeho obsah.
Poznejte svůj pracovní nástroj – sfdisk
Z manuálové stránky
sfdisk je skriptově orientovaný nástroj pro rozdělení libovolného blokového zařízení.
Chcete více podrobností?
Spustit:man sfdisk
Vyzkoušejte nástroj na požadované jednotce
sfdisk -d /dev/sdc
Pokud /dev/sdc
je cílový disk;
Nejprve zazálohujte tabulku oddílů sdc.bak
sfdisk -d /dev/sdc > sdc.bak
Pořiďte si pracovní kopii – sdc.new
cp sdc.bak sdc.new
Ušpinit si ruce
Otevřete sdc.new
ve vašem oblíbeném editoru
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
Všimněte si pořadí oddílů
/dev/sdc1
/dev/sdc2
/dev/sdc3
/dev/sdc4
/dev/sdc5
Nyní chci, aby sekvence oddílů byla takto
/dev/sdc3
/dev/sdc4
/dev/sdc1
/dev/sdc2
/dev/sdc5
Ve zkratce mé požadované změny:
/dev/sdc1 ------------> /dev/sdc3
/dev/sdc2 ------------> /dev/sdc4
/dev/sdc3 ------------> /dev/sdc1
/dev/sdc4 ------------> /dev/sdc2
/dev/sdc5 ------------> /dev/sdc5
Upravit sdc.new
podle toho
Poznámka-
- Neměňte žádná čísla kromě čísel oddílů. Jsem si jistý, že víte proč.
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
Zapište tabulku oddílů zpět
sfdisk /dev/sdc < sdc.new
Ukázkový výstup:
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.
Čas na křížovou kontrolu
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
V případě, že se něco pokazí, obnovte zálohu ze záložní tabulky oddílů sdc.bak
-
sfdisk /dev/sdc < sdc.bak
Mohu pomoci s částmi tohoto.
Pokud disk používá tabulku oddílů MBR, musí podle vašeho podezření použít rozšířený oddíl, protože MBR může podporovat pouze čtyři primární oddíly. To je jeden z důvodů, proč jsou preferovány tabulky oddílů GPT. To omezení nemají. Podporují také větší oddíly.
Když se Linux podívá na diskovou jednotku, přiřadí zařízení postupně ke každému oddílu, který na disku najde. Pokud je tato jednotka první jednotkou, kterou uvidí, bude ji volat /dev/sda a oddíly na ní budou přiřazeny počínaje /dev/sda1. Nemůžete je tedy přejmenovat.
Je dobrým zvykem nespoléhat se na názvy zařízení přesně pro ten typ problémů, se kterými se setkáváte. Většina lidí používá k odkazování na oddíly UUID, což je velké zlepšení. Jdu ještě o krok dále a k odkazování na oddíly používám jedinečné, člověkem čitelné/smysluplné štítky oddílů. Pokud máte více disků, nemůžete zaručit, že budou rozpoznány ve stejném pořadí při každém spouštění, takže zařízení, které bylo jednou /dev/sdb, může být jindy /dev/sdc. Je to ještě horší, když máte vyměnitelné disky, které ani nezískají soubor zařízení, dokud nejsou fyzicky připojeny k systému. UUID jsou více invariantní, ale změní se také, pokud změníte velikost nebo přesunete oddíl. Štítky se neupravují, ale spoléháme na to, že je pojmenujete jedinečně.
Nevím, proč se /dev/sda4 přeskakuje - zvláště pokud je swap již přiřazen k /dev/sda2. Nevím, jak to opravit. Pokud se podíváte na nový disk, mělo by tam být „něco“, kde má být /dev/sda4. Možná, že /dev/sda3 zaplní zbytek disku, ale i kdyby ano, myslím, že /dev/sda4 by byl stále prvním rozšířeným oddílem v něm. Nebo, možná naopak, nezaplní zbytek disku a tak je /dev/sd4 rezervováno pro místo za celým rozšířeným oddílem /dev/sd3.
Jako možné řešení, pokud máte přístup k jinému počítači, můžete na něm sestavit nový disk, získat UUID nebo štítky všech nových oddílů a poté spustit všechny své skripty přes sed, abyste změnili všechny odkazy na zařízení tak, aby používala UUID nebo štítky. Pokud byste chtěli, můžete dokonce přejít na schéma rozdělení GPT.