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直接段错误:
- 检查NTFS分区
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状态,操作更直观。
- Linux下执行
第三步:优先提取可恢复数据
- 尝试只读挂载
sdb6:sudo 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尝试修复。
- 按照提示手动运行fsck:
第五步:申请质保服务
- 你的SSD只用了不到6个月,还在质保期内,如果SMART显示硬件故障,或者上述方法都无法恢复,直接联系品牌售后申请换新,记得先备份能找回的数据。
备注:内容来源于stack exchange,提问作者Stoqn Petkov




