我在启动时出现硬盘 SMART 检查错误,每次都强制我启动到 UEFI。我已经备份了驱动器上的所有数据,我想尽可能长时间地使用它,而不在乎驱动器是否无法使用,因为我已经备份了它。
以 UEFI 启动可以吗?
答案1
答案2
如果不查看 SMART 数据,您就只能盲目操作,如果 SMART 确定驱动器存在硬件问题,那么除了数据丢失之外,还会产生更多问题,因为硬件问题会导致内核与驱动器的通信问题而挂起。
运行长时间的 SMART 测试来确定驱动器的具体问题:
- Windows 没有独立的
smartctl
二进制软件 - 利用 Linux LiveUSB,通过包管理器安装二进制文件
(如果运行基于 UNIX 的操作系统,请跳至第 4 步,使用操作系统的 pkg 管理器进行安装smartmontools
)
Ubuntu LiveUSB
- 按照 Ubuntu 的指南在 Windows 上创建可启动的 USB 记忆棒
(步骤4:选择 ISO,而不是 FreeDOS) - 启动 LiveUSB,选择无需安装即可试用 Ubuntu
- 进入 Ubuntu 桌面后,通过以下方式打开终端CTRL+ALT+T:
(会弹出Postfix包配置菜单,选择:sudo apt-get update && sudo apt-get install smartmontools
Ok
→No configuration
)-
# List HDDs: ls /dev | grep sd # Poll S.M.A.R.T data ('sdb' is the drive): sudo smartctl -a /dev/sdb
- 在下面供应商特定的 SMART 属性及阈值, 审查:
错误输出将类似于:ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 9 Power_On_Hours 0x0012 043 043 000 Old_age Always - 24972 194 Temperature_Celsius 0x0002 187 187 000 Old_age Always - 32 (Min/Max 16/46) 1 Raw_Read_Error_Rate 0x000b 100 100 062 Pre-fail Always - 0 5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0 7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0 191 G-Sense_Error_Rate 0x000a 100 100 000 Old_age Always - 0 196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0 223 Load_Retry_Count 0x000a 100 100 000 Old_age Always - 0
ATA Error Count: 2 CR = Command Register [HEX] FR = Features Register [HEX] SC = Sector Count Register [HEX] SN = Sector Number Register [HEX] CL = Cylinder Low Register [HEX] CH = Cylinder High Register [HEX] DH = Device/Head Register [HEX] DC = Device Command Register [HEX] ER = Error register [HEX] ST = Status register [HEX] Error 2 occurred at disk power-on lifetime: 403 hours (16 days + 19 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 08 28 d5 00 e0 Error: UNC 8 sectors at LBA = 0x0000d528 = 54568 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- c8 00 08 28 d5 00 e0 08 1d+10:18:07.310 READ DMA ca 00 08 e8 a1 12 e0 08 1d+10:18:06.830 WRITE DMA ca 00 08 c8 fa 11 e0 08 1d+10:18:06.830 WRITE DMA ca 00 08 00 f7 11 e0 08 1d+10:18:06.830 WRITE DMA ca 00 08 b8 f1 11 e0 08 1d+10:18:06.830 WRITE DMA Error 1 occurred at disk power-on lifetime: 369 hours (15 days + 9 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 10 51 08 10 17 35 e0 Error: IDNF at LBA = 0x00351710 = 3479312 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- ca 00 08 10 17 35 e0 08 03:35:59.609 WRITE DMA ca 00 08 60 16 35 e0 08 03:35:59.609 WRITE DMA ca 00 08 20 11 35 e0 08 03:35:59.607 WRITE DMA ca 00 08 08 11 35 e0 08 03:35:59.607 WRITE DMA ca 00 08 b0 10 35 e0 08 03:35:59.607 WRITE DMA
- 在下面SMART 自检日志结构, 审查:
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Short offline Completed without error 00% 24885 - # 2 Short offline Completed without error 00% 24765 - # 3 Extended offline Completed without error 00% 24643 - # 4 Extended offline Completed without error 00% 24523 -
- 运行一个长时间的 SMART 测试,这将需要几个小时:
通过以下方式定期检查进度:sudo smartctl -t long /dev/sdb
sudo smartctl -a /dev/sdb | grep "progress" -i -A 1
- SMART 测试完成后,检查其是否顺利完成:
sudo smartctl -a /dev/sdb | grep "Extended offline"
-
- 启动到 Windows 后,对驱动器上的每个分区运行以下命令:
ChkDsk <DriveLetter>: /OfflineScanAndFix
根据 3.2 和 3.4 的结果,可能需要更换驱动器,但这取决于 SMART 测试以及哪些精确值超出了可接受范围。