通过 fstab 安装时出现错误

通过 fstab 安装时出现错误

我在通过 fstab 安装时遇到问题,导致我的 ubuntu 服务器以紧急模式启动。我不确定我做了什么,但我确实在某个时候让它工作了。这是 fstab 中的代码编写方式

/dev/disk/by-id/ata-WDC_WD40EFZX-68AWUNO_WD-WX32DC02K0DD-part1 /mnt/disk1   xfs defaults 0 0
/dev/disk/by-id/ata-WDC_WD40EFZX-68AWUNO_WD-WX32DC0HY19Z-part1 /mnt/disk2   xfs defaults 0 0
/dev/disk/by-id/ata-WDC_WD40EFRX-68N32NO_WD-WCC7K5TUY2LZ-part1 /mnt/disk3   xfs defaults 0 0
/dev/disk/by-id/ata-WDC_WD80EFZZ-68BTXNO_WD-CA28AU9K-part1     /mnt/disk4   xfs defaults 0 0

当我尝试通过安装它时,mount -a我收到一个错误

> /dev/disk...0DD-part1" Can't open blockdev 
> mount: /mnt/disk1: special device /dev/disk...0DD-part1 does not exist.

我尝试安装的每个磁盘都会显示此错误。但是,如果我从终端运行以下代码,就可以正常安装它们

mount /dev/disk/by-id/ata-WDC_WD40EFZX-68AWUN0_WD-WX32DC02K0DD-part1 /mnt/disk1
mount /dev/disk/by-id/ata-WDC_WD40EFZX-68AWUN0_WD-WX32DC0HY19Z-part1 /mnt/disk2
mount /dev/disk/by-id/ata-WDC_WD40EFRX-68N32N0_WD-WCC7K5TUY2LZ-part1 /mnt/disk3
mount /dev/disk/by-id/ata-WDC_WD80EFZZ-68BTXN0_WD-CA28AU9K-part1 /mnt/disk4

知道我做错了什么吗?我在论坛上查找了不同的答案,但实际上并没有帮助我更接近解决这个问题。我最近没有重新分区任何驱动器。如果我通过终端进行手动安装,然后注释掉 fstab 行,我可以让服务器启动并运行,但这最终会导致其他问题。

这一切似乎都是在更新和重启后发生的。并不是说这导致了它,但从那时起我就一直遇到问题。

其他可能的相关信息 Ubuntu 22.04.2 LTS

我确实确保了 mkdir /mnt/disk1 - /mnt/disk4。如果我通过终端手动安装所有驱动器,它们都会按预期工作。

cat /etc/fstab 的输出

# / was on dev/ubuntu-vg/ubuntu-lv during curtin installation
/dev/disk/by-id/dm-uuid-LVM-UTmmKp12MPQMJOl1dVrDvQKEyta1fUcahtQHdcb1J58rmxz4AmnY5ywRHzso8ivW / ext defaults 01
# /boot was on /dev/sdc2 during curtin installation
/dev/disk/by-uuid/ae9ea8d3-134a-4438-a352-68cd301b666a /boot ext4 defaults 0 1
/swap.img none swap sw 0 0

ls /dev/mapper 的输出

control  ubuntu--vg-ubuntu--lv

答案1

/dev/disk目录由“udev”填充。我不确定并且无法在短时间内证明 systemd 在处理后会启动 udev /etc/fstab

/dev/disk这意味着 udev在系统运行时没有创建链接/etc/fstab

最好使用 UUID/etc/fstab而不是/dev/disk/...路径。

使用以下命令获取 UUID blkid,例如

blkid /dev/disk/by-id/ata-WDC_WD40EFZX-68AWUN0_WD-WX32DC02K0DD-part1

它将显示类似

/dev/disk/by-id/ata-WDC_WD40EFZX-68AWUN0_WD-WX32DC02K0DD-part1: ... UUID="Q6MOds-VJGb-L7fd-qZxN-VHoM-PxRz-IDA4hW" ...

现在编辑/etc/fstab并用 UUID 替换 /dev/disk 路径:

UUID="Q6MOds-VJGb-L7fd-qZxN-VHoM-PxRz-IDA4hW" /mnt/disk1 xfs defaults 0 0

对所有其他分区也执行此操作。

相关内容