Apakah ada cara untuk mengganti nama sda5 menjadi sda4?
Yup {dan itulah mengapa ada jawaban panjang di bawah pertanyaan ini}
Saya mengambil flashdisk USB saya /dev/sdc sebagai contoh. Ubah sesuai kasus Anda
Kenali terlebih dahulu drive Anda :{Hanya untuk memeriksa apakah Anda menggunakan disk yang diinginkan }
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 berpisah -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
Catatan
- Pastikan semua partisi dilepas selama proses pengeditan tabel partisi.
- Tidak ada aplikasi yang mengakses disk / mengubah isinya.
Ketahui alat kerja Anda - sfdisk
Dari halaman manual
sfdisk adalah alat berorientasi skrip untuk mempartisi perangkat blok apa pun.
Ingin detail lebih lanjut ??
Jalankan :man sfdisk
Coba alat ini di drive yang diinginkan
sfdisk -d /dev/sdc
Jika /dev/sdc
adalah disk target;
Cadangkan tabel partisi terlebih dahulu sdc.bak
sfdisk -d /dev/sdc > sdc.bak
Dapatkan sendiri copy pekerjaan - sdc.new
cp sdc.bak sdc.new
Kotor tangan Anda
Buka sdc.new
di editor favorit Anda
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
Perhatikan urutan partisi
/dev/sdc1
/dev/sdc2
/dev/sdc3
/dev/sdc4
/dev/sdc5
Sekarang saya ingin urutan partisi menjadi seperti ini
/dev/sdc3
/dev/sdc4
/dev/sdc1
/dev/sdc2
/dev/sdc5
Singkatnya, perubahan yang saya perlukan :
/dev/sdc1 ------------> /dev/sdc3
/dev/sdc2 ------------> /dev/sdc4
/dev/sdc3 ------------> /dev/sdc1
/dev/sdc4 ------------> /dev/sdc2
/dev/sdc5 ------------> /dev/sdc5
Edit sdc.new
yang sesuai
Catatan-
- Jangan ubah nomor apa pun kecuali nomor partisi. Saya yakin Anda tahu alasannya.
sdc.baru
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
Tulis tabel partisi kembali
sfdisk /dev/sdc < sdc.new
Contoh Keluaran :
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.
Saatnya memeriksa ulang
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 berpisah -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
Jika terjadi kekacauan, pulihkan dari tabel partisi cadangan sdc.bak
-
sfdisk /dev/sdc < sdc.bak
Saya dapat membantu sebagian dari ini.
Jika disk menggunakan tabel partisi MBR, maka harus menggunakan partisi extended seperti yang Anda duga karena MBR hanya dapat mendukung empat partisi utama. Inilah salah satu alasan tabel partisi GPT disukai. Mereka tidak memiliki batasan itu. Mereka juga mendukung partisi yang lebih besar.
Saat Linux melihat disk drive, ia menetapkan perangkat ke setiap partisi yang ditemukan secara berurutan di drive. Jika drive itu adalah drive pertama yang dilihatnya, drive tersebut akan memanggilnya /dev/sda dan partisi di dalamnya akan ditetapkan dimulai dengan /dev/sda1. Jadi Anda tidak dapat mengganti nama ini.
Sebaiknya jangan mengandalkan nama perangkat untuk jenis masalah yang Anda hadapi. Kebanyakan orang menggunakan UUID partisi untuk merujuknya yang merupakan peningkatan besar. Saya melangkah lebih jauh dan menggunakan label partisi yang unik, dapat dibaca manusia/bermakna untuk merujuk ke partisi. Jika Anda memiliki banyak drive, Anda tidak dapat menjamin bahwa drive tersebut akan dikenali dalam urutan yang sama pada setiap boot, sehingga perangkat yang pernah menjadi /dev/sdb di satu waktu mungkin menjadi /dev/sdc di lain waktu. Ini menjadi lebih buruk ketika Anda memiliki disk yang dapat dilepas yang bahkan tidak mendapatkan file perangkat sampai terpasang secara fisik ke sistem. UUID lebih invarian, tetapi juga akan berubah jika Anda mengubah ukuran atau memindahkan partisi. Label tidak diubah, tetapi bergantung pada Anda untuk menamainya secara unik.
Saya tidak tahu mengapa /dev/sda4 dilewati - terutama jika swap sudah ditetapkan ke /dev/sda2. Saya tidak tahu cara memperbaikinya. Jika Anda melihat drive baru, seharusnya ada "sesuatu" di mana /dev/sda4 seharusnya berada. Mungkin /dev/sda3 mengisi sisa disk, tetapi meskipun demikian, saya akan berpikir /dev/sda4 akan tetap menjadi partisi tambahan pertama di dalamnya. Atau, mungkin sebaliknya, itu tidak mengisi sisa disk sehingga /dev/sd4 dicadangkan untuk ruang setelah seluruh /dev/sd3 perluasan partisi.
Sebagai solusi yang memungkinkan, jika Anda memiliki akses ke komputer lain, Anda dapat membuat drive baru di atasnya, mendapatkan UUID atau label dari semua partisi baru, lalu menjalankan semua skrip Anda melalui sed untuk mengubah semua referensi perangkat untuk menggunakan UUID atau label. Anda bahkan dapat beralih ke skema partisi GPT jika Anda mau.