为什么我在关机期间收到错误“卸载 /var 失败”?

Vil*_*age 10 shutdown partition debian unmounting var

我全新安装了 Debian 9.0.0。它有一个单独的 1 GB 分区,用于格式化为 ext4 的 /var。当我从终端关闭时,使用shutdown -h now,会出现一条亮红色的错误消息,指出“卸载 /var 失败”。

此错误的修复方法是什么?

Thi*_*ire 8

问题是 journald

或者更确切地说,它是如何/varsystemd尝试卸载它时仍然登录的。

解决方案

根据这个线程,有两种方法可以解决这个问题:

  1. journald日志记录到一个不稳定的位置,/run这样它就不会锁定/var,但代价是你在关闭时丢失日志。

编辑/etc/systemd/journald.conf以将Storage=行更改为

Storage=volatile

这就是我所做的,它对我有用。

  1. (编辑:这是 ArchLinux 特定的)或者设置一个关闭挂钩以便/var稍后卸载。这不会删除failed消息,因为 systemd 仍会尝试卸载,/var但确实会/var在关闭序列结束时正确卸载。你只是不会看到它。(不过我还没有测试过该解决方案)

shutdownmkinitcpioHOOKS=数组添加一个钩子,例如:

HOOKS="base udev autodetect block keymap encrypt lvm2 filesystems usbinput fsck var shutdown"

  • 主题(1)的一个变体是在journald.conf中保留`Storage=auto`并仅删除/var/log/journal。这也对我有用,日志日志被保存到 /run/log/journal/ 中。请参阅“manjournald.conf”。 (2认同)