我有一台华硕 UX305F,它已使用 GRUB 成功双启动 Ubuntu 18.04 和 Windows。今天我启动了电脑,它在 Ubuntu 加载屏幕上卡住了 15 分钟,所以我硬关机了。
当我再次打开电源时,它无法启动并在屏幕上输出以下错误消息:
[Firmware Bug]: TSC_DEADLINE disabled due to Errata: please update microcode to version: 0x25 (or later)
Error parsing PCC subspaces from PCCT
ata1: COMRESET failed (errno=-16)
ata1: COMRESET failed (errno=-16)
然后我尝试再次重新启动,但它只能启动 Windows,而根本不会启动 GRUB。我能够成功使用 Windows,所以这让我认为这不是磁盘硬件问题。我进入 BIOS 设置,再也看不到我用于双重启动的先前选项启动设备选项了。
我插入了 Ubuntu Live USB,它似乎让我可以选择启动笔记本电脑 SSD 上的 Ubuntu 分区。当我这样做时,我收到了一堆错误:
ata1: failed to read log page 10h (errno=-5)
ata1.00: exception Emask 0x1 SAct 0x78000001 SErr 0x0action 0x6 frozen
ata1.00: irq_stat 0x4000008
ata1.00: failed command: READ FPDMA QUEUED
ata1.00: cmd 60/08:00:98:05:55/00:00:11:00:00/40 tag 0 ncq dma 4096 in
res 40/00:04:98:05:55/00:00:11:00:00/40 Emask 0x1 (device error)
ata1.00: status: { DRDY }
然后我看到下面有很多错误(dev/sda5 是我的带有 Ubuntu 的 ext4 分区):
EXT4-fs error (device sda5): __ext4_get_inode_loc:4619: inode #10223617: block 40894496: comm systemd-tmpfile: unable to read itable block
EXT4-fs (sda5): previous I/O error to superblock detected
Buffer I/O error on dev sda5, logical block 0, lost sync page write
我启动了 Ubuntu Live USB 并运行:
$ sudo fsck /dev/sda5
fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
Superblock last mount time is in the future
(by less than a day, probably due to the hardware clock being incorrectly set)
/dev/sda5: clean, 998052/10625024 files, 34573150/42472704 blocks
所以看起来文件系统没有损坏。当我稍后再次运行它时,它没有关于未来安装时间的消息。然后我挂载了 sda5,它看起来没问题(虽然我的主目录没有文件内容,但我怀疑这是由于使用 ecryptfs 造成的)。
因为我没有看到之前的 GRUB 菜单,所以我认为这可能是由于引导加载程序损坏造成的。
我运行了启动修复,首先打印出信息: http://paste.ubuntu.com/p/wzKqgwvbFS/
修复后的信息如下: http://paste.ubuntu.com/p/zNhdsM8fxm/
发生了什么事?我该如何解决?