32 filesystem
我有一个独特的情况,我需要将 USB 闪存驱动器的 UUID 更改为以前的 UUID。我格式化了它,显然数字改变了......
我已经使用 1TB 硬盘和 4GB USB 闪存驱动器设置了 ubuntu 服务器。硬盘上的 Grub 配置为 UUID,当我格式化 USB 驱动器并重新安装 ubuntu 服务器时,该 UUID 发生了变化。我没有外接显示器,所以我将 USB 连接到笔记本电脑并在那里安装服务器......而不是将它移动到服务器硬件。
正如我提到的,我的问题是我需要 USB 才能回到以前的 UUID,否则服务器将无法启动。而且我直到星期一才能获得外接显示器!:)
我知道我之后需要更改这些文件:
UUID 最关键的文件:
/boot/grub/menu.lst
/etc/fstab
/etc/initramfs-tools/conf.d/resume
Run Code Online (Sandbox Code Playgroud)
但是我在网上找不到关于自定义 UUID 的任何信息。
任何人?
Rin*_*ind 40
如果你使用了 ext:
tune2fs /dev/{device} -U {uuid}
Run Code Online (Sandbox Code Playgroud)
从 man tune2fs
-U UUID
将文件系统的通用唯一标识符 (UUID) 设置为 UUID。UUID 的格式是一系列由连字符分隔的十六进制数字,如下所示:
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
Run Code Online (Sandbox Code Playgroud)
通过指定 UUID=uuid 而不是像 /dev/hda1 这样的块特殊设备名称,UUID 可以被 mount(8)、fsck(8) 和 /etc/fstab(5)(可能还有其他人)使用。
kvm*_*420 13
我意识到这是一个老问题,但我发现有一个新的变化,这就是谷歌为我窥探的,所以我会发布我在这里找到的答案。
当我试图在新的 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:~#
Run Code Online (Sandbox Code Playgroud)
对于 xfs,请参见 man xfs_admin
xfs_admin -U {uuid} {device}
Run Code Online (Sandbox Code Playgroud)
{uuid} 可以“生成”以获取新的 uuid。
对于 reiserfs,请参阅 man tunefs.reiserfs
tunefs.reiserfs -i {uuid} {device}
Run Code Online (Sandbox Code Playgroud)
对于 btrfs,似乎整个文件系统都使用了 uuid,因此每个节点都必须更新。目前还没有安全的方法来做到这一点。