如果在系统崩溃后以某种方式损坏,则在文件系统检查期间删除某些文件/inode。fsck 只报告“一些 inode 被删除”。是否可以准确知道删除了哪些文件以及如何恢复它们?
这是第二次发生这种情况。我按照这些说明在 Ubuntu 上禁用了鼠标加速。
之后我立即尝试注销,但系统挂在 fsck 屏幕上,所以大约 5 分钟后我强制关闭系统,再次打开它时,Ubuntu 卡在 fsck 屏幕上,无法通过!
我尝试使用实时 USB 删除我创建的文件并在 sda6 分区上运行 fsck ,它说一切正常。现在真的不知道该怎么办了。这是它的样子:
我FSCKFIX=yes
在/etc/default/rcS
,然而,当我开车到现场,今天连接一台显示器这台服务器,我看到这一点:
我运行fsck.ext4 -fy /dev/sda1
并重新启动,现在服务器已备份并运行。
我知道在某些情况下,盲目运行fsck -fy
是危险的,可能会导致数据丢失。但是,就我而言,这是一个物理上无法访问的服务器,所有数据都备份在云中。最重要的是 Ubuntu 会采取所有可能的步骤来尝试使其在线。
有没有办法强制 Ubuntu 始终运行fsck -fy
,即使存在任何“意外不一致”问题?
我的电脑死机了。我将其关闭并重新启动并出现此错误:
/dev/sda2 contains a file system with errors, check forced. Inodes that were part of a corrupt orphan linked list found.
/dev/sda2: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. Fsck exited with status code 4.
Run Code Online (Sandbox Code Playgroud)
请向我解释我需要做什么,因为我对 Ubuntu 真的很陌生。
我有一个外置硬盘,肯定会出现故障(4 年多了)。我在读/写时不断遇到 I/O 错误,但在更换它之前,我确实想尝试延长使用寿命。
我知道我可以用来fsck -c /dev/sdX
标记坏块,但这是否也会围绕这些块重新索引文件系统?在我的搜索中,我没有得到可靠的答案。
当我在未安装的驱动器上尝试 fsck -c 时,我收到了错误的超级块消息,因此我正在考虑重新格式化,但这在过去的 I/O 错误方面也没有帮助,我已经这样做了一些以前有过几次。
编辑:为了澄清起见,这是一个旧的 Verbatim 外部驱动器,SATA 驱动器位于一个带有电源适配器的 SATA 转 USB 外壳中。此时,它只是一个连接到 Raspberry Pi 上以供使用的玩具驱动器(我已将其他所有内容备份到 NAS 上)。
就问题而言,我的主要问题是:如果我有一个损坏的块,导致读取和写入数据失败(根据 dmesg 和 badblocks,是否可以将该块标记为“死”并使用下一个好块来读取/写给?
有人能解释一下这个组合的作用吗?我在 Ubuntu 20.10 上错误地按下了它,它向我显示了一个具有相同 fsck 输出的屏幕(\xe2\x80\x9cclean\xe2\x80\x9d 和块数)...现在我担心它实际上运行了 fsck在已安装的分区上...有人可以解释一下这个快捷方式的作用吗?
\n我最近在 Windows 10 上安装了 Ubuntu 18.04LTS,在我启动到 Windows 后,Ubuntu 启动失败fsck.ext4: Superblock checksum does not match superblock while trying to open /dev/sda8
并掉到initframe
终端。我试图用 修复它fsck
,但它不起作用。但是我可以再次启动到 Windows。如何再次启动到 Ubuntu?
问题:哪些机制(除了 in /etc/fstab
)fsck
在启动时自动触发?
详细信息:我的电脑目前运行 Ubuntu 21.04没有任何问题,它工作正常。在启动时,fsck
会执行磁盘检查,因为我在屏幕上看到以下几行。
Ubuntu: clean, 281400/3276800 files, 3602929/13107177 blocks
Run Code Online (Sandbox Code Playgroud)
Ubuntu
我的/dev/sda2
(根分区)的标签在哪里。但是,如果您检查我的/etc/fstab
文件,最后一列(即 fsck 用于确定 fsck 是否应在挂载之前检查文件系统的列)设置为零,因此我不希望在启动时进行任何检查。
# <file system> <mount point> <type> <options> <dump> <pass>
# /dev/sda1
UUID=DA59-E469 /boot/efi vfat defaults 0 0
# /dev/sda2
UUID=862c6f26-cbe0-4cd5-860d-fdf306f697f9 / ext4 noatime,errors=remount-ro 0 0
# /dev/sda3
UUID=70f175d4-ec37-455c-84c5-b93d1e2e8761 /mnt/Data ext4 noatime,nosuid,nodev,nofail,x-gvfs-show 0 0
# swapfile
/swapfile none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)
我只是想知道检查是如何触发的(和/或我的假设是否有问题)。
一些细节:
/etc/fstab
在 Ubuntu 20.04 和 …我在安装 esp(EFI boot)分区时不小心运行了 fsck。Fsck 报告文件系统的引导扇区备份与偏移量 65 处的当前状态不同。这意味着脏位在当前状态中设置,但在备份中未设置,因此我选择不采取任何操作。接下来它通知我脏位已设置,所以我选择删除它,没有报告其他错误,所以我编写了更改。
这会损坏我的ESP吗?我的电脑启动正常,并且在卸载分区的情况下重新运行 fsck 没有报告任何错误。
由于电力波动,我的电脑每天重启大约 6 到 7 次。
所以我想问:我是否必须在每次重新启动时运行fsck
/tune2fs
工具来检查我的文件系统,还是您推荐其他东西?
我的计算机启动时黑屏并显示此错误消息。
\n\n欢迎使用紧急模式!登录后,键入“journalctl -xb”查看
\n系统日志,键入“systemctl restart”重新启动,键入“systemctl default”或^D
\n再次尝试启动到默认模式。
Journalctl -xb 片段(我认为是错误的):
\n\n\xc3\xa1pr 19 19:25:17 agylaptop kernel: ata1.00: exception Emask 0x0 SAct 0x1c0800 SErr 0x0 action 0x6 frozen\n\xc3\xa1pr 19 19:25:17 agylaptop kernel: ata1.00: failed command: READ FPDMA QUEUED\n\xc3\xa1pr 19 19:25:17 agylaptop kernel: ata1.00: cmd 60/08:58:80:a8:29/00:00:05:00:00/40 tag 11 ncq dma 4096 in\n
Run Code Online (Sandbox Code Playgroud)\n\n第 1197-1219 行
\n\n\xc3\xa1pr 19 19:25:17 agylaptop kernel: ata1.00: failed command: READ FPDMA QUEUED\n\xc3\xa1pr 19 19:25:17 agylaptop kernel: ata1.00: cmd 60/00:90:80:6c:93/01:00:09:00:00/40 tag 18 ncq dma 131072 …
Run Code Online (Sandbox Code Playgroud) 屏幕文字如下:
Error reading block 23108274 (input/output error).
/dev/sda5: UNEXPECTED INCONSISTENCY; run fsck MANUALLY
Run Code Online (Sandbox Code Playgroud)
和:
fsck excited with status code 4
done
Failure: file system check of the root filesystem failed
The root filesystem on /dev/sda5 requires a manual fsck
Run Code Online (Sandbox Code Playgroud)
在浏览 Ask Ubuntu 时,我发现了类似的问题,但之前的解决方案都不起作用。
我尝试退出命令后,结果如下:
但是,我重试了退出命令,然后使用了“重新启动”,这让我陷入了以下屏幕:
据我所知,每次重新启动都会加剧问题,因此我对强制关闭感到犹豫。
我别无选择,只能拔掉插头。重新启动时,我在左下角看到了“输入设置 f2”消息,我做到了。在设置过程中,我按了一些键进行导航。系统响应速度如此之慢,以至于我怀疑它是否真的这样做了,而是随机地在不同的选项卡之间切换。我设法退出设置,现在发现自己盯着这个:
我花了一些时间,但现在我有了一个 Ubuntu Live USB。