我有一台 8 年前的双启动笔记本电脑,但它无法启动 Ubuntu 或 Windows。选择 Ubuntu 时,我得到了一个 BusyBox,上面主要显示:
failed command: READ FPDMA QUEUED
blk_update_request: I/O error, dev sda, sector 552058008
有什么软件解决方案吗?还是这台机器已经完蛋了?
我尝试过例如:
dd if=/dev/sda of=/dev/sda
但并没有任何效果。
我不在乎是否丢失所有数据,我只希望它能够再次恢复。
我通过实时 CD 进行了智能检查,当我第一次访问磁盘时,/dev/sda 正常,但有 57 个坏扇区。运行短路和传送后,测试失败:
这是否意味着我的磁盘坏了?
所有属性在智能测试中都得到了 OK 的评估,所以可能还有希望。此外,如果我从实时 CD 中选择“检查光盘缺陷”,它会完成,没有发现任何错误。
答案1
我通过实时 CD 进行了智能检查,当我第一次访问磁盘时,/dev/sda 正常,但有 57 个坏扇区。运行短路和传送后,测试失败:
在这种情况下,磁盘是不是好的。它最多也就是快要坏了,而且根据扇区的位置,它们可能会使磁盘不太可能坏掉。坏扇区数不会减少;只会增加 - 通常相对较快。
答案2
磁盘可能开始出现故障。SMART 测试在许多方面都失败了,系统在内核崩溃等情况下报告 IO 错误。
此外,这是运行命令不安全:
dd if=/dev/sda of=/dev/sda
该命令将从磁盘读取每个字节并将其写回磁盘,这在最好的情况下是无用的,在最坏的情况下是具有破坏性的。
您可以运行另一个命令来验证磁盘是否损坏:
sudo apt install debsums
sudo debsums -s
如果该命令打印任何内容,debsums
则意味着磁盘上的系统文件已损坏。
另请参阅此现有问题以评估磁盘的运行状况:
https://superuser.com/questions/171195/how-to-check-the-health-of-a-hard-drive
另一种“简单”的测试方法是创建一个包含随机内容的文件,对其进行哈希处理,然后多次复制该文件并观察是否有任何复制的文件具有错误的哈希值:
dd if=/dev/urandom of=data.bin bs=1G count=1
cp data.bin copy1.bin
cp data.bin copy2.bin
cp data.bin copy3.bin
sha256sum *.bin
如果任何哈希值不同,则磁盘在存储 4G 数据时会出现问题。您可以增加大小以继续测试。还要注意,对已经出现故障的磁盘施加压力会大大增加其发生永久性故障的可能性。