GNU/Linux >> Linux Esercitazione >  >> Linux

Come cambiare l'UUID del filesystem (2 stessi UUID)?

Per generare un nuovo UUID casuale, si può usare:

$ uuidgen

La modifica effettiva dell'UUID dipende dal file system.

Supponendo un filesystem ext-family

# tune2fs -U <output of uuidgen> /dev/sdb1

Oppure, se sei sicuro che uuidgen funzionerà:

# tune2fs -U $(uuidgen) /dev/sdb1

Supponendo un filesystem btrfs

# btrfstune -U $(uuidgen) /dev/sdb1

L'UUID è memorizzato nel superblocco, quindi una copia byte per byte del filesystem avrà lo stesso UUID.


Usa:

tune2fs -U random /dev/sdb1

se è un ext filesystem, o

xfs_admin -U generate /dev/sdb1

se è un xfs filesystem.

Il motivo per cui la seconda partizione ha lo stesso UUID è perché dd copia semplicemente i dati da un file a un altro (dd if=/dev/sda1 of=/dev/sdb1 =cat /dev/sda1 > /dev/sdb1 ); dd non sa cosa sia una partizione o come generare un UUID, quindi ha semplicemente copiato tutti i dati così come sono, incluso l'UUID, che è memorizzato nel superblocco del filesystem vicino all'inizio della partizione.

A proposito,
Penso anche che UUID (Universally Unique IDentifier) ​​sia un nome strano. Dovrebbe chiamarsi PGUID (Possibly Globally Unique IDentifier), o meglio ancora, semplicemente ARLN (A Reasonably Large Number).


Oltre a ext2 /ext3 / ex4 e xfs, puoi anche modificare l'UUID del seguente filesystem o dispositivo a blocchi o PARTUUID della partizione GPT.

Scambia

swaplabel -U $NEW_UUID

RAID software (md raid)

Per MD RAID, devi prima arrestare il RAID, quindi aggiornare l'UUID durante il riassemblaggio. Quindi, se il tuo RAID è montato su / , non puoi fermarlo, devi aggiornare l'UUID in modalità offline -- usa un live CD/USB per farlo.

  1. mdadm --stop $RAID_DEVICE
  2. mdadm --assemble $RAID_DEVICE --update=uuid --uuid=$NEW_UUID $MEMBER_DEVICES...

Esempio:

  1. mdadm --stop /dev/md127
  2. mdadm --assemble /dev/md127 --update=uuid --uuid=2A1D2A1D-2A1D-2A1D-2A1D-2A1D2A1D2A1D /dev/sda2 /dev/sdb2

Dopo che l'UUID è stato aggiornato, potrebbe essere necessario aggiornare grub.cfg (rd.md.uuid=$NEW_UUID in linux/linuxefi/linux16 riga di comando) e/o fstab e/o mdadm.conf e/o update-initramfs (famiglia Debian) e/o dracut --force (Famiglia Red Hat) in modo da poter eseguire correttamente l'avvio la prossima volta.

LUKS (cryptsetup)

cryptsetup luksUUID --uuid=$NEW_UUID $LUKS_DEVICE

Esempio:

cryptsetup luksUUID --uuid=e0c0e0c0-e0c0-e0c0-e0c0-e0c0e0c0e0c0 ~/encrypted-LUKS.loop

File system NTFS

C'è ntfslabel utility (grazie a ntfs-3g) per modificare l'UUID del file system NTFS. Vedi la risposta di abchk1234.

Nel caso in cui desideri modificare l'intero UUID del file system NTFS invece di --new-half-serial , usa il --new-serial opzione.

Esempio:

ntfslabel --new-serial=1122334455667788 /dev/sda3

File system FAT / exFAT

Questa è un'altra storia qui, attualmente non ci sono utilità per modificare l'UUID del filesystem di questi filesystem (Vedi la risposta di Reichhart:il mlabel strumento), ma possiamo modificare i dati grezzi su disco per farlo.

ATTENZIONE, è pericoloso modificare i dati grezzi su disco e potrebbe andare perduti senza un'attenta operazione.

Ecco i passaggi dettagliati per modificare i dati non elaborati su disco utilizzando hexedit .

  1. blkid , annota l'UUID del filesystem su carta o ricordalo. La stringa UUID di FAT / exFAT è simile a 1122-3344 , la stringa UUID di NTFS è simile a 1122334455667788 .

  2. Apri il dispositivo di partizione usando hexedit

    hexedit <partition device such as /dev/sda1>

  3. Premi , inserisci l'UUID in ordine inverso (se blkid segnalato 1234-ABCD , quindi cerca CDAB3412 ) per cercare i dati UUID su disco.

  4. Una volta individuato l'UUID, cambialo, premi F2 per salvare ed uscire.

  5. blkid per verificare l'UUID.

  6. Una volta modificato l'UUID, potrebbe essere necessario aggiornare grub.cfg e/o fstab in modo da poter eseguire correttamente l'avvio la prossima volta.

  7. Esegui fsck <partition device such as /dev/sda1> e vedi un "Ci sono differenze tra il settore di avvio e il suo backup" Messaggio. Per risolverlo, seleziona "1) Copia l'originale nel backup" e se ti viene chiesto "Esegui modifiche ? (y/n)" premi y .

PARTUUID della partizione GPT

Una breve storia :Non ho mai pensato di dover toccare PARTUUID della partizione GPT, fino ad ora, quando provo a migrare Windows da un disco piccolo a un disco grande, Windows non è riuscito ad avviarsi sul disco grande e non può nemmeno essere riparato automaticamente. Il motivo è che la modifica dell'UUID del file system NTFS in quello originale non è sufficiente per Windows + UEFI, è inoltre necessario modificare il PARTUUID della partizione GPT - la questione PARTUUID. (Dopo aver modificato PARTUUID in quello originale, Windows è stato avviato correttamente dal disco grande.)

C'è già una risposta qui su askubuntu.com per mostrare come cambiare PARTUUID della partizione GPT usando gdisk utilità.

La versione corrente di fdisk (2.35.2 nei repository Fedora 32 al momento della modifica) da util-linux può farlo anche in modalità esperto, infatti, a partire da util-linux v2.23, fdisk è stato abilitato per GPT.

Ecco un esempio di come cambiare PARTUUID usando util-linux fdisk utilità:

# truncate -s 200M /tmp/file-as-a.disk 

# LANG=en_US.UTF-8 fdisk /tmp/file-as-a.disk 

Welcome to fdisk (util-linux 2.35.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xc0fc8503.

Command (m for help): g
Created a new GPT disklabel (GUID: 4CD23B97-80C5-BD42-8466-1B9476653A92).

Command (m for help): n
Partition number (1-128, default 1): 
First sector (2048-409566, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-409566, default 409566): 

Created a new partition 1 of type 'Linux filesystem' and of size 199 MiB.

Command (m for help): i
Selected partition 1
         Device: /tmp/file-as-a.disk1
          Start: 2048
            End: 409566
        Sectors: 407519
           Size: 199M
           Type: Linux filesystem
      Type-UUID: 0FC63DAF-8483-4772-8E79-3D69D8477DE4
           UUID: 7265D7C3-6277-DE4B-956C-41E3BFFF8E0D

Command (m for help): w
The partition table has been altered.
Syncing disks.

# LANG=en_US.UTF-8 fdisk /tmp/file-as-a.disk 

Welcome to fdisk (util-linux 2.35.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): x

Expert command (m for help): m

Help (expert commands):

  GPT
   i   change disk GUID
   n   change partition name
   u   change partition UUID
   l   change table length
   M   enter protective/hybrid MBR

   A   toggle the legacy BIOS bootable flag
   B   toggle the no block IO protocol flag
   R   toggle the required partition flag
   S   toggle the GUID specific bits

  Generic
   p   print the partition table
   v   verify the partition table
   d   print the raw data of the first sector from the device
   D   print the raw data of the disklabel from the device
   f   fix partitions order
   m   print this menu

  Save & Exit
   q   quit without saving changes
   r   return to main menu


Expert command (m for help): u
Selected partition 1

New UUID (in 8-4-4-4-12 format): 11223344-5566-7788-9900-AABBCCDDEEFF

Partition UUID changed from 7265D7C3-6277-DE4B-956C-41E3BFFF8E0D to 11223344-5566-7788-9900-AABBCCDDEEFF.

Expert command (m for help): w
w: unknown command

Expert command (m for help): r

Command (m for help): w

The partition table has been altered.
Syncing disks.

# losetup --partscan /dev/loop101 /tmp/file-as-a.disk

# blkid /dev/loop101*
/dev/loop101: PTUUID="4cd23b97-80c5-bd42-8466-1b9476653a92" PTTYPE="gpt"
/dev/loop101p1: PARTUUID="11223344-5566-7788-9900-aabbccddeeff"

Linux
  1. Come utilizzare il comando "xfs_admin" per modificare i parametri di un filesystem XFS

  2. Come modificare le etichette del filesystem in CentOS/RHEL

  3. CentOS / RHEL:come trovare l'UUID di un dispositivo o filesystem

  4. come eseguire il test del filesystem?

  5. Come trovo l'UUID di un filesystem

Come cambiare utente su Linux

Come modificare l'indirizzo IP su Linux

Come modificare i record MX?

Come identificare l'UUID del filesystem in Linux:l'esercitazione definitiva

Come modificare lo schema di partizione sul tuo server Linux?

Come modificare la password su Ubuntu