如何在 fstab 中使用 PARTUUID?

joe*_*bbi 6 partitioning boot

我需要增加引导分区的大小(我已经使用 autoremove 删除了旧内核)。我增加了驱动器 (VM) 的大小,并创建了一个新分区。我做了所有很棒的事情来制作新分区 /boot。Blkid 显示 sda1 UUID=1234 PARTUUID=5678-01 和新分区 sda3 UUID=1234 PARTUUID=5678-03。我尝试将 PARTUUID="5678-03" /boot 添加到我的 fstab 但它没有启动(它适用于 /dev/sda3 /boot)。由于分区 1 和 3 位于同一个磁盘(和相同的 UUID)上,我如何在 fstab 中输入它?

dpb*_*dpb 6

正如 @mook765 在评论中提到的,我认为你可以使用 PARTUUID,但只是不带引号。

\n\n
PARTUUID=5678-03 /boot [...]\n
Run Code Online (Sandbox Code Playgroud)\n\n

另外,如果失败,我认为您可以使用/dev/disk/by-partuuid/*udev 创建的符号链接。

\n\n

您可能还想使用“UUID”,而不是“PARTUUID”。这是我的 fstab 的引导部分的示例(这是 Ubuntu 的默认设置):

\n\n
# /boot was on /dev/sda1 during installation\nUUID=4e8a17a6-87ca-403b-9a1a-896d553e518c       /boot   ext3    defaults        0       2\nUUID=7A56-4947  /boot/efi       vfat    defaults        0       1\n
Run Code Online (Sandbox Code Playgroud)\n\n

获取块设备的 UUID:

\n\n
sudo blkid /dev/sda1\n/dev/sda1: LABEL="ubuntu-boot" UUID="4e8a17a6-87ca-403b-9a1a-896d553e518c" TYPE="ext3" PARTLABEL="ubuntu-boot" PARTUUID="57e3d2de-492b-4875-b110-76325e2401ec"\n
Run Code Online (Sandbox Code Playgroud)\n\n

例如,在另一台机器上,您会注意到磁盘上的每个文件系统都有不同的 UUID:

\n\n
root@bierstadt:~# lsblk -o name,UUID /dev/sda\nNAME                    UUID\nsda                     \n\xe2\x94\x9c\xe2\x94\x80sda1                  8D99-B7B6\n\xe2\x94\x9c\xe2\x94\x80sda2                  147da7cf-c356-4ff9-a6fa-8fb555290b25\n\xe2\x94\x94\xe2\x94\x80sda3                  1dd7ce7d-6de9-40e0-bd3f-5550ae40a588\n  \xe2\x94\x94\xe2\x94\x80sda3_crypt          mAdSjw-3B31-Z7Im-WbCk-QmIP-b01M-5mFckC\n    \xe2\x94\x9c\xe2\x94\x80ubuntu--vg-root   1b3d8c0f-2241-48c1-a272-39f8e683ccc9\n    \xe2\x94\x94\xe2\x94\x80ubuntu--vg-swap_1 fd34789c-c65f-4253-a810-8183988e9760\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,UUID 随文件系统一起提供。因此,如果您克隆了分区,UUID 将随之而来。如果您想安装它,您可能应该更改它,或者明确地引用它:

\n\n

来自这个博客

\n\n
\n

由于不可能挂载具有相同 UUID 的两个文件系统,\n 在环境中使用 LVM 快照(或克隆磁盘)时需要格外小心:挂载可能会因重复的 UUID 而失败。\n [ ...]\n 处理此问题的一种方法是在创建期间或之后更改 UUID,另一种方法是使用 nouuid\n 选项进行挂载。

\n
\n\n

改变:

\n\n
# tune2fs -U new_uuid /dev/sdaX\n
Run Code Online (Sandbox Code Playgroud)\n\n

参考

\n\n\n