從 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可能超出了本網站的範圍。你能「相信它會做正確的工作」嗎?它取決於多個組件的正常工作,其中一些組件並非設計為在虛擬環境中運行。先做好備份。

相關內容