Bagaimana cara mengubah UUID disk ke apa pun yang saya inginkan?

29

Saya memiliki situasi unik di mana saya perlu mengubah UUID usb flash drive ke UUID sebelumnya. Saya memformatnya dan jelas nomornya berubah ...

Saya sudah menyiapkan server ubuntu dengan 1TB hdd, dan 4GB usb flash drive untuk boot. Grub pada hdd dikonfigurasi untuk UUID yang berubah ketika saya memformat usb drive dan menginstal ulang server ubuntu. Saya tidak punya monitor eksternal, jadi saya pasang usb ke laptop dan menginstal server di sana ... daripada memindahkannya ke perangkat keras server.

Seperti yang saya sebutkan masalah saya adalah bahwa saya perlu usb untuk kembali ke UUID sebelumnya, jika tidak server tidak bisa boot. Dan saya tidak bisa mendapatkan monitor eksternal hingga Senin! :)

Saya tahu saya perlu file ini diubah setelahnya:

File yang paling kritis dengan UUID:

/boot/grub/menu.lst

/etc/fstab

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

Tetapi saya tidak dapat menemukan informasi bersih tentang penyesuaian UUID.

Siapa saja?

muru
sumber

Jawaban:

37

Jika Anda menggunakan ext untuk itu:

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

Dari man tune2fs

-U UUID

Atur pengidentifikasi unik universal (UUID) dari sistem file ke UUID. Format UUID adalah serangkaian angka hex dipisahkan oleh tanda hubung, seperti ini: c1b9d5a2-f162-11cf-9ece-0020afc76f16. Parameter UUID juga dapat berupa salah satu dari yang berikut:

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

UUID dapat digunakan oleh mount (8), fsck (8), dan / etc / fstab (5) (dan mungkin lainnya) dengan menetapkan UUID = uuid alih-alih mencekal nama perangkat khusus seperti / dev / hda1.

Rinzwind
sumber
Itu berhasil! Tetapi saya tidak dapat menemukan: /etc/initramfs-tools/conf.d/resume saya menemukan bahwa /boot/grub/menu.lst telah dikonversi ke /boot/grub/grub.cfg
Saya memiliki /etc/initramfs-tools/conf.d/resume di sistem saya. Dan grub.cfg memang menu baru.lst (saya pikir yang ikut bermain dengan grub2 baru.
Rinzwind
Apa pun yang saya coba, saya mendapatkan kesalahan ketika mencoba untuk mengatur UUID saya sendiri (tune2fs: Format UUID tidak valid). Apakah ada urutan khusus untuk berbagai hal?
Andrew
tun2fs tidak bekerja pada disk GFS ZFS saya, apa yang harus saya lakukan di sana?
Brian Thomas
Melihat jawaban untuk XFS (xfs_admin) saya sarankan mencari zfs_admin Tapi bukankah zaris Solaris ?! Bagaimana Anda melihat Ubuntu dapat membantu di sini?
Rinzwind
14

Saya menyadari ini semacam pertanyaan lama, tetapi saya menemukan ada perubahan baru, dan inilah yang Google cari-cari untuk saya, jadi saya akan memposting jawaban yang saya temukan di sini.

ketika saya mencoba untuk mengubah uuid filesystem root saya (ke awal yang terkenal dan akhiran nomor seri) pada ubuntu 14,04 baru, saya menemukan tune2fs horor saya melaporkan kembali: Saya tidak bisa melakukan itu untuk memasang sistem file. Saya bergantung pada kemampuan untuk menggunakan gambar template dengan uuid yang terkenal, dan mengubah setiap instalasi menjadi uuid berseri. Saya menemukan masalah itu tidak dapat diatasi.

Ada flag yang perlu dinonaktifkan, untuk memungkinkan perubahan mount-uuid dengan tune2fs baru. seperti inilah proses saya:

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:~#
kvm-user420
sumber
Terima kasih. Bisa membantu di masa depan, tapi saya masih di 12,04 :)
1
Anda bisa menggunakan root_disk=$(findmnt -n -o SOURCE /)pipa bukannya untuk memotong dan memotong.
mivk
JANGAN LAKUKAN ATAU ANDA AKAN MEMPERBAIKI FILESYSTEM ANDA. Saya menghapus kemudian menambahkan kembali uninit_bgdan itu menyebabkan korupsi metadata dan remount read-only otomatis pada boot berikutnya ( ext4_mb_generate_buddy:757: group 1, block bitmap and bg descriptor inconsistent: 3701 vs 3700 free clustersjenis pesan kesalahan). Alasannya adalah bahwa tune2fssecara langsung memodifikasi disk, di bawah kaki kernel dan ketika kernel memperbarui bgmetadata, setengah dari waktu itu benar-benar merusak metadata! bottomline: fileysstem UUID tidak dapat diubah dengan aman tanpa melepas sistem file dengan benar.
Eric
6

Untuk xfs lihat man xfs_admin

xfs_admin -U {uuid} {device}

{uuid} dapat 'menghasilkan' hanya untuk mendapatkan uuid baru.

Untuk para reiser, lihat man tunefs.reiserfs

tunefs.reiserfs -i {uuid} {device}

Untuk btrfs tampaknya uuid digunakan di seluruh sistem file sehingga setiap node harus diperbarui. Belum ada cara aman untuk melakukan itu.

Sylwester
sumber