GNU/Linux >> Belajar Linux >  >> Linux

Ubah UUID dari partisi vfat

ID volume FAT32 disimpan di sektor pertama di offset 67 (0x43), untuk FAT16 di 39 (0x27). Seseorang dapat menggunakan dd perintah untuk membacanya (ganti /dev/sdc1 dengan partisi asli Anda):

dd bs=1 skip=67 count=4 if=/dev/sdc1 2>/dev/null \
| xxd -plain -u \
| sed -r 's/(..)(..)(..)(..)/\4\3-\2\1/'

Dan, tentu saja, seseorang juga dapat menyimpan UUID baru (ganti 1234-ABCD dengan nilai yang Anda inginkan):

UUID="1234-ABCD"
printf "\x${UUID:7:2}\x${UUID:5:2}\x${UUID:2:2}\x${UUID:0:2}" \
| dd bs=1 seek=67 count=4 conv=notrunc of=/dev/sdc1

Referensi:Struktur fisik FAT (Volume Serial Number offset):https://technet.microsoft.com/en-us/library/cc776720(v=ws.10).aspx#w2k3tr_fat_how_gkxz


Mungkin bermanfaat untuk mengetahui mengapa Anda ingin melakukan ini. Saya tidak tahu alat untuk melakukan apa yang Anda inginkan, tetapi mungkin ada opsi lain....

Secara teknis, partisi FAT tidak memiliki UUID; mereka memiliki nomor seri, yang berisi beberapa alat dan file Linux (seperti mount dan /etc/fstab ) dapat digunakan sebagai pengganti UUID. Pada disk GPT, partisi yang menampung sistem file FAT memiliki GUID, yang (pada distribusi Linux yang cukup baru) dapat disebut sebagai PARTUUID di mount dan /etc/fstab . Sistem file FAT dan (pada disk GPT) partisi yang memuatnya juga dapat memiliki nama, yang juga dapat digunakan oleh mount atau di /etc/fstab . Salah satu fitur ini mungkin dapat digunakan sebagai pengganti nomor seri FAT.

Meskipun saya tidak mengetahui alat untuk mengubah nomor seri partisi FAT, mereka dapat diatur saat sistem file dibuat melalui -i opsi untuk mkdosfs , seperti pada:

mkdosfs -i ABCD1234 /dev/sdc1

Contoh ini menetapkan nomor seri /dev/sdc1 ke ABCD-1234. Jika sistem file cukup kecil, Anda dapat mencadangkannya, membuat sistem file baru dengan nomor seri yang diinginkan, dan memulihkannya. Jika Anda mencoba menyetel nomor seri sebagai bagian dari disk atau skrip penyiapan penginstalan, atur melalui mkdosfs mungkin hanya itu yang Anda butuhkan.

Anda dapat mengubah GUID partisi dengan gdisk atau sgdisk . Menggunakan yang terakhir, Anda akan melakukan pekerjaan melalui -u opsi, seperti pada:

sgdisk -u 1:BC87D91A-02F3-4C52-87CD-536A3DF2A074 /dev/sdc

Contoh ini menyetel GUID dari /dev/sdc1 ke BC87D91A-02F3-4C52-87CD-536A3DF2A074. (Perhatikan bahwa -u mengambil serangkaian opsi yang dibatasi titik dua, yang pertama adalah nomor partisi dan yang kedua adalah nilai GUID. Nama file perangkat untuk seluruh perangkat disk [bukan partisi] adalah opsi terakhir.)

Bergantung pada kebutuhan Anda, salah satu dari pendekatan ini mungkin berhasil. Bergerak lebih luas, Anda dapat mengatur label sistem file dengan dosfslabel alat; atau Anda dapat mengubah nama partisi GPT dengan sgdisk -c opsi, yang berfungsi seperti -u , tetapi menggunakan nama, bukan GUID.


Seringkali seseorang ingin menetapkan UUID acak baru untuk partisi vfat (daripada menetapkan yang spesifik), misalnya untuk menghindari konflik setelah menduplikasi partisi dengan dd . Dalam hal ini, solusi sederhananya adalah dengan menggunakan gparted :klik kanan pada partisi, lalu "New UUID".

@tarabyte menunjukkan bahwa kebanyakan orang datang ke halaman ini mencari cara tanpa GUI (misalnya baris perintah) untuk melakukan ini di server tanpa kepala. Jika demikian, gparted menunjukkan bahwa perintah yang dijalankan di bawah terpal saat melakukan hal di atas adalah seperti:

    sudo mlabel -s -n :: -i /dev/nvme0n1p6

Linux
  1. Bagaimana cara mengubah frasa sandi enkripsi disk penuh?

  2. Bagaimana cara mengubah UUID sistem file (2 UUID yang sama)?

  3. Ubah nomor partisi dari sda1 menjadi sda2

  1. Cara mempartisi disk di Linux

  2. Cara mengidentifikasi partisi root melalui UUID tanpa initramfs/initrd

  3. Bagaimana cara mengubah partisi swap di Linux?

  1. Cara Mengubah Nama Label Partisi Linux pada EXT4 / EXT3 / EXT2 dan Swap

  2. Ubah Ukuran Partisi Utama Untuk Menginstal Distribusi Lain?

  3. Linux – Ubah Jumlah Partisi Dari Sda1 Ke Sda2?