FSTAB 中的 UUID 与 /dev/sdX

FSTAB 中的 UUID 与 /dev/sdX

我有一个 Linux 系统,我们强制使用 /dev/devname 来运行系统。

proc            /proc            proc    defaults        0       0
/dev/sda1       /                ext3    barrier=1,errors=remount-ro 0       1
/dev/sda5       /opt             ext3    barrier=1,defaults        0       22 
/dev/sda2       /opt/vortex/dvss ext3    barrier=1,defaults 0   3
/dev/sda6       none             swap    sw              0       0
/dev/scd0       /media/cdrom0    udf,iso9660 user,noauto     0       0

到目前为止,我们的系统运行没有出现任何问题。但是,在某些已安装的机器上,我们经常会看到系统无法正常启动并突然进入“Grub救援”状态

当我将设备安装为辅助设备并运行 E2Fsck 时,我看到系统可以恢复。

现在,我们正在努力解决这个失败问题。 [修复由于 GRUB 错误导致的系统启动失败

为了顺序,我注意到在一些论坛中他们说要在 FSTAB 中设置基于 UUID 的启动

如果通过UUID来设置的话,我们会有哪些优势呢?

是否有可能减少我的 GRUB 错误

答案1

man fstab

可以不明确给出设备,而是通过其 UUID 或卷标(参见 e2label(8) 或 xfs_admin(8))指示要安装的(ext2 或 xfs)文件系统,写入 LABEL= 或 UUID=,例如、“LABEL=启动”或“UUID=3e6be9de-8139-11d1-9106-a43f08d823a6”。这将使系统更加健壮:添加或删除 SCSI [或 SATA] 磁盘会更改磁盘设备名称,但不会更改文件系统卷标。

至于 GRUB 有时无法启动的原因,我怀疑设置 UUID 会改变什么(因为看起来考虑到一些奇怪的 BIOS 设置,即使使用 UUID,它也可能会失败),但还是值得一试。

答案2

UUID 解决了我的问题,这与您的问题相同。

以下摘录来自 Arch Wiki非常有帮助:

如果您的机器有多个 SATA、SCSI 或 IDE 磁盘控制器,则其相应设备节点的添加顺序是任意的。这可能会导致设备名称(例如/dev/sda和 )/dev/sdb在每次启动时切换,最终导致系统无法启动、内核崩溃或块设备消失。持久命名解决了这些问题。

重点是,您的机器有时可能会决定任意交换您的sdasdc。如果发生这种情况,您的启动将会失败。

相关内容