GNU/Linux >> Tutoriels Linux >  >> Linux

Changer l'UUID de la partition vfat

L'ID de volume de FAT32 est stocké dans le premier secteur au décalage 67 (0x43), pour FAT16, il est à 39 (0x27). On peut utiliser le dd commande pour le lire (remplace /dev/sdc1 avec votre vraie partition) :

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

Et, bien sûr, on peut aussi stocker un nouvel UUID (remplace 1234-ABCD avec la valeur souhaitée) :

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

Référence :structure physique FAT (décalage du numéro de série du volume) :https://technet.microsoft.com/en-us/library/cc776720(v=ws.10).aspx#w2k3tr_fat_how_gkxz


Il pourrait être utile de savoir pourquoi vous voulez faire cela. Je ne connais pas d'outil pour faire ce que vous voulez, mais il peut y avoir d'autres options....

Techniquement, les partitions FAT n'ont pas d'UUID; ils ont des numéros de série, que plusieurs outils et fichiers Linux (tels que mount et /etc/fstab ) peuvent être utilisés à la place des UUID. Sur les disques GPT, les partitions qui contiennent les systèmes de fichiers FAT ont des GUID, qui (sur les distributions Linux assez récentes) peuvent être appelés PARTUUID dans mount et /etc/fstab . Les systèmes de fichiers FAT et (sur les disques GPT) les partitions qui les contiennent peuvent également avoir des noms, qui peuvent également être utilisés par mount ou en /etc/fstab . Chacune de ces fonctionnalités peut être utilisable à la place du numéro de série FAT.

Bien que je ne connaisse pas d'outil pour modifier les numéros de série des partitions FAT, ils peuvent être définis lors de la création du système de fichiers via le -i option à mkdosfs , comme dans :

mkdosfs -i ABCD1234 /dev/sdc1

Cet exemple définit le numéro de série de /dev/sdc1 à ABCD-1234. Si le système de fichiers est suffisamment petit, vous pouvez le sauvegarder, créer un nouveau système de fichiers avec le numéro de série souhaité et le restaurer. Si vous essayez de définir le numéro de série dans le cadre d'un disque ou d'un script de configuration d'installation, définissez-le via mkdosfs pourrait être tout ce dont vous avez besoin.

Vous pouvez changer le GUID de la partition avec gdisk ou sgdisk . En utilisant ce dernier, vous feriez le travail via le -u option, comme dans :

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

Cet exemple définit le GUID de /dev/sdc1 à BC87D91A-02F3-4C52-87CD-536A3DF2A074. (Notez que -u prend un ensemble d'options délimitées par deux-points, dont la première est le numéro de partition et la seconde est la valeur GUID. Le nom de fichier de périphérique pour le périphérique de disque entier [pas la partition] est la dernière option.)

Selon vos besoins, l'une de ces approches peut fonctionner. En allant plus loin, vous pouvez définir l'étiquette du système de fichiers avec le dosfslabel outil; ou vous pouvez changer le nom d'une partition GPT avec sgdisk est -c option, qui fonctionne un peu comme -u , mais prend un nom plutôt qu'un GUID.


Souvent, on peut vouloir définir un nouvel UUID aléatoire pour une partition vfat (plutôt que d'en définir un spécifique), par exemple pour éviter les conflits après la duplication d'une partition avec dd . Dans ce cas, une solution simple consiste à utiliser gparted :clic droit sur la partition, puis "Nouvel UUID".

@tarabyte suggère que la plupart des gens viennent sur cette page à la recherche d'un moyen sans interface graphique (par exemple, en ligne de commande) de le faire sur un serveur sans tête. Si tel est le cas, gparted montre que la commande qu'il exécute sous le capot lorsque vous faites ce qui précède ressemble à :

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

Linux
  1. Comment partitionner un disque sous Linux

  2. Modifier la taille de la partition principale pour installer une autre distribution ?

  3. Quels scénarios provoquent le changement d'un Uuid de disque dur ?

  4. Comment changer l'UUID du système de fichiers (2 mêmes UUID) ?

  5. Changer le numéro de la partition de sda1 à sda2

Comment changer l'UUID de la partition dans le système de fichiers Linux

Commande cd sous Linux (changer de répertoire)

Gestion des partitions Linux

Comment changer le schéma de partition sur votre serveur Linux ?

Changer le fuseau horaire dans Ubuntu 18.04

Comment changer un système de partition physique en LVM ?