从过去两周开始,我的 SSD 在 GNU/Linux 中遇到了问题。我认为这不是设备问题,但我不确定。有时(最后几天每隔 1-2 天)我会失去对磁盘的物理访问权限,就好像它已断开连接或断电一样。
错误:
EXT4-fs error (device: sda2): ext4_find_entry:1465: inode #1308161: comm NetworkManager: reading directory lblock 0
我从照片中输入了此错误,因此它可能不完全准确。
笔记:
设备始终是相同的“sda2”,没有注意到其他(大家庭)分区的错误。下次我会尝试检查一下。索引节点和进程名称发生变化,但 NetworkManager 很常见。 lblock 始终为 0。
硬件:
戴尔 E7270 带SSD盘 LITEON CV3-8D512-11 SATA 512GB
软件:
Debian 测试,内核 4.11。
smartctl 简要输出:
Device Model: LITEON CV3-8D512-11 SATA 512GB
Serial Number: TW0956WWLOH006CU022Z
LU WWN Device Id: 5 002303 100ce15e0
Firmware Version: T89110D
User Capacity: 512,110,190,592 bytes [512 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: M.2
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ATA8-ACS, ATA/ATAPI-7 T13/1532D revision 4a
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Wed Jul 5 12:32:39 2017 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
...
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0003 100 100 000 Pre-fail Always - 0
9 Power_On_Hours 0x0002 100 100 000 Old_age Always - 327
12 Power_Cycle_Count 0x0003 100 100 000 Pre-fail Always - 335
175 Program_Fail_Count_Chip 0x0003 100 100 000 Pre-fail Always - 0
176 Erase_Fail_Count_Chip 0x0003 100 100 000 Pre-fail Always - 0
177 Wear_Leveling_Count 0x0003 100 100 000 Pre-fail Always - 59
178 Used_Rsvd_Blk_Cnt_Chip 0x0003 100 100 000 Pre-fail Always - 0
179 Used_Rsvd_Blk_Cnt_Tot 0x0003 100 100 000 Pre-fail Always - 0
180 Unused_Rsvd_Blk_Cnt_Tot 0x0033 100 100 005 Pre-fail Always - 2688
181 Program_Fail_Cnt_Total 0x0003 100 100 000 Pre-fail Always - 0
182 Erase_Fail_Count_Total 0x0003 100 100 000 Pre-fail Always - 0
187 Reported_Uncorrect 0x0003 100 100 000 Pre-fail Always - 0
194 Temperature_Celsius 0x0003 100 100 000 Pre-fail Always - 76
195 Hardware_ECC_Recovered 0x0003 100 100 000 Pre-fail Always - 0
199 UDMA_CRC_Error_Count 0x0003 100 100 000 Pre-fail Always - 0
238 Unknown_Attribute 0x0003 097 100 000 Pre-fail Always - 3
241 Total_LBAs_Written 0x0003 100 100 000 Pre-fail Always - 4293005286
242 Total_LBAs_Read 0x0003 100 100 000 Pre-fail Always - 3510503294
SMART Error Log Version: 0
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 298 -
# 2 Short offline Completed without error 00% 294 -
# 3 Offline Interrupted (host reset) 80% 294 -
# 4 Offline Interrupted (host reset) 10% 294 -
# 5 Short offline Completed without error 00% 294 -
# 6 Short offline Completed without error 00% 1 -
# 7 Short offline Aborted by host 90% 1 -
想法:
- 运行坏块检查
- 检查连接
答案1
这是APST问题。
有两种解决方法:
跑步
sudo nano /etc/default/grub
搜索以 value 开头的行
GRUB_CMDLINE_LINUX_DEFAULT
并添加为 valuenvme_core.default_ps_max_latency_us=0
。结果应该是:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=0"
然后保存文件:
sudo update-grub reboot
如果第一个变体不起作用,只需禁用 ASPM:
pcie_aspm=off
。所以最终的结果应该是:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=off"
然后保存文件:
sudo update-grub reboot
答案2
这可能不是导致您的机器出现上述情况的原因。但就我而言,这是因为我的电脑靠近电线。可能有一些物理现象,比如电磁共振或者其他什么原因导致我的机器一直出现APST问题。我重新布置了办公桌,不再将笔记本电脑放在电源线附近,问题就解决了。简单的。
答案3
我同意关于强电磁场的情况,如果您的家在那里,这可能是搬家甚至搬迁的原因。
我去一家咖啡馆喝咖啡和工作,那里的一切都不对劲:摇摇欲坠的地板,跑来跑去的女服务员。我换了 3 次表,最后一次我开始出现问题中的错误。然后我重新启动了大约 5-7 次,结果相同。我在一种非常恼怒的状态下无法做任何事情(这对我来说很奇怪),我回家了。
现在在家——一切都恢复正常了!
看起来像 SSD 磁盘这样的敏感设备(或者人体的心理情绪状态)可以对这样的电磁环境做出反应。
因此,在对系统进行任何重新配置或尝试拯救笔记本电脑的任何其他有风险的更改之前,请先尝试另一个位置!
答案4
我想我已经通过移除 SDD、将空气吹入 M.2 连接器并将其重新插入来解决了这个问题。
当我从 USB 启动拯救 Debian 时,我注意到更详细的内核调试信息。在搜索时我注意到大多数解决方案都是更换 SATA 电缆。笔记本电脑 M.2 连接没有电缆。
一些最重要的日志文本:
exception Emask 0x10 SAct ... SErr ... action 0xe frozen
interface fatal error, PHY RDY changed
SError: { PHYRdyChg LinkSeq }
failed command: WRITE FPDMA QUEUED
Emask 0x10 (ATA bus error)
hard resetting link