有没有办法在救援模式下运行 systemctl daemon-reload。(Debian)如果可以,怎么做?
我试图更改其中一个驱动器的挂载点,因此我将 fstab 文件编辑到所需位置。然后,我尝试运行 systemctl daemon-reload,但运行失败。我不记得它给出的错误,但我想如果我重新启动计算机,它就会自行修复...
大问题
重新启动后,我无法通过启动屏幕。该驱动器上的文件系统检查会失败,因此我会被困在重复的屏幕上。我进入救援模式以找出问题所在,据我所知,我只需要运行 daemon-reload,但由于我使用系统的唯一方法是通过救援模式,因此我无法运行该命令。据我所知,它不会在救援模式下运行,因为 1. 我要求它自行重新启动,但它无法做到这一点,或者 2. systemd 没有在救援模式下运行。
2 对我来说不太可能,因为它为什么不运行,但我收到以下错误,这让我认为它没有运行。
在 chroot 中运行,忽略命令“daemon-reload”
然后使用 sudo 我得到更好的
无法分配 pty:没有这样的设备
我假设 pty 在救援模式下不存在,因此 2。
我对问题的理解准确吗?有人对我可以尝试运行 daemon-reload 有什么建议吗?
您可能对它的含义有轻微的误解
systemctl daemon-reload
。如果您执行了需要的操作
systemctl daemon-reload
,但却重新启动系统,则systemctl daemon-reload
重新启动后将不再需要运行,因为重新启动系统也必然会导致您的systemd
配置完全重新加载。换句话说:
systemctl daemon-reload
只需要使systemd
配置更改生效而无需重新启动。如果您重新启动,更改仍将生效。根据您的描述,似乎您
/etc/fstab
文件中现在有一行要么有错误,要么系统无法实现(例如,您告诉系统首先挂载一个尚未创建文件系统的分区(mkfs
),因此其文件系统检查将始终失败)。您可能应该注释掉该
/etc/fstab
行或nofail
为其添加一个选项,以允许系统跳过该行,并且如果由于某种原因挂载文件系统失败,则不会卡在紧急模式中。这样,您的系统应该可以启动到或多或少正常的状态,并且更容易找出无法挂载文件系统的原因。当您从安装介质启动到救援模式时,救援模式将自动将您切换到您要救援的系统。这使得文件系统看起来与系统正常运行时相同。但
systemd
在这种情况下,实际运行的配置仍然在安装介质上,并且没有改变 - 事实上,您无法从切换到要救援的系统的会话中更改它。在这种情况下,
mount
命令应该返回到“经典”模式,跳过 systemd 集成并直接读取。因此,如果您想在进行更正后/etc/fstab
测试有效性,只需运行以尝试挂载 中列出的所有文件系统。/etc/fstab
mount -a
/etc/fstab