Làm cách nào để thay đổi UUID của đĩa thành bất cứ thứ gì tôi muốn?


29

Tôi có một tình huống duy nhất là tôi cần thay đổi UUID của ổ flash USB thành UUID trước đó. Tôi định dạng nó và rõ ràng số đã thay đổi ...

Tôi đã thiết lập máy chủ Ubuntu với hdd 1TB và ổ đĩa flash USB 4GB để khởi động. Grub on hdd được cấu hình cho UUID, nó đã thay đổi khi tôi tạo ổ đĩa USB và cài đặt lại máy chủ Ubuntu. Tôi không có màn hình ngoài, vì vậy tôi gắn usb vào máy tính xách tay và cài đặt máy chủ ở đó ... hơn là tôi chuyển nó sang phần cứng máy chủ.

Như tôi đã đề cập, vấn đề của tôi là tôi cần usb để quay lại UUID trước đó, nếu không máy chủ sẽ không khởi động được. Và tôi không thể có được màn hình bên ngoài cho đến thứ hai! :)

Tôi biết tôi cần những tập tin này thay đổi sau đó:

Các tệp mà UUID quan trọng nhất:

/boot/grub/menu.lst

/etc/fstab

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

Nhưng tôi không thể tìm thấy bất cứ nơi nào trên thông tin mạng về việc tùy chỉnh UUID.

Bất kỳ ai?

Câu trả lời:


37

Nếu bạn đã sử dụng ext cho nó:

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

Từ man tune2fs

-U UUID

Đặt mã định danh duy nhất trên toàn cầu (UUID) của hệ thống tệp thành UUID. Định dạng của UUID là một chuỗi các chữ số hex được phân tách bằng dấu gạch nối, như thế này : c1b9d5a2-f162-11cf-9ece-0020afc76f16. Tham số UUID cũng có thể là một trong những điều sau đây:

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

UUID có thể được sử dụng bởi mount (8), fsck (8) và / etc / fstab (5) (và có thể cả những người khác) bằng cách chỉ định UUID = uuid thay vì một tên thiết bị đặc biệt như / dev / hda1.


Điều đó đã làm việc! Nhưng tôi không thể tìm thấy: /etc/initramfs-tools/conf.d/resume Tôi thấy rằng /boot/grub/menu.lst đã được chuyển đổi thành /boot/grub/grub.cfg

Tôi có /etc/initramfs-tools/conf.d/resume trên hệ thống của mình. Và grub.cfg thực sự là menu mới.lst (Tôi nghĩ rằng người ta đã chơi với grub2 mới.
Rinzwind

Bất kể tôi cố gắng gì, tôi đều gặp lỗi khi cố gắng đặt UUID của riêng mình (Tune2fs: Định dạng UUID không hợp lệ). Có một thứ tự cụ thể cho mọi thứ?
Andrew

tun2fs không hoạt động trên đĩa gpt ZFS của tôi, tôi phải làm gì ở đó?
Brian Thomas

Nhìn vào câu trả lời cho XFS (xfs_admin) Tôi khuyên bạn nên tìm kiếm một zfs_admin Nhưng không phải là zfs Solaris?! Làm thế nào để bạn thấy Ubuntu có thể giúp đỡ ở đây?
Rinzwind

14

Tôi nhận ra đây là một câu hỏi cũ, nhưng tôi thấy có một sự thay đổi mới và đây là điều mà google đã rình mò cho tôi, vì vậy tôi sẽ đăng câu trả lời tôi tìm thấy ở đây.

Khi tôi cố gắng thay đổi uuid của hệ thống tập tin gốc của mình (thành một khởi đầu nổi tiếng và hậu tố số sê-ri) trên phiên bản 14.04 mới, tôi đã tìm thấy giai điệu kinh dị của mình được báo cáo lại: Tôi không thể làm điều đó với các hệ thống tệp được gắn. Tôi phụ thuộc vào việc có thể sử dụng một hình ảnh mẫu với một uuid nổi tiếng và thay đổi từng cài đặt thành một uuid được tuần tự hóa. Tôi thấy vấn đề không thể vượt qua.

Có một cờ cần được vô hiệu hóa, để cho phép các thay đổi được gắn kết với giai điệu mới2fs. đây là quá trình của tôi

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:~#

Cảm ơn. Có thể hữu ích trong tương lai, nhưng tôi vẫn vào ngày 12.04 :)

1
Bạn có thể sử dụng root_disk=$(findmnt -n -o SOURCE /)thay vì đường ống để grep và cắt.
mivk

ĐỪNG LÀM R ORNG HAY BẠN S COR ĐÁNH GIÁ PHIM CỦA BẠN. Tôi đã xóa sau đó thêm lại uninit_bgvà nó dẫn đến hỏng siêu dữ liệu và tự động chỉ đọc lại trong lần khởi động tiếp theo ( ext4_mb_generate_buddy:757: group 1, block bitmap and bg descriptor inconsistent: 3701 vs 3700 free clustersloại thông báo lỗi). Lý do là tune2fstrực tiếp sửa đổi đĩa, dưới chân kernel và khi kernel cập nhật bgsiêu dữ liệu, một nửa số lần nó thực sự làm hỏng siêu dữ liệu! dòng dưới cùng: UUID của tệp không thể thay đổi một cách an toàn mà không ngắt kết nối hệ thống tệp đúng cách.
Eric

6

Đối với xfs xem man xfs_admin

xfs_admin -U {uuid} {device}

{uuid} có thể là 'tạo' để có được một uuid mới.

Để xem lại man tunefs.reiserfs

tunefs.reiserfs -i {uuid} {device}

Đối với btrfs, có vẻ như uuid được sử dụng mặc dù các hệ thống tệp nên mọi nút phải được cập nhật. Không có cách nào an toàn để làm điều đó.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.