Come posso cambiare l'UUID di un disco con quello che voglio?


29

Ho una situazione unica in cui devo cambiare l'UUID dell'unità flash USB nell'UUID precedente. L'ho formattato e ovviamente il numero è cambiato ...

Ho configurato il server Ubuntu con 1 TB di hdd e un'unità flash USB da 4 GB da cui eseguire l'avvio. Grub su HDD è configurato per UUID che è cambiato quando ho formattato l'unità USB e reinstallato il server Ubuntu. Non ho un monitor esterno, quindi collego usb al laptop e installo il server lì ... che lo sposto sull'hardware del server.

Come ho già detto, il mio problema è che ho bisogno di USB per tornare al precedente UUID, altrimenti il ​​server non si avvia. E non riesco a ottenere un monitor esterno fino a lunedì! :)

So che ho bisogno di cambiare questi file in seguito:

I file per i quali UUID è più critico:

/boot/grub/menu.lst

/etc/fstab

/etc/initramfs-tools/conf.d/resume

Ma non riesco a trovare da nessuna parte le informazioni sulla rete sulla personalizzazione dell'UUID.

Chiunque?

Risposte:


37

Se hai usato ext per questo:

tune2fs /dev/{device} -U {uuid}

A partire dal man tune2fs

-UUUID

Impostare l'identificatore univoco universale (UUID) del filesystem su UUID. Il formato del UUID è una serie di cifre esadecimali separati da trattini, in questo modo: c1b9d5a2-f162-11cf-9ece-0020afc76f16. Il parametro UUID può anche essere uno dei seguenti:

clear  clear the filesystem UUID
random generate a new randomly-generated UUID
time   generate a new time-based UUID

L'UUID può essere utilizzato da mount (8), fsck (8) e / etc / fstab (5) (e forse altri) specificando UUID = uuid invece di un nome di dispositivo speciale di blocco come / dev / hda1.


Ha funzionato! Ma non riesco a trovare: /etc/initramfs-tools/conf.d/resume Ho scoperto che /boot/grub/menu.lst era stato convertito in /boot/grub/grub.cfg

Ho un /etc/initramfs-tools/conf.d/resume sul mio sistema. E grub.cfg è davvero il nuovo menu.lst (penso che uno sia entrato in gioco con il nuovo grub2.
Rinzwind

Indipendentemente da ciò che provo, visualizzo un errore quando provo a impostare il mio UUID (tune2fs: formato UUID non valido). C'è un ordine specifico per le cose?
Andrew,

tun2fs non funziona sul mio disco gpt ZFS, cosa devo fare lì?
Brian Thomas,

Guardando la risposta per XFS (xfs_admin) suggerirei di cercare un zfs_admin Ma zfs Solaris non è ?! Come vedi che Ubuntu è in grado di aiutarti qui?
Rinzwind,

14

Mi rendo conto che questa è una specie di vecchia domanda, ma ho scoperto che c'era una nuova modifica, e questo è ciò che Google ha ficcato il naso per me, quindi posterò la risposta che ho trovato qui.

quando ho provato a cambiare l'uid del mio filesystem di root (con un inizio ben noto e un suffisso di numero seriale) sul nuovo Ubuntu 14.04, ho trovato il mio horror tune2fs riportato indietro: non posso farlo con i filesystem montati. Dipendo dalla possibilità di utilizzare un'immagine modello con un uuid ben noto e cambiare ogni installazione in un uuid serializzato. Ho scoperto che il problema non era insormontabile.

C'è un flag che deve essere disabilitato, per consentire le modifiche montate su uuid con il nuovo tune2fs. questo è l'aspetto del mio processo:

root@ubuntu1404:~# blkid
/dev/sda1: UUID="2ec827b0-72be-4c73-b58a-102a37aa24a3" TYPE="ext4"
root@ubuntu1404:~# uuid="deafcafe-abba-daba-deca-fc0ffee05065"
root@ubuntu1404:~# root_disk=$(df /|grep /|cut -d' ' -f1)
root@ubuntu1404:~# echo $root_disk
/dev/sda1
root@ubuntu1404:~# tune2fs -U $uuid $root_disk
tune2fs 1.42.9 (4-Feb-2014)
The UUID may only be changed when the filesystem is unmounted.
root@ubuntu1404:~# tune2fs -O ^uninit_bg $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# tune2fs -U $uuid $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# tune2fs -O +uninit_bg $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       7.3G  3.9G  3.0G  58% /
root@ubuntu1404:~# blkid
/dev/sda1: UUID="deafcafe-abba-daba-deca-fc0ffee05065" TYPE="ext4"
root@ubuntu1404:~#

Grazie. Potrebbe essere utile in futuro, ma sono ancora in data 12.04 :)

1
È possibile utilizzare root_disk=$(findmnt -n -o SOURCE /)invece di piping per grep e tagliare.
marzo

NON FARLO O SARÀ CORRUTTO IL TUO FILESYSTEM. Ho rimosso quindi aggiunto di nuovo uninit_bge porta alla corruzione dei metadati e al rimontaggio automatico di sola lettura al prossimo avvio ( ext4_mb_generate_buddy:757: group 1, block bitmap and bg descriptor inconsistent: 3701 vs 3700 free clusterstipo di messaggi di errore). Il motivo è che tune2fsmodifica direttamente il disco, sotto i piedi del kernel e quando il kernel arriva ad aggiornare i bgmetadati, la metà delle volte effettivamente corrompe i metadati! bottomline: l'UUID fileysstem non può essere modificato in sicurezza senza smontare correttamente il filesystem.
Eric

6

Per xfs vedi man xfs_admin

xfs_admin -U {uuid} {device}

{uuid} può essere "generato" per ottenere un nuovo uuid.

Per reiserfs vedere man tunefs.reiserfs

tunefs.reiserfs -i {uuid} {device}

Per btrfs sembra che l'UUID sia usato in tutti i file system, quindi ogni nodo deve essere aggiornato. Non esiste ancora un modo sicuro per farlo.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.