You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Patriot Burst El SSD无法访问、I/O错误及文件系统异常问题求助

Patriot Burst El SSD无法访问、I/O错误及文件系统异常问题求助

问题背景

我这块Patriot Burst El SSD只用了不到6个月,原本装了Windows 10和Debian双系统,平时主要用Linux,Win10很少碰。最近Linux更新重启后就开始出问题,弹出大量输入/输出错误。之后我把SSD接到另一台同时有Win10和Linux的电脑上,情况时好时坏:

  • 有时用fdisk -l能看到完整分区表:
Disk /dev/sdb: 223,57 GiB, 240057409536 bytes, 468862128 sectors
Disk model: Patriot Burst El
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x393a909f

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1  *         2048   1126399   1124352   549M  7 HPFS/NTFS/exFAT
/dev/sdb2         1126400 183175167 182048768  86,8G  7 HPFS/NTFS/exFAT
/dev/sdb3       183175168 184262655   1087488   531M 27 Hidden NTFS WinRE
/dev/sdb4       184262656 468862127 284599472 135,7G  5 Extended
/dev/sdb5       184264704 188166143   3901440   1,9G 82 Linux swap / Solaris
/dev/sdb6       188168192 468860927 280692736 133,8G 83 Linux
  • 有时能看到/home文件夹但里面是空的,甚至有一次直接显示磁盘无分区
  • 我用testdisk做了深度扫描但没找到有效恢复结果,今天尝试检查坏块和文件系统时遇到报错:
    • 检查NTFS分区sdb1时,e2fsck提示不是ext文件系统,这没问题;
    • 检查Linux主分区sdb6时,出现大量I/O错误,甚至e2fsck直接段错误:
star@stars:~$ sudo e2fsck -cfpv /dev/sdb6
/dev/sdb6: recovering journal
Error reading block 27262992 (Input/output error) while reading inode and block bitmaps.
/dev/sdb6: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
Error reading block 2097152 (Input/output error) while reading inode and block bitmaps.
/dev/sdb6: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
Error reading block 10485761 (Input/output error) while reading inode and block bitmaps.
/dev/sdb6: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
Signal (11) SIGSEGV si_code=SEGV_MAPERR fault addr=0x60
e2fsck(+0x31ece)[0x558e5ee78ece]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f4854642520]
/lib/x86_64-linux-gnu/libext2fs.so.2(ext2fs_super_and_bgd_loc2+0x43)[0x7f4854a12cf3]
Error reading block 18874368 (Input/output error) while reading inode and block bitmaps.  /lib/x86_64-linux-gnu/libext2fs.so.2(ext2fs_flush2+0x226)[0x7f4854a159d6]
/dev/sdb6: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
/lib/x86_64-linux-gnu/libext2fs.so.2(ext2fs_close2+0x11b)[0x7f4854a1db0b]
/lib/x86_64-linux-gnu/libext2fs.so.2(ext2fs_close_free+0x1a)[0x7f4854a1db9a]
Signal (11) SIGSEGV e2fsck(preenhalt+0x8d)[0x558e5ee6f84d]
si_code=SEGV_MAPERR fault addr=0x3a
e2fsck(+0x36fa9)[0x558e5ee7dfa9]
/lib/x86_64-linux-gnu/libext2fs.so.2(+0x40d0f)[0x7f4854a42d0f]
/lib/x86_64-linux-gnu/libext2fs.so.2(+0x3ca17)[0x7f4854a3ea17]
e2fsck(+0x31ece)[0x558e5ee78ece]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f4854642520]
e2fsck(preenhalt+0x7f)[0x558e5ee6f83f]
e2fsck(+0x36fa9)[0x558e5ee7dfa9]
/lib/x86_64-linux-gnu/libext2fs.so.2(+0x40d0f)[0x7f4854a42d0f]
/lib/x86_64-linux-gnu/libext2fs.so.2(+0x3ca17)[0x7f4854a3ea17]
/lib/x86_64-linux-gnu/libext2fs.so.2(+0x3cce1)[0x7f4854a3ece1]
/lib/x86_64-linux-gnu/libc.so.6(+0x94b43)[0x7f4854694b43]
/lib/x86_64-linux-gnu/libc.so.6(+0x126a00)[0x7f4854726a00]
star@stars:~$

现在想问问大家,这种情况还有什么办法可以尝试?


排查与恢复建议

先提醒你:数据优先,如果sdb6里有重要数据,先别再对磁盘做写入操作(包括修复、格式化),优先尝试只读挂载或者镜像磁盘后再操作。

  • 第一步:排除硬件连接问题

    • 换个SATA接口/数据线试试,或者换到另一台电脑的不同接口,排除接触不良、线材损坏的可能;
    • 如果是笔记本内置SSD,检查是否松动,必要时重新插拔固定。
  • 第二步:用SMART检测磁盘健康

    • Linux下执行sudo smartctl -a /dev/sdb查看SMART报告,重点关注Reallocated_Sector_Ct(重分配扇区数)、Current_Pending_Sector(待重分配扇区数)、UDMA_CRC_Error_Count(CRC错误数),这些数值异常基本能确定是SSD硬件故障;
    • Windows下可以用CrystalDiskInfo查看SMART状态,操作更直观。
  • 第三步:优先提取可恢复数据

    • 尝试只读挂载sdb6sudo mount -o ro /dev/sdb6 /mnt,如果挂载成功,立刻把重要数据复制到其他安全磁盘;
    • 如果直接挂载失败,试试用photorec(testdisk自带工具)扫描整个磁盘提取文件,虽然文件名可能丢失,但能找回大部分可恢复的数据。
  • 第四步:尝试文件系统修复(数据已备份后操作)

    • 按照提示手动运行fsck:sudo fsck /dev/sdb6,不要加-a-p参数,过程中会提示修复选项,谨慎选择(部分修复可能丢失数据);
    • 如果fsck崩溃,试试用备份超级块修复:先执行dumpe2fs /dev/sdb6 | grep -i superblock找到备份超级块位置,再用e2fsck -b <备份超级块位置> /dev/sdb6尝试修复。
  • 第五步:申请质保服务

    • 你的SSD只用了不到6个月,还在质保期内,如果SMART显示硬件故障,或者上述方法都无法恢复,直接联系品牌售后申请换新,记得先备份能找回的数据。

备注:内容来源于stack exchange,提问作者Stoqn Petkov

火山引擎 最新活动