每次启动都进入 UEFI 可以吗?

每次启动都进入 UEFI 可以吗?

我在启动时出现硬盘 SMART 检查错误,每次都强制我启动到 UEFI。我已经备份了驱动器上的所有数据,我想尽可能长时间地使用它,而不在乎驱动器是否无法使用,因为我已经备份了它。

以 UEFI 启动可以吗?

答案1

事实上,此 SMART 错误不断出现不会损坏您的主板或计算机中的其他组件:

在此处输入图片描述

但是,此时最好的办法是直接购买新硬盘并安装,因为硬盘可以使用很多年,而且价格也不贵。如果让这个硬盘报废,你不会省下多少钱。

如今,你可以花 90 美元甚至更少的钱买到一款不错的 SSD:

在此处输入图片描述

如果你坚持要继续使用这个故障硬盘,第二最好的选择就是在主板的 BIOS 中禁用 SMART 监控,因为此时它所做的就是中断启动过程并强制您每次打开 PC 时按 F1。

在此处输入图片描述

您已经知道驱动器很快就会出现故障,因此,在安装新驱动器之前,SMART 对您来说毫无用处。

此时它所做的只是告诉您一些您已经知道的事情!

答案2

如果不查看 SMART 数据,您就只能盲目操作,如果 SMART 确定驱动器存在硬件问题,那么除了数据丢失之外,还会产生更多问题,因为硬件问题会导致内核与驱动器的通信问题而挂起。


运行长时间的 SMART 测试来确定驱动器的具体问题:

  • Windows 没有独立的smartctl二进制软件
  • 利用 Linux LiveUSB,通过包管理器安装二进制文件
    (如果运行基于 UNIX 的操作系统,请跳至第 4 步,使用操作系统的 pkg 管理器进行安装smartmontools

Ubuntu LiveUSB


  1. 按照 Ubuntu 的指南在 Windows 上创建可启动的 USB 记忆棒
    步骤4:选择 ISO,而不是 FreeDOS)
  2. 启动 LiveUSB,选择无需安装即可试用 Ubuntu
  3. 进入 Ubuntu 桌面后,通过以下方式打开终端CTRL+ALT+T
    sudo apt-get update && sudo apt-get install smartmontools
    
    (会弹出Postfix包配置菜单,选择:OkNo configuration
    1. # List HDDs:
        ls /dev | grep sd
      
      # Poll S.M.A.R.T data ('sdb' is the drive):
        sudo smartctl -a /dev/sdb
      
    2. 在下面供应商特定的 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
      
    3. 在下面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         -
      
    4. 运行一个长时间的 SMART 测试,这将需要几个小时:
      sudo smartctl -t long /dev/sdb
      
      通过以下方式定期检查进度:
      sudo smartctl -a /dev/sdb | grep "progress" -i -A 1
      
    5. SMART 测试完成后,检查其是否顺利完成:
      sudo smartctl -a /dev/sdb | grep "Extended offline"
      
  4. 启动到 Windows 后,对驱动器上的每个分区运行以下命令:
    ChkDsk <DriveLetter>: /OfflineScanAndFix
    

根据 3.2 和 3.4 的结果,可能需要更换驱动器,但这取决于 SMART 测试以及哪些精确值超出了可接受范围。

相关内容