如果系统未安装在 /etc/fstab 中,如何确定系统从哪个驱动器和目录启动?

如果系统未安装在 /etc/fstab 中,如何确定系统从哪个驱动器和目录启动?

我的/etc/fstab不包括系统启动的磁盘,主要是因为我做了一些更改并忘记包括它。初始目录/boot/目录位于不同的驱动器上。

我注意到这一点是因为当我升级系统并更新 grub 和内核时,会对非初始引导驱动器/boot下的目录进行更改。/

启动后如何判断设备是从其目录启动的?

我想将它挂载到/etc/fstabas中/boot并删除或重命名该boot目录下的目录/

答案1

根文件系统在启动时使用参数传递到内核root。所以你应该能够:

cat /proc/cmdline

然后寻找root=/some/path,或者也许root=UUID=longstring。例如,我得到:

BOOT_IMAGE=/boot/kernel-genkernel-x86_64-4.4.0-sabayon root=UUID=18f3b5a1-3994-43ef-ad6d-cb4c86ff5f95 ro quiet splash

如果它是路径,它应该指向可识别的路径(例如 /dev/sdb3)。如果是 UUID,请复制 UUID,然后运行:

ls -la /dev/disk/by-uuid/[paste UUID here]

那应该指向一个符号链接,例如:

lrwxrwxrwx 1 root root 10 Apr 11 22:14 /dev/disk/by-uuid/06699502-fc90-48e4-86c2-cefdaf921e41 -> ../../sda4

它应该告诉你它是哪个驱动器(在我的例子中,sda的第四个分区,iow,/dev/sda4)

相关内容