Virtualboxで実行しているUbuntu 12.04.1は、ソフトウェアをインストールしているときにスペースを使い果たしましたが、現在は 再起動しない です。回復する必要があるファイルがあります。 Windows 7(ホスト)ラップトップにubuntu64.vdi
ファイルがあり、vdiファイルからファイルを回復する方法があるかどうか疑問に思っていました。
並行して、同じラップトップ内のvirtualboxで新しい12.04.1マシンを生成しました。そして、私は、そのマシンを、壊れたマシンの代わりに使用します。
壊れたvdi
を作業中のディスクのリストに追加できます。次に、gnome nautilusを使用して、破損したディスクをマウントしました。
私はそこにファイルを見つけることができますが、それらは約2ヶ月前のものです。これは、マシンのvirtualboxスナップショットを最後に作成したときと一致すると思いますが、昨日、稼働中のマシンを最後に取得したときではありません。昨日、クラッシュする直前にvdi
をマウントする方法はありますか?
編集済み:
Virtual Media Manager
がubuntu64.vdi
ファイルについて教えてくれるのは次のとおりです。
編集2:
ubuntu.vdi
を十分なディスク容量のある外部USBにコピーしました。 Windowsを使用してクローンを作成しようとしましたが、エラーが発生しました。
USBドライブの共有フォルダーを介して、作業中のVMから同じことを試み、クローンを開始しました。しばらくかかりましたが、正常に終了しました:
root@precise64:/media/sf_E_DRIVE/copy_of_ubuntu64_vm_folder_20140224/ubuntu64#
VBoxManage clonehd ubuntu64.vdi ubuntu64.raw --format RAW
0%...
10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'RAW'. UUID: 90f99198-18e1-40ee-85fe-c083dcbb1ac3
編集3:
生ファイルを作成した後、testdisk
をDeeper Search
で実行すると、次のようなリストが表示されます。
Ater Deeper Search
が終了すると、次のようなリストが表示されます。
しかし、どのスナップショットがどのスナップショットなのかわかりません...アイデアはありますか?
Ubuntuをホストとして使用する場合、次のコマンドを使用して.vdiディスクをrawディスクに変換できます。
VBoxManage clonehd <sourcename> <clone.raw> --format RAW
その後、開くことができます testdisk このファイルを使用して、仮想ドライブのイメージ上のファイルを回復します(以下も参照)。
testdisk <clone.raw>
壊れたVDIドライブイメージがVirtual Boxにまだ登録されている場合、このイメージをドライブとして新しい仮想マシンに追加できる場合があります。
壊れた.vdiを追加した仮想Ubuntuを起動しますが、ドライブをマウントしないでください。
そこにマウントされたパーティションにディレクトリを作成して、収集されたデータを保持します(例:~/rescued
)、
インストール testdisk 仮想マシン上。
そこからターミナルからtestdiskを開始します。
Sudo testdisk
データをハーベストする適切なドライブを選択し(ここでは/sdb
に対して表示)、[Proceed]
を選択します
適切なパーティションレイアウトを選択します(通常はIntel
)
[Analyse]
-[Quick Search]
を選択します
ハーベストするデータを含むパーティションを選択します(ここでは、単一のNTFSパーティションのみが存在しました)。
押す P そのパーティのファイルをリストします。
データを含むディレクトリを参照します。ファイル名を表示して、正しいファイルを選択したことを確認してください。
を使用して収穫するディレクトリまたはファイルを選択します : 。選択したすべてのファイル/ディレクトリが緑色でマークされます:
大文字を押す C 選択したすべてのディレクトリ/ファイルをレスキューディレクトリにコピーします。レスキューディレクトリは次の手順で選択されます。
Ubuntu VMのマウントされたパーティション上のディレクトリを選択して、レスキューされたデータを保持します。
押す c 破損した.vdiから正常なVMのレスキューディレクトリへのデータのコピーを開始します。
6。で[Quick Search]
オプションを使用してファイルを表示できない場合は、[Deeper Search]
を実行する必要があります。これにより、以前に削除および上書きされたパーティションもリストされます。そのため、データが存在する適切なパーティションを選択する必要があります。
.vdiのsnapshotsを取得した場合、~/.VirtualBox/Machines/<Name of Machine>/Snapshots/{###}.vmdk
でこれらを見つけることができますが、Virtual Boxのスナップショット機能を使用するたびにスナップショットは差分ファイルに書き込まれます。
差分ファイルをハードドライブにマージするには、すべてのスナップショットを削除する必要があります(データリカバリを呼び出すのではなく、以前のスナップショットに復元できるため、おそらく必要ではありません)。または、次を使用してマシンのドライブを複製する必要があります
VBoxManage clonehd <name_of_source> <clone>
次に、上記のように、クローンをレスキューVMにバインドします。
破損した.vdiへの書き込みは、データが安全になった後にのみ行う必要があります。これにより、ファイルシステムがさらに破損する可能性があります。
私たちのレスキューUbuntuがレスキューされたデータを保持するには小さすぎる場合、VMにバインドする別の新しい仮想ドライブを作成できます。次に、このディスクをVMにマウントして、そこにテストディスクからデータを保存できるようにする必要があります。
1)UUIDでスナップショットの回復を試み、次のハックを使用します。
コマンドC:> VBoxManage clonehd <UUID> CloneDisk.vdi
を入力します
それが役立つことを願っています、私はここで解決策を見つけました:( https://forums.virtualbox.org/viewtopic.php?t=791 )
2)1)の手順が機能しない場合は、別の手順を試してみてください。ディスクの現在の状態を複製する方法:
この解決策はこちらから:( http://www.i-m-code.com/blog/blog/2012/02/04/virtualbox-clone-snapshots/ )どちらもほぼ同じことを言っています。
Linuxシステムが/
および fsck
で修正できませんでした で破損していました。次の簡単なアプローチを使用しました。
/home/user/
フォルダーをコピーすることを意味します。隠しファイル(設定ファイル)を忘れずにコピーしてください。私にとってはうまくいきました。ディスクの破損は起動の妨げになるだけで、ホームフォルダーのデータは失われませんでした。