如何将磁盘的UUID更改为我想要的任何内容?

我有一个独特的情况,我需要将usb闪存驱动器的UUID更改为以前的UUID。 我格式化它,显然数字改变了……

我用uTntu服务器设置1TB硬盘,4GB usb闪存盘启动。 在hdd上的Grub配置为UUID,当我格式化USB驱动器并重新安装ubuntu服务器时,UUID发生了变化。 我没有外接显示器,所以我将usb连接到笔记本电脑并在那里安装服务器……而不是将它移到服务器硬件上。

正如我所提到的,我的问题是我需要usb返回到之前的UUID,否则服务器将无法启动。 直到星期一我才能得到外接显示器! 🙂

我知道我之后需要更改这些文件:

UUID最关键的文件:

/boot/grub/menu.lst /etc/fstab /etc/initramfs-tools/conf.d/resume 

但我无法找到有关自定义UUID的网络信息。

任何人?

如果您使用了ext:

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

来自man tune2fs

-U UUID

将文件系统的通用唯一标识符(UUID)设置为UUID。 UUID的格式是由连字符分隔的一系列hex数字,如下所示: c1b9d5a2-f162-11cf-9ece-0020afc76f16 。 UUID参数也可以是以下之一:

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

通过指定UUID = uuid而不是像/ dev / hda1这样的块特殊设备名称,mount(8),fsck(8)和/ etc / fstab(5)(以及可能的其他)可以使用UUID。

我意识到这是一个古老的问题,但我发现有一个新的变化,这就是google为我搜索的内容,所以我会发布我在这里找到的答案。

当我试图在新的14.04 ubuntu上更改我的根文件系统的uuid(到一个众所周知的开头和一个序列号后缀)时,我发现我的恐怖tune2fs报告回来了:我不能这样做来挂载文件系统。 我依赖于能够使用知名uuid的模板图像,并将每个安装更改为序列化的uuid。 我发现问题并非不可克服。

需要禁用一个标志,以允许使用新的tune2fs进行mount-uuid更改。 这是我的过程看起来像:

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

对于xfs,请参阅man xfs_admin

 xfs_admin -U {uuid} {device} 

{uuid}可以’生成’来获得一个新的uuid。

对于reiserfs,请参阅man tunefs.reiserfs

 tunefs.reiserfs -i {uuid} {device} 

对于btrfs,似乎uuid在文件系统中使用,因此每个节点都必须更新。 还没有安全的方法可以做到这一点。

综合信息:

如何对检索和变化,分区,通用唯一标识符-UUID上Linux的