每次启动时出现 Grub 问题;通常错误:无效的环境块

每次启动时出现 Grub 问题;通常错误:无效的环境块

我最近将两台旧电脑改装成了一台新机器,并安装了 Linux Mint 19.2。

现在每次启动时,某物GRUB 有问题。我知道您在想什么:磁盘坏了,尽快更换。但请继续阅读。

我写下了其中一些启动消息并对其进行了编号以供参考。

错误1

error: failure writing sector 0x74800 to `hd0'.
error: failure reading sector 0x6338d from `hd0'.

Press any key to continue...

我不认为按一个键有任何作用。我需要硬重置。

错误2

error: failure writing sector 0x6c808 to `hd0'.
error: failure reading sector 0x74200 from `hd0'.
error: you need to load the kernel first.

Press any key to continue...

    Failed to boot both default and fallback entries.

Press any key to continue...

按键无法启动系统,但我可以按 ctrl+alt+del 来重新启动。

错误3

error: invalid environment block.

电脑挂在这里。数字锁定反应灵敏,但极其滞后。我需要硬重置系统。

错误4

error: invalid environment block.

Press any key to continue...

这是让我高兴的一件事,因为按一个键即可正常启动。

所以每次启动时,有二分之一的情况会出现上述错误 4,而我只需按一个键即可正常启动。

另一半时间,我需要使用 Linux Mint 可启动 USB 记忆棒启动。我将运行fsck.ext4 -f /dev/sda1(这是我的/boot分区),发现没有问题,我重新启动,五次中有四次出现上述错误 4,但我可以正常启动。

我猜还有十分之一的时间我需要再次启动到 USB,然后运行gdisk​​,这会通知我可启动 SSD 的 GPT 已损坏,我需要恢复备份记录。然后当我重新启动时,出现上述错误4,并且可以正常启动。

为了能轻松修复,我尝试使用不同的分区布局完全重新安装 Linux Mint。问题是一样的。

我想一定是有问题,我跑了,,,,fsck(这些是我记得的),但从来没有发现任何问题。fsck.ext4 -fe2fsck -ce2fsck -cc

我尝试像这样重新创建环境块:

cd /boot/grub
rm grubenv
grub-editenv grubenv create
grub-editenv grubenv set default=0

重新创建环境块有时会导致单次启动无错误,但下次启动时错误总是会出现。

希望触发一些内部坏块重新排序系统,我尝试/boot在重新创建环境块之前进行 Zerofil,如下所示:

dd if=/dev/zero of=/boot/zerofil.bin bs=32M; rm /boot/zerofil.bin

但这也没有改变任何事情。我已经备份了我的分区,并比较了备份。除了/boot/grub/grubenvGPT之外,我还没有遇到过任何数据损坏。我已经使用非破坏性读写检查了所有块。

根据“磁盘”实用程序中的 SMART 屏幕,所有评估均为“正常”。没有任何一项属性评估超过其阈值。这“重新分配的扇区数”为零,并且“读取错误率”为零。

我相信 SSD 没有任何问题,但不知何故我的系统无法安全地写入磁盘事先的启动 Linux,导致其损坏所接触的文件。似乎首先从实时 USB 记忆棒启动 Linux 并进行软重启可以解决此问题。有时我需要进行硬重置,我相信这有时会导致 GPT 损坏,需要我使用gdisk.

造成这种情况的原因是什么?我该如何解决这个问题?

这是旧版 Crucial M4 ATA M4 CT256M4SSD2 修订版 0009索泰 H77-ITX WiFi H77ITX-AE(2012)主板带有旧的BIOS,但不幸的是它是最新的BIOS。

A209P 0.10 x64 05/09/2013 09:48:07

我依稀记得大约 6(?)年前,当我在这个 SSD/主板上安装 Linux 时,有一些问题让我认为这个 SSD 坏了,我随机尝试了一些东西,直到它正常工作。我相信首先需要安装 Windows,然后再安装 Linux。但这听起来像是巧合。 SSD 并未被大量使用,因为大部分操作都发生在单独的 HDD 驱动器上。这个SSD基本上只包含Windows和Linux。我从未在此 SSD 上使用过 Windows,并且今天也没有安装它。

相关内容