我最近将两台旧电脑改装成了一台新机器,并安装了 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 -f
e2fsck -c
e2fsck -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/grubenv
GPT之外,我还没有遇到过任何数据损坏。我已经使用非破坏性读写检查了所有块。
根据“磁盘”实用程序中的 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,并且今天也没有安装它。