远程工作时,我将服务器设置为在引导时使用sudo touch /forcefsck
命令强制fsck 并重新引导。
重新启动后,我检查/var/log/fsck
了磁盘检查的结果。
无论checkfs和checkroot说:什么也没有尚未登陆
那么将结果保存在哪里呢?
远程工作时,我将服务器设置为在引导时使用sudo touch /forcefsck
命令强制fsck 并重新引导。
重新启动后,我检查/var/log/fsck
了磁盘检查的结果。
无论checkfs和checkroot说:什么也没有尚未登陆
那么将结果保存在哪里呢?
Answers:
您可能会受到以下错误的影响:“不在/ var / log / fsck /中记录fsck调用”
/
分区有一个令人讨厌的怪癖,当进入恢复模式时,它强加了一个e2fsck
。这是完美的,但是由于很难记住要从备份中替换的文件,因此一个文件必须能够跟踪据说损坏的文件名。
我发现有一些fsck登录/var/log/upstart/mountall.log
。
fsck
日志会被隐藏起来/var/log/upstart/mountall.log
。/var/log/upstart/mountall.*.log.gz
。相当不合逻辑。但是,似乎没有记录到报告为已损坏的文件名,而是仅记录了它们的inode。
对于Ubuntu 16.04和18.04 根分区
您可能正在寻找/run/initramfs/fsck.log
。
根文件系统的fsck必须在根文件系统以可写方式安装之前发生,因此文件系统检查是在引导过程的早期进行的,而系统仍从initramfs运行。fsck日志被写入到RAM支持的文件系统(tmpfs),该文件系统目前可用于写入,并且在引导后仍可使用/run/initramfs/fsck.log
。这是易失性存储,因此一旦系统重新引导,fsck日志就会丢失。如果在将根文件系统挂载为可写之后将这些日志复制到非易失性存储中,那将是很好的选择,但事实并非如此。
这是一个例子:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
└─sda2 8:2 0 238G 0 part /
$ cat /run/initramfs/fsck.log
Log of fsck -C -a -V -t ext4 /dev/sda2
Fri Nov 30 22:35:21 2018
fsck from util-linux 2.31.1
[/sbin/fsck.ext4 (1) -- /dev/sda2] fsck.ext4 -a -C0 /dev/sda2
/dev/sda2: clean, 653295/15597568 files, 6658147/62383360 blocks
Fri Nov 30 22:35:21 2018
----------------
对于Ubuntu 16.04
命令
journalctl -b --no-pager | grep systemd-fsck
报告非根分区文件系统检查。类似于此:
Mar 22 15:06:26 64bitUbuntu systemd-fsck[750]: /dev/sdb1: clean, 146223/121454592 files, 356711795/485818368 blocks
要在启动时检查根分区,请发出命令
more /var/log/boot.log
提供类似于以下内容的结果:
/dev/sda2: clean, 349091/1954064 files, 2379983/7814912 blocks
对于Ubuntu 18.04
命令journalctl -b --no-pager | grep systemd-fsck
和grep systemd-fsck /var/log/syslog
两者都报告非根分区文件系统检查。
Sep 25 16:06:29 me-Z370-HD3P systemd-fsck[615]: Scratch: clean, 19/6520832 files, 555602/26081280 blocks
Sep 25 16:06:29 me-Z370-HD3P systemd-fsck[609]: /dev/sda1: clean, 47014/89374720 files, 294970235/357492992 blocks
Sep 25 16:06:29 me-Z370-HD3P systemd-fsck[613]: /dev/sda5: clean, 6707/32727040 files, 7464312/130885120 blocks
即使强制执行,UUID结果挂载的根分区检查也未记录。