SSD 突然变得不可读-如何诊断?

SSD 突然变得不可读-如何诊断?

几天前我买了一台新笔记本电脑,Thinkpad x270。不幸的是,它有几次崩溃的情况。我相信这是与内置 SSD 有关,但我无法正确诊断。

我正在运行全新安装的 Manjaro 17。

当“崩溃”发生时,一些应用程序会崩溃,其他应用程序会继续运行,但它们都无法正常运行。我尝试做的几乎所有事情都会因 I/O 错误而失败。在桌面上,所有图标都是错误的。单击电源菜单会显示菜单,但不会加载任何文本或图标。如果我切换到另一个 tty,我会看到一些消息,ext4-fs error unable to read itable block但永远无法登录。

我很确定这意味着问题出在我的 SSD 上,但在启动时强制 fsck 似乎没有任何作用,并且 gsmartcontrol 说该驱动器不支持 SMART。

我该如何正确诊断我的问题以便修复它或者更换我的笔记本电脑?

以下是 gsmartcontrol 的输出,如果有帮助的话:

smartctl 6.5 2016-05-07 r4318 [x86_64-linux-4.9.16-1-MANJARO] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       THNSF5512GPUK TOSHIBA
Serial Number:                      17IS10D1TANT
Firmware Version:                   51025KLA
PCI Vendor/Subsystem ID:            0x1179
IEEE OUI Identifier:                0x00080d
Controller ID:                      0
Number of Namespaces:               1
Namespace 1 Size/Capacity:          512'110'190'592 [512 GB]
Namespace 1 Formatted LBA Size:     512
Local Time is:                      Sat Apr  1 07:44:55 2017 CEST
Firmware Updates (0x02):            1 Slot
Optional Admin Commands (0x0017):   Security Format Frmw_DL *Other*
Optional NVM Commands (0x001e):     Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat
Warning  Comp. Temp. Threshold:     78 Celsius
Critical Comp. Temp. Threshold:     82 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     8.00W       -        -    0  0  0  0        0       0
 1 +     3.90W       -        -    1  1  1  1        0       0
 2 +     2.00W       -        -    2  2  2  2        0       0
 3 -   0.1200W       -        -    3  3  3  3     1000    1000
 4 -   0.0120W       -        -    4  4  4  4     5000   10000
 5 -   0.0060W       -        -    5  5  5  5   100000   50000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         2
 1 -    4096       0         1

=== START OF SMART DATA SECTION ===
Read NVMe SMART/Health Information failed: NVMe Status 0x4002

编辑以添加:从那时起,我启动到 sysrescuecd 并使用 badblocks 和 fsck 来尝试查找驱动器的任何错误,但两个测试都没有错误。

这让我更加困惑。是什么原因导致了我看到的错误,但诊断程序却无法发现?

再次更新:我把笔记本电脑送去维修,更换了 SSD,没有问题 - 但错误又出现了。既然不是 SSD(正如 badblocks 所建议的那样),那还能是什么问题呢?毕竟是软件?

答案1

因此,在徒劳地尝试了更多诊断方法[1] 和修补的 Linux 内核后,正确的解决方案似乎是更新 BIOS。

显然,在我的 Lenovo x270 的旧版本 BIOS 下,存在 SSD 进入低功耗状态后无法再次启动的问题。

应用 BIOS 更新并不是一件简单的事情,因为我的笔记本电脑上没有运行 Windows,所以公用事业没有帮助,同一页面的可启动映像采用奇怪的联想特定格式,我常用的工具都无法从中创建可启动的 USB 棒。不过,这也是一个已知问题,有人创建了一个Perl 脚本从 Lenovo 提供的文件中提取实际 ISO 文件。使用此脚本的-o选项,我创建了一个 ISO 文件,可以从中启动并应用更新。

从那时起,我的笔记本电脑似乎运行稳定。

[1]:这个nvme-cli工具对于获取有关我的 SSD 的更多信息很有用,并且它最终(如果巧合的话)帮助我找到了解决方案。

相关内容