我在 VPS 上从 SysVInit 切换到 systemd,从那时起文件系统就以只读方式挂载。重新挂载文件系统可以正常mount -o remount,rw /
工作,但文件系统在重新启动时会再次以只读方式挂载。
为了安装 systemd,我运行了:
apt install systemd
apt install systemd-sysv
迄今为止,我已经尝试过:
- 重新安装 systemd 和 systemd-sysv
init
运行时看到此消息后重新安装apt install systemd-sysv
:
dpkg: sysvinit-core: dependency problems, but removing anyway as you requested:
init depends on systemd-sysv | sysvinit-core; however:
Package systemd-sysv is not installed.
Package sysvinit-core is to be removed.
apt autoremove
卸载 SysVInit ( )所需的旧软件包
我环顾四周,但似乎找不到解决方案。我读到,Linux 系统偶尔会这样做,以在遇到错误时保护您的数据,因此我包含了dmesg
.当存储出现问题时,其他用户似乎也遇到了类似的问题,但我没有看到他们在运行时看到的任何相同消息fsck
。
输出来自dmesg
:https://pastebin.com/zrRzMqLd
输出来自fsck
:
fsck from util-linux 2.36.1
任何帮助,将不胜感激。我是一个相对经验丰富的 GNU/Linux 用户,但我对 Linux 系统启动时会发生什么(或者为什么会出错)知之甚少。
答案1
在一位(更有经验的)朋友的帮助下,我得出的结论是该问题是由丢失的/etc/fstab
文件引起的。它可能已被我的一项apt
操作删除。这解决了问题:
- 使用 重新将文件系统挂载为读写
mount -o remount,rw /
。 - 以 root 身份运行
blkid
。 - 对于列出的每个设备,将相应的行从 复制
/proc/mounts
到 到/etc/fstab
(该行应以相同的设备名称/UUID 开头)。不要将整个/proc/mounts
文件复制到/etc/fstab
.
有关更多信息/etc/fstab
:https://www.howtogeek.com/howto/38125/htg-explains-what-is-the-linux-fstab-and-how-does-it-work/