GNU/Linux >> Linux Esercitazione >  >> Linux

Cambia l'UUID della partizione vfat

L'ID volume di FAT32 è memorizzato nel primo settore all'offset 67 (0x43), per FAT16 è a 39 (0x27). Si può usare il dd comando per leggerlo (sostituisci /dev/sdc1 con la tua vera partizione):

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

E, naturalmente, si può anche memorizzare un nuovo UUID (sostituire 1234-ABCD con il valore desiderato):

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

Riferimento:struttura fisica FAT (offset del numero di serie del volume):https://technet.microsoft.com/en-us/library/cc776720(v=ws.10).aspx#w2k3tr_fat_how_gkxz


Potrebbe essere utile sapere perché vuoi farlo. Non conosco uno strumento per fare quello che vuoi, ma potrebbero esserci altre opzioni....

Tecnicamente, le partizioni FAT non hanno UUID; hanno numeri di serie, che diversi strumenti e file Linux (come mount e /etc/fstab ) può essere utilizzato al posto degli UUID. Sui dischi GPT, le partizioni che contengono filesystem FAT hanno GUID, che (su distribuzioni Linux abbastanza recenti) possono essere indicati come PARTUUID in mount e /etc/fstab . Sia i filesystem FAT che (sui dischi GPT) le partizioni che li contengono possono avere anche dei nomi, che possono essere usati anche da mount o in /etc/fstab . Ognuna di queste funzionalità potrebbe essere utilizzabile al posto del numero di serie FAT.

Anche se non conosco uno strumento per modificare i numeri di serie delle partizioni FAT, possono essere impostati quando il filesystem viene creato tramite -i opzione a mkdosfs , come in:

mkdosfs -i ABCD1234 /dev/sdc1

Questo esempio imposta il numero di serie di /dev/sdc1 all'ABCD-1234. Se il filesystem è abbastanza piccolo, è possibile eseguirne il backup, creare un nuovo filesystem con il numero di serie desiderato e ripristinarlo. Se stai tentando di impostare il numero di serie come parte di uno script di configurazione del disco o dell'installazione, impostalo tramite mkdosfs potrebbe essere tutto ciò di cui hai bisogno.

Puoi cambiare il GUID della partizione con gdisk o sgdisk . Usando quest'ultimo, faresti il ​​lavoro tramite -u opzione, come in:

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

Questo esempio imposta il GUID di /dev/sdc1 a BC87D91A-02F3-4C52-87CD-536A3DF2A074. (Notare che -u accetta una serie di opzioni delimitate da due punti, la prima delle quali è il numero di partizione e la seconda è il valore GUID. Il nome file del dispositivo per il dispositivo a disco intero [not la partizione] è l'ultima opzione.)

A seconda delle tue esigenze, uno di questi approcci potrebbe funzionare. Andando più in là, puoi impostare l'etichetta del filesystem con dosfslabel attrezzo; oppure puoi cambiare il nome di una partizione GPT con sgdisk è -c opzione, che funziona in modo molto simile a -u , ma accetta un nome anziché un GUID.


Spesso si potrebbe voler impostare un nuovo UUID casuale per una partizione vfat (piuttosto che impostarne uno specifico), ad esempio per evitare conflitti dopo aver duplicato una partizione con dd . In questo caso, una soluzione semplice è usare gparted :clic destro sulla partizione, quindi "Nuovo UUID".

@tarabyte suggerisce che la maggior parte delle persone viene su questa pagina alla ricerca di un modo senza GUI (ad esempio riga di comando) per farlo su un server headless. Se è così, gparted mostra che il comando che sta eseguendo sotto il cofano quando si esegue quanto sopra è qualcosa del tipo:

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

Linux
  1. Come partizionare un disco in Linux

  2. Come modificare i nomi delle etichette delle partizioni Linux su EXT4 / EXT3 / EXT2 e Swap

  3. Linux:cambiare il numero della partizione da Sda1 a Sda2?

  4. Come modificare la passphrase della crittografia completa del disco?

  5. Come posso cambiare la partizione di swap in Linux?

Come modificare l'UUID della partizione nel filesystem Linux

Comando Cd in Linux (Cambia directory)

Gestione delle partizioni Linux

Come modificare lo schema di partizione sul tuo server Linux?

Cambia fuso orario in Ubuntu 18.04

Come modificare un sistema di partizione fisica in LVM?