在无法识别的驱动器上运行 chkdsk(不存在于 diskpart 中)

在无法识别的驱动器上运行 chkdsk(不存在于 diskpart 中)

我的 SSD 有 NTFS 损坏(可能是因为时间太长,尽管 SMART 没有在任何地方提到“接近故障”状态,并且仍然给它 31% 的资源)。

我能够通过克隆(创建图像)来恢复大部分内容Linux并使用testdisk
但是有些文件丢失了。我可以用( )
查看它们,但是无法打印出来(文件系统错误)。ntfslsntfsprogs

ntfsprogs也拒绝执行它据称提供的任何修复和恢复例程,告知磁盘已标记chkdsk并建议先执行该操作。

现在,如果我尝试将此磁盘连接到 Windows 机器或启动 Windows 恢复模式并从那里打开命令提示符 - 我无法访问该磁盘 -diskpart更不用说mountvol它了。

还有什么可以尝试的吗?
要么说服 Windows 识别此磁盘,要么使用可以完成工作的第三方工具chkdsk。或者也许还有可以从 Linux 执行的其他操作。

答案1

解决了。
​​关键是意识到我不需要chkdsk在物理磁盘上运行。

1.在Linux下创建磁盘映像

我已经这样做了,但为了完整性在这里提一下。

根据故障的性质,dd可能只需执行一项即可,也ddrescue可能需执行其他操作。

2. 将原始映像转换为 VHD

这将允许在 Windows 下安装它。

可以做到这一点的工具:

  • qemu-img
  • VBoxManage来自 Oracle VirtualBox。

我在用着适用于 Windows 的 qemu-img使用以下命令:

.\qemu-img.exe convert -O vpc -p .\image.dd .\image.vhd

-O vpc设置 VHD 输出格式。用于-O vhdxVHDX。

-p以 % 为单位打印进度,这很有用,因为它可能需要一段时间。

3. 安装image.vhd

diskmgmt.msc这可以通过文件上下文菜单或“操作→附加 VHD”菜单项完成。

磁盘的 NTFS 分区将获得分配的字母。

4. 运行chkdsk

假设V:\我们需要检查的音量为:

chkdsk V: /X /R

chkdsk文档

这将花费很多时间。

5. 完成

就是这样。已检查的卷已自动重新安装并可访问。我可以看到testdisk未找到的文件。

如果损坏的磁盘是系统磁盘,并且现在从不同的/新的 Windows 安装访问,则由于所有权/权限的原因,访问用户文件可能会很困难。但那是另外一回事。

相关内容