我两天来一直在努力解决这个问题。让我解释:
背景
系统设置
我有一台 Acer Nitro-5 笔记本电脑。
存储设置:1TB HDD & 256GB Intel ssdpekkw256g7。
操作系统设置:双启动、HDD 上的 Ubuntu 20.4 和 SSD 上的 Windows 10。
问题的起源
最近,我的 Windows 速度一天比一天慢。我已经用了快5年了。
两天前,我启动Windows,桌面进程一直挂起。我认为这可能是病毒或其他什么东西,所以我对系统进行了全面扫描。扫描时电源关闭,因此我的笔记本电脑在扫描过程中关闭。我不确定该问题可能是在这次中断之前或之后发生的。当我重新接通电源并启动 Windows 时,我看到蓝屏:
蓝屏
我登录 Ubuntu 来解决这个问题。我备份了所需的所有内容,这样就不会丢失数据。除了我丢失了 SSD 中的一些数据。
我尝试过的
格帕特
我尝试检查磁盘是否有问题,但显示以下内容:
群集记帐失败于 13300092 (0xcaf17c):$Bitmap 中的额外
群集 群集记帐失败于 13300093 (0xcaf17d):$Bitmap
文件系统中的额外群集检查失败!
总共 999 个集群记账不匹配。错误:NTFS 不一致。在 Windows 上运行chkdsk /f
然后重新启动两次!/f 参数的用法非常重要!在修复之前,该软件不会对 NTFS 进行任何修改。
Windows 安全模式和 ChkDsk
因为我无法直接访问 Windows(记住蓝屏)。我尝试使用 Hiren 的 BootCD winPE 来访问 Windows 命令提示符。我运行了该命令,它显示以下三个消息之一:
Windows cannot run disk checking on this volume because it is write protected
The type of the file system is RAW. CHKDSK is not available for RAW drives.
**这是最新的消息:**
chkdsk g: /f
Stage 2: Examining file name linkage ...
An unspecified error occurred (696e647863686b2e 9cd).
An unspecified error occurred (6e74667363686b2e 1798).
Failed to transfer logged messages to the event log with status 6.
这样我就进入了 chkdsk 的死胡同。
格式化磁盘/分区
我尝试使用磁盘管理、Diskpart、GParted、磁盘等格式化分区。它们不起作用,要么说 I/O 错误,要么说一些意外错误。
通过在 SSD 上安装 Ubuntu 来覆盖磁盘
我尝试在 SSD 上安装另一个 Ubuntu 并覆盖 Windows 文件。但这也不起作用,它说“格式化磁盘时发生错误”或类似的内容。
尝试通过 Ubuntu 修复它
sudo mkfs.ext4 /dev/nvme0n1p4
我尝试通过 Ubuntu 更改文件系统,但日志如下:
mke2fs 1.45.5 (07-Jan-2020)
/dev/nvme0n1p4 contains a ntfs file system labelled 'OS'
Proceed anyway? (y,N) y
Creating filesystem with 62186249 4k blocks and 15548416 inodes
Filesystem UUID: 98f9d29e-c882-42ca-9b83-d15bb1f1a9cb
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: mkfs.ext4: Input/output error while writing out and closing file system
所以我尝试检查坏块:
sudo bad blocks -v /dev/nvme0n1
结果是:
Checking blocks 0 to 250059095
Checking for bad blocks (read-only test): 1404620
1404621
1404622
1404623
.
.
.
基本上,它发现了1333个坏块。但我不认为这是一个物理问题,因为 SSD 直到几天前都工作正常。
使用NVME
我曾经nvme
检查过日志:
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning : 0x9
temperature : 25 C
available_spare : 0%
available_spare_threshold : 10%
percentage_used : 4%
data_units_read : 23,584,781
data_units_written : 22,680,050
host_read_commands : 424,922,169
host_write_commands : 435,538,029
controller_busy_time : 7,189
power_cycles : 3,689
power_on_hours : 10,192
unsafe_shutdowns : 298
media_errors : 716,805
num_err_log_entries : 716,805
Warning Temperature Time : 265
Critical Composite Temperature Time : 0
Thermal Management T1 Trans Count : 0
Thermal Management T2 Trans Count : 0
Thermal Management T1 Total Time : 0
Thermal Management T2 Total Time : 0
我真的不知道如何解决它。你能帮我一下吗?
我宁愿不更换SSD。
每个SSD都有一些备用块来重新分配坏块,因为单元在使用过程中会退化。
根据智能日志,所有空闲空间均已使用。由于没有空闲空间来重新分配新的坏块,因此磁盘可以被视为“寿命终止”和“损坏”。
如果您的磁盘有那么多坏块,则很可能存在其他缺陷,增加空间只能在短时间内有所帮助。
可以增加共享空间吗?
我用该工具对通过SATA连接的 SSD 做过一次
hdparm
。它在很大程度上取决于 SSD 固件。
这可能不适用于您的驱动器。
当然这只能在空磁盘上完成。如果磁盘不为空,您很可能会丢失数据。在最坏的情况下,磁盘将完全损坏。被警告。这样做的风险由您自己承担。
要获取 HPA(最大可写扇区):
使用相同的命令,您可以设置系统可用的“最大扇区”,这会将其余部分提供给 available_spare。
我不会给你确切的命令(如果你能阅读手册就很容易)。
如果你自己无法发现,最好不要这样做。
我没有经验是否可以使用 NVME 驱动器,或者是否可以使用
nvme
命令来完成。如果有人知道,请添加答案。也许尝试将所有数据添加到新磁盘中。然后强制格式化SSD。如果仍然显示坏扇区,那是一个坏消息。
坏扇区可以被重新分配,但我认为如果你有1个坏扇区,你就会有越来越多的坏扇区,这是不可阻挡的退化。
好消息是 SSD 现在真的很便宜。