我的计算机双启动,包括 Windows 和 Ubuntu 20.04,启动时出现黑屏并显示以下错误消息:
[ 647.729444] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x40000 action 0x0
[ 647.729482] ata1.00: irq_stat 0x40000001
[ 647.729498] ata1: SError: {CommWake }
[ 647.729516] ata1.00: failed commands: READ DMA EXT
[ 647.729534] ata1.00: cmd 25/00:00:20:64:63/00:01:11:00:00/e0 tag 28 dfma 131072 in
[ 647.729534] res 51/40:68:b8:64:63/00:01:11:00:00/f1 Emask 0x9 (media error)
[ 647.729590] ata1.00: status: { DRDY ERR }
[ 647.729606] ata1.00: error: { UNC }
[ 647.730346] blk_update_request: I/O error, dev sda, sector 291726520 op 0x0:(READ) flags 0x80700 phys_seg 2 prio class 0
答案1
让我们看看是否可以对该磁盘进行坏块修复并使其恢复运行。
注意:不要中止坏块扫描!
注意:不要对 SSD 造成坏块
注意:请先备份您的重要文件!
注意:这将花费很多小时
注意:您可能面临硬盘故障
在“尝试 Ubuntu”模式下启动 Ubuntu Live DVD/USB。
在terminal
...
sudo fdisk -l
# 识别所有“Linux 文件系统”分区
sudo e2fsck -fcky /dev/sdXX
# 只读测试
或者
sudo e2fsck -fccky /dev/sdXX
# 非破坏性读写测试(受到推崇的)
-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.