最近,当我启动计算机时,我被告知它正在恢复我的一个 ext3 分区的日志。
如果计算机关机不正常,人们可能会看到这种情况,但据我所知,这是在正常关机后发生的。
此外,在这些情况下,被发现为孤立并被清除的 inode 数量只有一个或两个。
我已经执行了 fsck,但情况仍然存在。
我可以检查哪些日志文件来找出发生这种情况的原因? 发生这种情况的原因有哪些? 我该如何解决?
更新
fstab如下:
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda5 during installation
UUID=ead12a48-4a3b-4e3a-b611-d3fc62e8716a / ext4 errors=remount-ro,noatime,nodiratime 0 1
# /home was on /dev/sda6 during installation
UUID=217f1c44-5d04-4c75-9d4a-2a70b1726434 /home ext3 defaults,noatime,nodiratime 0 2
更新2
cat /var/log/fsck/{checkfs,checkroot}
返回(Nothing has been logged yet.)
两次。
答案1
您唯一的 ext3 分区恰好是/home
。出现问题的一个可能原因是/home
未被卸载,因为在系统关闭时它正在使用中。由于/home
在没有普通用户登录时不应使用 ,因此确定它在无人登录时是否正在使用是确定此特定可能问题是否是导致您特定问题的原因的一种方法。
暂时地启用 root 登录在您的系统上(我们稍后会再次禁用它)。这将允许您无需访问即可登录
/home
,以便您可以检查是否有其他程序正在使用它以及它是否正确卸载。登出。
按Ctrl+ Alt+F1切换到文本虚拟终端。
以 root 身份登录。这将在 root 的主目录 (
/root
) 中启动一个 shell,该目录位于 之外/home
。尝试
/home
通过键入来卸载umount /home
(由于您已经是 root 用户,因此不需要 sudo)。如果成功,那么这不是你的问题。如果失败,那么这就是你的问题。如果原因是文件系统正在使用中,那么该命令
fuser -m /home
将列出/home
你可以调查的进程。/home
通过键入 再次挂载mount /home
。使用命令注销
exit
。Alt按+切换回图形登录屏幕F7。
以您自己的身份重新登录。
禁用 root 登录将系统恢复至其原始配置。
/home
这可能会或可能不会找出您的特定问题的原因,但在一般情况下应该能够识别阻止在系统关闭时干净卸载的进程。
答案2
正如您在评论中提到的,eCryptfs 可能是导致您出现问题的原因。要检查这一点,请执行以下步骤:
- 注销并以其他用户身份登录
- 尝试以以下方式打开您的文件
/home/richard
(或以您的用户名)。 - 如果您可以访问并读取这些文件,则表示您的主目录未正确卸载。
作为用户,您可以做的另一件事是输入ecryptfs-umount-private
。此脚本成功退出并显示以下消息:
您的私人目录已被卸载。
出现错误时你可能会收到以下消息:
fopen: No such file or directory Cannot chdir into mountpoint.
在后一种情况下,问题通常是缺少符号链接。因此请执行以下步骤:
- 以普通用户身份登录
- 确保您的主目录是不是加密(您可以阅读所有文件)。
- 打开一个终端(如果您在终端中工作,只需输入
cd
即可进入$HOME
)。 - 输入
ln -s /home/.ecryptfs/YOUR_USERNAME/.ecryptfs
和ln -s /home/.ecryptfs/YOUR_USERNAME/.Private
。
重点是最后一步中的符号链接。在某些情况下,它们会丢失。这会导致无法加密和卸载家中的数据。
但是如果问题仍然存在,那么文件也可能$HOME/.ecryptfs/auto-umount
丢失。如果是这种情况,您的主目录将不会自动卸载。只需输入touch $HOME/.ecryptfs/auto-umount
即可更改它。