启动时卡在 initramfs

启动时卡在 initramfs

屏幕文字如下:

Error reading block 23108274 (input/output error). 
/dev/sda5: UNEXPECTED INCONSISTENCY; run fsck MANUALLY

和:

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

在浏览 Ask Ubuntu 时,我发现提到了类似的问题,但之前的解决方案都不起作用。

我尝试退出命令后,结果如下:

在此处输入图片描述

但是,我重试了退出命令,然后使用“重新启动”,结果却卡在了以下屏幕:

在此处输入图片描述

由于有人告诉我每次重启都会使问题恶化,所以我不太愿意强制关机。

我别无选择,只能拔掉电源插头。重启时,我在左下角看到一条“输入设置 f2”消息,我照做了。在设置中,我按了一些键进行导航。系统响应速度太慢了,我怀疑它是否真的响应了,而是随机切换不同的选项卡。我设法退出了设置,现在发现自己正盯着这个:

在此处输入图片描述

我花了一些时间,但现在我有了一个 Ubuntu Live USB。

答案1

首先,我们使用 修复磁盘fsck。然后我们修复 NCQ 错误。然后我们对磁盘进行坏块处理。

文件系统检查

在 initramfs 提示符下,输入:

fsck /dev/sda5

全国资格考试

您有 NCQ 磁盘错误。

本机命令队列 (NCQ) 是串行 ATA 协议的扩展,允许硬盘驱动器内部优化接收的读写命令的执行顺序。

编辑sudo -H gedit /etc/default/grub并更改以下行以包含此额外参数。然后执行sudo update-grub将更改写入磁盘。重新启动。监视器挂起,并观察/var/log/syslogdmesg是否继续出现错误消息。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=noncq"

坏块

  • 注意:不要中止坏块扫描!
  • 注意:不要对 SSD 造成坏块
  • 注意:请先备份您的重要文件!
  • 注意:这将花费很多小时
  • 注意:您可能面临硬盘故障

在“尝试 Ubuntu”模式下启动 Ubuntu Live DVD/USB。

terminal...

sudo fdisk -l # identify all "Linux Filesystem" partitions

sudo e2fsck -fcky /dev/sdXX #只读测试

或者

sudo e2fsck -fccky /dev/sda5 # non-destructive read/write test (recommended)

-k重要,因为它保存了之前的坏块表,并将任何新的坏块添加到该表中。如果没有-k,您将丢失所有之前的坏块信息。

办法-fccky

   -f    Force checking even if the file system seems clean.

   -c    This option causes e2fsck to use badblocks(8) program to do
         a read-only scan of the device in order to find any bad blocks.
         If any bad blocks are found, they are added to the bad block
         inode to prevent them from being allocated to a file or direc‐
         tory.  If this option is specified twice, then the bad block scan
         will be done using a non-destructive read-write test.

   -k    When combined with the -c option, any existing bad blocks in the
         bad blocks list are preserved, and any new bad blocks found by
         running badblocks(8) will be added to the existing bad blocks
         list.

   -y    Assume an answer of `yes' to all questions; allows e2fsck to be
         used non-interactively. This option may not be specified at the
         same time as the -n or -p options.

更新#1:

在 BIOS 中,您意外更改了启动顺序,现在出现了 PXE 启动错误。返回 BIOS 并将启动顺序改回类似 DVD/USB/Disk/PXE 的顺序

答案2

您必须强制 fsck 在系统启动时运行。

为此,您必须在系统的根分区中创建一个名为 forcefsck 的文件,并在终端中使用以下命令:

cd /
sudo touch /forcefsck
sudo reboot

相关内容