![通过 fstab 安装时出现错误](https://linux22.com/image/1194882/%E9%80%9A%E8%BF%87%20fstab%20%E5%AE%89%E8%A3%85%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF.png)
我在通过 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
对所有其他分区也执行此操作。