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