web-dev-qa-db-ja.com

VirtualPCが差動vhdの親ディスクを失いました

2年前に私はそれを持っていました素晴らしいベースウィンドウを作成するアイデアXP私のすべてのVM with XPが使用します。
もちろん、VM with XP :-)は1つしかありませんでした。

今日、HDDに空き容量を確保する必要があったので、使用されていないものを見つけましたVM「WindowsXP」という名前で5GBしかありませんでした。できるだけ早く削除しました: -)そしてもちろん私は「ごみ箱」を使わないようにシフトを使いました。

今、実行したいときにXP VM次のエラーが発生します: "...の親ハードディスクの1つがありません。」

私が今持っているこの差動vhdからファイルを復元できるようになるとすぐに、それは私にとって問題ではありません。

そう:

  • 必要なファイルが入ったディファレンシャルディスクがあります
  • 親ディスクがありません

私の質問は:この差分hvdからファイルを復元するにはどうすればよいですか?

1
SeeR

5Gbしかない場合は、 Diskeeper's Undelete のようなリカバリソフトウェアを試してみてください。

更新:私が使用していて非常に便利だと思ったソフトウェアは WinUndelete で、ファイルが回復可能かどうかがわかります。これは、今後最も抵抗の少ない道かもしれません。差分ディスクからのリカバリに関する詳細については、まもなく投稿します。

更新(2):Ben Armstrong(Microsoftの仮想化プログラムマネージャー)による ブログ

「親AVHDがないと、子AVHDからデータを取得する方法はありません。」

可能であれば、その親VHDを取得する必要があります。削除されたファイルを上書きまたは破損する可能性のあるディスク集約型の操作には十分注意してください。私のプログラマーは、子VHDをバイトストリームとして解析し、特定のファイルのマーカーを探して、何らかの方法でファイルを回復できる可能性があると言っていますが、そうは思われません。

2
Aaron

このリファレンスは、次の場合にも役立ちます。

    Implementing a Differencing Hard Disk 

    A differencing hard disk stores the file locator of the parent hard disk inside the differencing hard disk itself. When a virtual machine tries to open a differencing hard disk, both the differencing hard disk and the parent hard disk are opened. The parent hard disk can also be a differencing hard disk, in which case there could be a chain of differencing hard disks which finally end in a non-differencing hard disk. 
    To have the ability to move hard disks across platforms, the hard disk format is designed in such a way that it can store parent hard disk file locators for different platforms at the same time.
    The parent locator table is used only by the differencing hard disks, as described in “Dynamic Disk Header Format” earlier in this paper. The parent locator table stores a platform code for every parent file locator stored in the file. The virtual machine reads the appropriate parent file locator for the current platform and opens the hard disk image. 
    In Windows, there are two types of platform locators: W2ku and W2ru. The former is the absolute pathname of the parent hard disk, and the latter is a pathname to the parent hard disk relative to the differencing hard disk. 
    For example, a parent hard disk image located in the root drive on a typical Windows-based machine would be stored as follows:

    Type    Example
    W2ku    c:\directory\parent.vhd
    W2ru    .\directory\parent.vhd

    As an example on a typical Apple Macintosh-based machine, the parent hard disk image would be stored as follows:

    Type    Example
    Mac (Mac OS alias stored as a blob)
    MacX    file://localhost/directory/parent.vhd

    The advantage of the relative pathname is that it allows portability of the differencing and parent hard disk to different locations. With the absolute pathname, whenever the parent hard disk is moved, the parent and child hard disks must be explicitly re-linked. 

差分ディスクを作成するときは、可能であれば、それぞれのプラットフォーム上の両方のタイプのプラットフォームロケーターのパス名を初期化する必要があります。注:Microsoft Virtual PC 2004より前のバージョンでは、絶対パス名のみが保存されていました。差分ハードディスクの書き込み操作書き込み操作では、すべてのデータが差分ハードディスクイメージに書き込まれます。ブロックビットマップは、特定のブロックに書き込まれるすべてのセクターに対してダーティとしてマークされます。差分ハードディスクの読み取り操作仮想マシンがハードディスクイメージのセクターを読み取るとき、差分ハードディスクサブシステムは、差分ハードディスクのブロックビットマップをチェックします。差分ハードディスクサブシステムは、差分ハードディスクからダーティとマークされたセクターを読み取り、親ハードディスクからクリーンとマークされたセクターを読み取ります。たとえば、親ハードディスクイメージと子ハードディスクイメージの両方でセクター4096から8191を保持するブロックについて考えてみます。ブロックの最初のセクターは、ブロックのビットマップを保持します。単一のセルはビットマップのビットを表し、黒い点は仮想マシンによって書き込まれたブロック内の特定のセクターを表します。

0
Frank R.

Vhdファイルの内部動作について多くのことを知るか、何らかの方法でマウントする必要があると思います。おそらく vhdmount または WinMount などが機能します。 。差動ディスクに何が格納されているかについての詳細がわからないため、元のディスクが必要かどうかはわかりません。

Recuva 元のファイルを見つけて復元することは、スペースが不足しているように他のデータで埋め戻しているため、元のファイルが失われるため、不可能であると想定しています。

0
Mokubai

MediaHeal for Virtual Drives というプログラムを見つけました。それを使用して別のvhdをスキャンした後、ファイルを復元できるようです。デモバージョンでは、フォルダ/ファイル構造のみが復元されますが、これらの違いを何らかの方法でNTFSにデコードできることが証明されています。

enter image description here

それが可能だとわかった今、私は簡単な心を持っています。このツールの価格は199ドルです。誰かがもっと安い/無料のものを知っているなら、私は提案を受け付けています!

0
SeeR