GNU/Linux >> Znalost Linux >  >> Linux

Změňte UUID oddílu vfat

ID svazku FAT32 je uloženo v prvním sektoru s offsetem 67 (0x43), pro FAT16 je to na 39 (0x27). Můžete použít dd příkaz k přečtení (nahraďte /dev/sdc1 s vaším skutečným oddílem):

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

A samozřejmě lze také uložit nové UUID (nahraďte 1234-ABCD s požadovanou hodnotou):

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

Reference:Fyzická struktura FAT (posun sériového čísla svazku):https://technet.microsoft.com/en-us/library/cc776720(v=ws.10).aspx#w2k3tr_fat_how_gkxz


Může být užitečné vědět, proč to chcete udělat. Nevím o nástroji, který by dělal to, co chcete, ale mohou existovat další možnosti....

Technicky, oddíly FAT nemají UUID; mají sériová čísla, která mají několik linuxových nástrojů a souborů (například mount a /etc/fstab ) lze použít místo UUID. Na discích GPT mají oddíly, které obsahují souborové systémy FAT, GUID, které (v dostatečně nejnovějších distribucích Linuxu) lze v mount označovat jako PARTUUID a /etc/fstab . Jak souborové systémy FAT, tak (na discích GPT) oddíly, které je obsahují, mohou mít také názvy, které může také použít mount nebo v /etc/fstab . Kterákoli z těchto funkcí může být použitelná místo sériového čísla FAT.

I když neznám nástroj pro změnu sériových čísel FAT oddílů, lze je nastavit při vytváření souborového systému pomocí -i možnost mkdosfs , jako v:

mkdosfs -i ABCD1234 /dev/sdc1

Tento příklad nastavuje sériové číslo /dev/sdc1 na ABCD-1234. Pokud je souborový systém dostatečně malý, můžete jej zálohovat, vytvořit nový souborový systém s požadovaným sériovým číslem a obnovit jej. Pokud se pokoušíte nastavit sériové číslo jako součást instalačního skriptu disku nebo instalace, nastavte jej pomocí mkdosfs může být vše, co potřebujete.

GUID oddílu můžete změnit pomocí gdisk nebo sgdisk . Při použití posledně jmenovaného byste práci provedli pomocí -u možnost, jako v:

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

Tento příklad nastavuje GUID na /dev/sdc1 až BC87D91A-02F3-4C52-87CD-536A3DF2A074. (Všimněte si, že -u bere dvojtečkou oddělenou sadu možností, z nichž první je číslo oddílu a druhá je hodnota GUID. Název souboru zařízení pro celý disk [ne oddíl] je poslední možností.)

V závislosti na vašich potřebách může fungovat jeden z těchto přístupů. Pokud se přesunete dále, můžete nastavit štítek souborového systému pomocí dosfslabel nástroj; nebo můžete změnit název oddílu GPT pomocí sgdisk 's -c volba, která funguje podobně jako -u , ale přebírá název, nikoli GUID.


Často můžete chtít nastavit nové náhodné UUID pro oddíl vfat (spíše než nastavit konkrétní), například abyste předešli konfliktům po duplikování oddílu s dd . V tomto případě je jednoduchým řešením použít gparted :klikněte pravým tlačítkem na oddíl a poté na „Nové UUID“.

@tarabyte naznačuje, že většina lidí přichází na tuto stránku a hledá způsob, jak to udělat na bezhlavém serveru bez GUI (např. příkazový řádek). Pokud je to váš případ, gparted ukazuje, že příkaz, který běží pod kapotou, když děláte výše, je něco jako:

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

Linux
  1. Jak rozdělit disk v Linuxu

  2. Změnit velikost hlavního oddílu a nainstalovat jinou distribuci?

  3. Linux – změnit číslo oddílu z Sda1 na Sda2?

  1. Jak změnit názvy linuxových oddílů na EXT4 / EXT3 / EXT2 a Swap

  2. Jak změním swapovací oddíl v Linuxu?

  3. Jak změnit systém fyzického oddílu na LVM?

  1. CentOS / RHEL :Jak změnit UUID souborového systému

  2. Jak použít příkaz „xfs_admin“ ke změně parametrů souborového systému XFS

  3. Jak změnit heslo pro šifrování celého disku?