Saya memiliki OS tamu fedora di VMware. Saya ingin memperluas /boot
partisi, jadi saya menambahkan disk virtual lain ke VM ini, dan mencoba untuk mengkloning disk.
Setelah itu dd if=/dev/sda1 of=/dev/sdb1
, blkid
laporkan bahwa / dev / sda1 dan / dev / sdb1 memiliki UUID / GUID yang sama.
Sungguh aneh bahwa ada 2 UUID yang sama di alam semesta, bagaimana cara mengubah salah satunya menjadi nilai UUID yang lain?
Pembaruan 2017-01-25
Subjek berubah, UUID di sini berarti filesystem UUID, bukan partisi UUID.
Karena itu adalah filesystem UUID, utilities khusus filesystem diperlukan untuk mengubah UUID, atau menggunakan hexeditor untuk memodifikasi data mentah pada disk ( BERBAHAYA, tidak disarankan kecuali Anda tahu apa yang Anda lakukan ).
linux
filesystems
cloning
uuid
LiuYan 刘 研
sumber
sumber
Jawaban:
Untuk membuat UUID baru secara acak, seseorang dapat menggunakan:
Untuk benar-benar mengubah UUID tergantung pada sistem file.
Dengan asumsi filesystem ext-family
Atau jika Anda yakin uuidgen akan berfungsi:
Dengan asumsi filesystem btrfs
UUID disimpan di superblock, sehingga salinan sistem file byte-demi-byte akan memiliki UUID yang sama.
sumber
Menggunakan:
apakah itu sistem file ext , atau
jika itu adalah sistem file xfs .
Alasan partisi kedua memiliki UUID yang sama adalah karena
dd
hanya menyalin data dari satu file ke file lainnya (dd if=/dev/sda1 of=/dev/sdb1
=cat /dev/sda1 > /dev/sdb1
);dd
tidak tahu apa itu partisi, atau bagaimana menghasilkan UUID, jadi itu hanya menyalin semua data apa adanya, termasuk UUID, yang disimpan di sistem file superblock dekat awal partisi.Ngomong-ngomong,
saya juga menganggap UUID (Pengenal Unik Unik) adalah nama yang aneh. Itu harus disebut PGUID (Kemungkinan IDentifier Global unik), atau bahkan lebih baik, hanya ARLN (A Reasonably Number Besar).
sumber
Selain dari ext2 / ext3 / ex4 dan xfs, Anda juga dapat mengubah UUID dari sistem file berikut atau memblokir perangkat.
Menukar
swaplabel -U $NEW_UUID
RAID Perangkat Lunak (md raid)
Untuk MD RAID, Anda harus menghentikan RAID terlebih dahulu, lalu memperbarui UUID saat merakit ulang. Jadi jika RAID Anda sudah di-mount
/
, Anda perlu memperbarui UUID dalam mode offline - gunakan CD langsung untuk melakukannya.mdadm --stop $RAID_DEVICE
mdadm --assemble $RAID_DEVICE --update=uuid --uuid=$NEW_UUID $MEMBER_DEVICES...
Contoh:
mdadm --stop /dev/md127
mdadm --assemble /dev/md127 --update=uuid --uuid=2A1D2A1D-2A1D-2A1D-2A1D-2A1D2A1D2A1D /dev/sda2 /dev/sdb2
Setelah UUID diperbarui, Anda mungkin perlu memperbarui
grub.cfg
(rd.md.uuid=$NEW_UUID
dalamlinux/linuxefi/linux16
baris perintah) dan / ataufstab
dan / ataumdadm.conf
danupdate-initramfs
(keluarga Debian) dan / ataudracut --force
(keluarga Red Hat) agar Anda dapat boot dengan sukses di lain waktu.LUKS (cryptsetup)
cryptsetup luksUUID --uuid=$NEW_UUID $LUKS_DEVICE
Contoh:
cryptsetup luksUUID --uuid=e0c0e0c0-e0c0-e0c0-e0c0-e0c0e0c0e0c0 ~/encrypted-LUKS.loop
FAT / NTFS / exFAT
Ini adalah kisah lain di sini,
saat ini tidak ada utilitas untuk memodifikasi UUID sistem file dari filesystem ini(Lihat jawaban reichhart -mlabel
alat), tetapi kita dapat memodifikasi data mentah pada disk untuk melakukan ini.PERINGATAN, berbahaya untuk memodifikasi data mentah pada disk, dan dapat kehilangan data tanpa operasi yang cermat.
Berikut langkah-langkah detail untuk memodifikasi data mentah menggunakan disk
hexedit
.blkid
, tulis UUID sistem file ke kertas, atau ingat. String UUID FAT / exFAT terlihat seperti1122-3344
, string UUID NTFS terlihat seperti1122334455667788
.Buka perangkat partisi menggunakan hexedit
hexedit <partition device such as /dev/sda1>
blkid
dilaporkan1234-ABCD
, lalu cariCDAB3412
) untuk mencari data UUID pada disk.blkid
untuk memverifikasi UUID.grub.cfg
dan / ataufstab
agar Anda dapat melakukan booting dengan sukses di lain waktu.fsck <partition device such as /dev/sda1>
dan lihat pesan "Ada perbedaan antara sektor boot dan cadangannya" . Untuk menyelesaikannya, pilih "1) Salin sumber asli ke cadangan" , dan jika Anda ditanya "Lakukan perubahan? (Y / n)" Anda menekan y.sumber
mkfs.exfat -i 01234567 /dev/partitionname
manamkfs.exfat
perintah itu diinstal oleh paket exfat-utils di Fedora Linux. Mungkin Anda harus menambahkannya ke jawaban Anda, karena varian hexedit cukup berbahaya!ntfslabel
alat. askubuntu.com/questions/642591/…Untuk XFS, gunakan:
xfs_admin -U <uuid> <device>
Gunakan
xfs_admin -u <device>
untuk melihat UUID (perhatikan opsi huruf kecil untuk melihat, versus opsi huruf besar untuk ditetapkan). Pos lain tentang U&L menunjukkanblkid
perintah untuk melihat semua atau sebagian UUID pada sistem.sumber
Jawaban Parsial untuk VFAT
Untuk sistem file ext * dan xfs sudah ada jawaban yang bagus. Tetapi untuk VFAT saya sangat merekomendasikan untuk menggunakan mlabel dari paket mtools. Menggunakan hex editor adalah BERBAHAYA.
Gunakan sesuatu seperti ini untuk membuat UUID baru:
sumber
mlabel -n -i /dev/sdb3 ::
BTRFS
Menjalankan
btrfsck
dianjurkan karena mengubah UUID di BTRFS bukan operasi atom.sumber
Di bawah Fedora 27 saya menemukan bahwa urutan argumen memainkan peran penting ... Anda harus menulis perangkat terlebih dahulu, jika tidak UUID tidak diubah. Sebagai contoh
sumber
-U
sebelumdevice
.Untuk mengubah perintah dd yang menghasilkan duplikat disk partisi UUID / s - Gunakan GParted.
Dari antarmuka pengguna GParted, pilih drive, pilih partisi, unmount partisi. Dari 'Folder partisi', pilih 'UUID BARU', ulangi sampai semua dd drive duplikasi partisi uuid / s ditandai untuk penggantian. Untuk disk yang dapat di-boot, jangan ganti uuid partisi UEFI.
Tinjau huruf drive dan partisi yang dipilih - Semua OK? ...
Klik ikon 'Terapkan Semua Operasi' pada antarmuka pengguna GParted.
Untuk disk yang dapat di-boot, edit file / etc / fstab UUID = string / s dan mount point / s .:
sumber
Untuk NTFS periksa utas ini untuk detailnya.
Ringkasan:
sumber