web-dev-qa-db-ja.com

VirtualBoxでvhdハードドライブのサイズを変更した後、起動できない

Windows 7では、別のWindows 7をセットアップしましたVM。これはうまく機能しました。次に、vhd HDサイズを増やす必要がありました。そのため、VBoxManageユーティリティを使用して、次のようにしました。コメント:

VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000

次に、VM=を再度実行しようとしましたが、起動できず、次のエラーが表示されます。

致命的:起動可能なメディアが見つかりません!システム停止。

次に、VHD内で何が起こっているのかを確認し、デバイス管理内でアタッチしようとしましたが、ファイルまたはディレクトリが破損しているため、読み取ることができませんと表示されます。

ここで何がうまくいかなかったか、どのようにして私のVHDファイルにVM=を保存できますか?

15
tugberk

残念ながら、VBoxManage --resizeオプションのVirtualBoxドキュメントは誤解を招くものです。ディスクイメージのサイズを増やすだけでは、すべてが適切に機能するわけではありません。イメージ内のディスクパーティション情報を調整して、ゲストOSがディスクイメージがシミュレートしている「ドライブ」のレイアウトを認識できるようにする必要があります。この調整を行うには、パーティションエディターが含まれている起動可能なCDイメージをダウンロードし、そのCDでVMを起動します。次に、パーティションエディターを使用して、追加したディスクイメージのパーティションを調整します。スペース。

プロシージャの素敵な記述があります here ;ステップ4にスキップしてください。

12
Kyle Jones

同じ問題があった

  1. 希望のサイズで新しいVHDを作成する
  2. Clonhdを使用して古いvhdから新しいvhdにコピーする

参照: http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/

6
Prakash Thakor

私は同じ問題を抱えていて、 GParted LiveCDを使用してデータを取得することができました

  1. コピーされたデータを受け取る新しいVHDを作成します(パーティションとフォーマットを作成します)
  2. GParted LiveCDをダウンロードしてVirtualBoxを起動します
  3. [デバイス]-> [データレスキューの試行]を選択します。
  4. [OK]をクリックし、スキャン後に[表示]をクリックします(これにより/ tmp/gparted-roview-XXXXXXがマウントされます)
  5. ターミナルで、2番目のVHDをマウントします(Sudoマウント/ dev/sdb1/mnt)
  6. ファイルをコピーします(Sudo cp -R/tmp/gparted-roview-XXXXXX/*/mnt

その後、仮想マシンをシャットダウンして、VHDをWindowsデバイスマネージャーにマウントできます。

ここで問題を説明します (スペイン語)

概要:

a。 「vboxmanage modifyhd(サイズ変更)」は、多くのシステム(Windows NT5、9x、Serverおよびx86バージョン)でエラーを生成します。その結果、パーティションが破損し、回復が非常に困難になります

b。 VDIに関連付けられているすべてのファイルとフォルダーを含むパスで、「vboxmanage modifyhd(サイズ変更)」を実行する必要があります(VDIのサイズを変更します)。画像を見てください

enter image description here

enter image description here

推奨:

「vboxmanage modifyhd」を「vboxmanage clonehd」に置き換えます

  1. 新しい仮想ディスクVDIを作成します(拡張したいサイズで)。例:Old.vdiには50GBがありました。 New.vdiは100GBで作成します

    VBoxManage createhd --filename /path/New.vdi --size 100000

  2. 次のコマンドでクローンします。

    vboxmanage clonehd /path/Old.vdi /path/New.vdi-既存

両方のVDIを同じパスに置くことはできません

  1. New.vdiを実行し、Windowsコンピュータの管理に移動して、ディスク領域を拡張します(空の領域を割り当てます)。手動で実行したくない場合は、 AOMEI Partition Assistant StandardGParted などの無料のパーティション分割アプリケーションを使用できます。
1
user584517

このバグで壊れた画像を復元することができました。エジソンとは異なり、分割されたライブ画像は何も見つかりませんでした。これが私がしたことです:

  • まず、明らかにVHDのVBoxサポートはバグが多く、ひどいので、最初にVHDをVBoxManage clonehd foo.vhd --format vdi foo.vdi。この手順をスキップすると、イメージからファイルを回復できましたが、数回の再起動後に再び「壊れる」可能性があります。私は、バグが本当にVHDファイルを台無しにして、後でI/Oが「再ブレーク」する方法を推測しています... VBoxはVDIでこれらの問題を抱えているようではないので、VHDをあきらめました。

  • Windowsプレインストール環境であるWinPEを起動します。これを行う方法は、それ自体が記事になる可能性があります。これに慣れていない場合は、ここにショートカットがあります。WindowsセットアップDVD(Vista以降)から起動し、GUIが表示されたらShift-F10を押すと、コマンドプロンプトが表示されます。

  • ダウンロード testdisk 、WinPEイメージに取得する方法を見つけ(または単純なUSBスティックで動作します)、WinPE環境から実行します。 (注:WinPEには、32ビットアプリの32ビット互換レイヤーであるWOW64がありません。したがって、私の64ビットWinPEセットアップには64ビットテストディスクバイナリが必要でした。)

  • Testdiskはパーティションを見つけて復元しました。

  • この時点でファイルは復元されましたが、ブートローダーはいくつかの問題で失敗しました。最初にdiskpartを使用して、パーティションをアクティブとしてマークしました(list disksel disk <disk number>sel par 0active)。さらに、起動しません。 WinPEに戻って削除した\boot、次に実行bcdboot C:\windows /s C:ブートローダーを再インストールします。

  • 最後に私は走ったchkdisk /Rで、画像に問題がないことを確認します。数時間かかりましたが、問題は見つかりませんでした。

0
asveikau

注目に値するのは、まったく同じ問題が発生したことです。これは、ゲストの実行中にコマンドmodifyhdを発行したためです。公式ドキュメントには、スナップショットを最初に削除する必要があり、そのゲストが停止されている必要があることについては何も述べられていません。

私の計画は、動的ボリュームもあり、その場で増やすことができるため、マシンの実行中にディスクのサイズを変更することでした。しかし、マシンを再起動して完全なディスクサイズを取得するため、これは悪い考えでした。イメージが破損し、テストディスクを使用しても復元できませんでした。 Testdiskはパーティションを検出しますが、ファイルシステムはひどく損傷していて修復できません。

だから助言される:

  1. すべてのスナップショットをベースイメージにマージします
  2. ゲストOSをシャットダウンする

私は自分のマシンでバックアップイメージを使用して手順を繰り返し、ゲストOSの電源がオフになっています。

0
Carsten Menke