我无法删除丢失+找到的磁盘中的垃圾目录(安装在/attic 上)
所有命令均以 root 身份执行:
% mount /attic/ ; cd /attic/lost+found ; pwd
/attic/lost+found
# rmdir #648843480
rmdir: failed to remove '#648843480': No such file or directory
我甚至无法“ls”目录,否则会导致文件系统重新挂载为 ro(因为选项 errors=remount-ro),并且我无法 lsattr 查看属性,甚至无法盲目尝试关闭所有 chattr 选项。
# cd ; umount /attic/ ; mount /attic/ ; cd /attic/lost+found ; pwd
/attic/lost+found
# touch test ; rm -f test
# ls
total 4
4 '#64884340'/
# touch test ; rm -f test
touch: cannot touch 'test': Read-only file system
# cd ; umount /attic/ ; mount /attic/ ; cd /attic/lost+found ; pwd
/attic/lost+found
# chattr -aAcCdDeijPsStTu #64884340
chattr: Permission denied while reading flags on #64884340
# touch test ; rm -f test
touch: cannot touch 'test': Read-only file system
(我也在其中进行了 fsck 并得到了相同的结果)
查看 dmesg 时,它提到了 casefold 功能,因此我尝试了 chattr -F:
# cd ; umount /attic/ ; mount /attic/ ; cd /attic/lost+found ; pwd
/attic/lost+found
# chattr -F #64884340
Usage: chattr [-pRVf] [-+=aAcCdDeijPsStTu] [-v version] files...
# lsattr #64884340
# touch test ; rm -f test
touch: cannot touch 'test': Read-only file system
完成所有操作后,我需要对文件系统进行 fsck,因为它被标记为错误,但 fsck 没有发现任何错误。请注意,lsattr 没有输出
注意到大小写错误以及加密上下文了吗?根据 chattr 手册页,有一个 E(加密),lsattr 可以看到它,但 chattr 无法更改它。我是否有一个加密文件有错误,并且由于这个错误我无法修复或删除它?
仅尝试“ls”目录所导致的 dmesg 输出是:
[602996.921677] EXT4-fs (nvme1n1p5): mounted filesystem with ordered data mode. Opts: discard,errors=remount-ro
[603002.007850] EXT4-fs error (device nvme1n1p5): ext4_lookup:1701: inode #64884340: comm ls: casefold flag without casefold feature
[603002.008874] Aborting journal on device nvme1n1p5-8.
[603002.009475] EXT4-fs (nvme1n1p5): Remounting filesystem read-only
现在我注意到日记本被吹走了(以前不是这样的)
# mount /attic/
# dmesg -c
[601934.070181] EXT4-fs (nvme1n1p5): mounted filesystem without journal. Opts: discard,errors=remount-ro
(我正在使用‘tune2fs -j ...’进行修复,并且偶尔也必须这样做)
有什么建议吗?这是一个相当新的 SSD,因此如果它损坏了我会感到惊讶。