启动时(本地)挂载的问题(sysvinit)

启动时(本地)挂载的问题(sysvinit)

在启动过程中,一些/许多挂载点/etc/fstab未挂载。该/etc/mtab文件包含这些挂载点 - 我的理解是系统认为文件系统已挂载。

修改我的/etc/rc.d/init.d/mountfs脚本(取自 LFS),使用以下行

grep -v root /proc/mounts > /etc/mtab

在调用之前(我添加了v#获取一些输出 - 系统声称已经安装)

mount -av -O no_netdev # > /dev/null

允许系统适当地挂载文件系统。

但是,在这种情况下,文件系统在关机时无法正确卸载(由接受参数的同一脚本执行stop)。关机时的错误与根文件系统有关。

df返回显示我的文件系统状态的输出,因此很容易检查。mount输出所有预期的挂载点,即使它们尚未挂载(即,无需修改 /etc/rc.d/init.d/mountfs)

发出诸如 的命令即可mount /mountpoint/in/fstab成功挂载该点,即使它已经在/etc/mtab(大概这是因为mount -a检查mtab,而mount <specific point>没有?)

发生什么问题了?

我的/etc/fstab

# device     mount-point     fs-type    options      dump fsck-order

# Core mount points
proc         /proc           proc       nosuid,noexec,nodev     0  0
sysfs        /sys            sysfs      nosuid,noexec,nodev     0  0
devpts       /dev/pts        devpts     gid=5,mode=620          0  0
tmpfs        /run            tmpfs      defaults                0  0
devtmpfs     /dev            devtmpfs   mode=0755,nosuid        0  0

/dev/sda8    swap            swap       pri=1                   0  0
/dev/sda9    /               ext4       defaults                1  1
/dev/sda10   /home           ext4       defaults                0  2


# Additional mount points
/dev/sda6    /mnt/Ubuntu     ext4       defaults                0  0
/dev/sda11   /sources        ext4       defaults                0  0

# Network mounts
//software.blah.blah/path /mnt/Licensed cifs credentials=/home/<user>/.smbpasswd,ro,_netdev 0 0

答案1

发行grep -v root /proc/mounts > /etc/mtab; echo "/dev/sda9 / ext4 defaults 1 1" >> /etc/mtab已修复该问题。

启动问题是由于 mtab 文件中的条目在关机时未正确删除。一旦将根文件系统添加到 mtab 文件(启动后),关机就会正常进行,然后启动也会正常进行。

mountfs正确设置 mtab 文件后,不需要添加该行。

如果电脑断电/强制关机,这曾经再次出现故障。然后上述步骤可以解决问题。

相关内容