无法在 MacBook Air 上启动 Ubuntu 16.04

无法在 MacBook Air 上启动 Ubuntu 16.04

我已经在 MacBook Air 上使用 Ubuntu 有一段时间了,一切都运行良好,直到今天,我的电池耗尽了,之后无法启动。

在我打开电脑大约 30 分钟后,在 Plymouth 徽标显示后,initramfs shell 出现了,我收到一条错误消息,内容类似于“没有 UUID xxxxxxx-xxxxx 的分区...”。之后我尝试运行,blkid它给了我 /dev/sda1 和 /dev/sda3 的 UUID,它们分别是 EFI 分区和交换分区,但它没有给出我的 Ubuntu 安装所在的 /dev/sda2 的 UUID。然而,我收到了几行错误消息。第一个是

ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0

最后是

blk_update_request: I/O error, den sda, sector 1050630 Buffer: I/O error on dev sda2, logical block 0, async page read

这是整个输出blkid。

因此,我猜测硬盘可能已损坏,并尝试从 Live USB 启动,但出现错误,如“文件 /boot 不存在”。这很奇怪,因为我曾在这台笔记本电脑上使用过该 USB 启动,但我不知道这是否与问题有关。

是什么导致了这个问题?我该怎么做才能解决它?我将非常感激任何帮助!

更新:使用dd命令写入我发现 sda2 上的字节 0 到 23 是我无法读取的字节。用零替换这些字节安全吗/dev/sda2/dev/null

更新 2:我尝试使用dd覆盖硬盘的缺陷部分,但得到了与我尝试读取它们或执行blkid

更新 3:尽管出现无法找到的错误/boot,但我还是能够从 Live USB 启动,我只需要等待一分钟左右。我能够启动 GParted,但收到很多错误消息,而且 GParted 甚至无法获取文件系统类型sda2

答案1

我能解决问题的唯一方法是重新安装 Ubuntu。

我所做的是从 Live USB 启动,然后我必须通过以下方式用零覆盖磁盘的缺陷部分:

sudo dd if=/dev/zero of=/dev/sda2 count=24 bs=1024

只是我不小心输入了bs=1m而不是bs=1024,所以我删除了比我预期更多的数据。如果我没有这样做,也许我就不必重新安装 Ubuntu 了。

无论如何,dd命令执行后,安装程序按预期运行,Ubuntu 安装成功。我丢失了所有数据,但至少笔记本电脑还能用。

相关内容