Qemu 上の Windows ゲストからホストのハードディスクに chkdsk を実行する

Qemu 上の Windows ゲストからホストのハードディスクに chkdsk を実行する

Windows XP (32 ビット) を実行している古いマシンに問題があります。NTFS パーティションに問題があり、chkdsk /rディスク パーティション全体 (単一の ntfs パーティション) で対処する必要があります。残念なことに、起動するためのメディアはなく、USB キーもなく、Linux を実行している他のコンピューター以外には何もありません。良いニュースは、WindowsXP、Windows 7、BSD、GNU/Linux、さらには Plan9 (xD 楽しみのため) のインストーラーを含む ISO ファイルが多数あることです。つまり、これらの WinXP isos の 1 つを起動として Qemu ゲスト VM を実行し、破損したハード ディスク全体を Qemu ゲストに渡すことができるということです (ただし、他の方法がある場合は本当に知りたいです)。

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

ゲストVMで、

chkdsk /r /f C:

(またはディスクを修復するために必要なもの) を実行して、正しく機能すると信じますか?

質問を明確にする:実際のハードディスクをパラメータとしてqemuに渡すことはできますか?-hdaゲストを使用して渡すと、ディスクがQemuの仮想ハードディスクとして表示されるため、実際のハードディスクと言います。

答え1

うまくいくかもしれません。

バックアップ、バックアップ、バックアップ。回復したいディスクのコピーを作成し、理想的にはそのコピーで作業します。元のファイルシステムを物理ディスク上に残しておく必要がある場合は、ディスク上でこのプロセスを繰り返すことで、何か問題が発生した場合にバックアップがあることがわかります。バックアップディスクイメージを作成できない場合は、qemu の-snapshotバックアップディスクへの読み取り専用アクセスを許可するオプション。

オフラインのファイルシステムでチェックまたは修復を実行する必要があるため、ブート順序から削除しますc。エミュレートされた CD-ROM が何らかの理由で起動に失敗した場合、回復しようとしているディスクから VM を起動しないようにする必要があります。

chkdskおそらくこのサイトの範囲外です。「正しく動作する」と信頼できますか? いくつかのコンポーネントが正しく動作しているかどうかに依存しますが、その一部は仮想環境で実行するように設計されていません。まずバックアップを作成してください。

関連情報