从 Qemu 上的 Windows 客户机运行 chkdsk 到主机中的硬盘

从 Qemu 上的 Windows 客户机运行 chkdsk 到主机中的硬盘

我在运行 Windows XP(32 位)的旧机器上遇到问题,它的 NTFS 分区有问题,我需要chkdsk /r对整个磁盘分区(单个 ntfs 分区)进行处理。坏消息是我没有启动介质,没有 USB 密钥,除了其他运行 Linux 的计算机之外什么都没有,好消息是,有很多 iso 文件,其中包含 WindowsXP、Windows 7、BSD、GNU/Linux 甚至 Plan9 的安装程序(xD只是为了好玩)。重点是我知道我可以使用其中一个 WinXP isos 作为启动来运行 Qemu 来宾虚拟机,并将整个损坏的硬盘传递给 Qemu 来宾,我的意思是类似的(但如果还有其他替代方案,我真的需要知道)

qemu-system-x86_64 -cdrom /isofile -hda /dev/sdb -boot order=dcn

然后在来宾虚拟机中,我可以这样做吗

chkdsk /r /f C:

(或修复磁盘所需的任何内容)并相信它会完成正确的工作?

澄清问题:我可以将一个真实的硬盘作为参数传递给 qemu 吗?我说真实硬盘是因为当我通过使用-hda来宾时将磁盘视为 Qemu 虚拟硬盘

答案1

它可能会起作用。

备份,备份,备份。制作您要恢复的磁盘的副本,并最好在该副本上进行操作。如果您需要将原始文件系统保留在物理磁盘上,那么您可以在磁盘上重复该过程,并知道在出现问题时您有备份。如果无法创建备份磁盘映像,请查看 qemu 的-snapshot允许对备份磁盘进行只读访问的选项。

我将从c引导顺序中删除,因为您想在脱机文件系统上运行检查或修复。如果模拟的 CDROM 由于某种原因无法启动,您可能不希望虚拟机尝试从您尝试恢复的磁盘启动。

chkdsk可能超出了本网站的范围。你能“相信它会做正确的工作”吗?它取决于多个组件的正常工作,其中一些组件并非设计为在虚拟环境中运行。先做好备份。

相关内容