VirtualBoxは既に存在するハードディスクを登録できません


151

仮想ディスクファイルVM_1_Ubuntu.vdiを作成しました。その後、別のフォルダに移動しました。VM設定を更新しようとしました(仮想マシンを右クリック->設定->ストレージ->コントローラーSATAタブ、VM_1_Ubuntu.vdiパス)。新しい道を設定したかった。

ハードディスクがすでに存在するため登録できません

回答:


220

解決策を見つけた

ファイル->仮想メディアマネージャー->既存の画像を削除しました(注:レジストリからのみ削除しました)。

私はこれらのステップに従いました。

http://www.webdesignblog.asia/software/virtualbox-moving-vdi-file-re-linking-guest/#sthash.1QOHeiw5.dpbs

その後、VM設定でパスを更新できます。


2
ディスクが格納されていたドライブが利用できない場合は、最初にVMからディスクを解放(Ctrl + L)し、削除(Ctrl + D)します。そうしないと、ディスクを解放する前に削除できなくなります。その後、上記のリンクの手順に従うか、仮想マシンの[設定]を開き、[ストレージ]に移動し、[アタッチメントの追加]をクリックし、[ハードディスクの追加]と[既存のディスクの選択]を選択してから、vdiファイルを選択します。完了しました。
Syed Nasir Abbas

1
すべてのスナップショットを削除して、削除ボタンがグレー表示にならないようにする必要があります。
Rishi

150

次のコマンドを使用して、VDIファイルのUUIDを変更できます。

 VBoxManage internalcommands sethduuid <file.vdi>

このコマンドは、新しい「ランダムな」UUIDをファイルに割り当てているようです。しかし、それに関するドキュメントはほとんどありません。


2
私のニーズにぴったりです(仮想ハードドライブのサイズ変更は、移動しないと機能しませんでした)。
riri

3
VBoxManageは私にとって「C:\ Program Files \ Oracle \ VirtualBox」にあったexeなので、cmdウィンドウから実行するだけです。
ジャイルズ

1
これは、ベースOSイメージがあり、ベース自体を変更せずにベースのコピーに複数のアプリをインストールできるようにする場合に最適なソリューションです。
Jersey_Guy

ドライブのサイズ変更を
手伝っ

このソリューションは、VMを別の場所にコピーし、元のファイルをVirtualBoxから削除し、ディスクを圧縮しようとした状況も解決しました。コマンド:$ VBoxManage modifymedium Windows \ 7 \ Professional.vdi --compactエラー:VBoxManage:エラー:ハードディスクを登録できません '/ Users / c / VirtualBox VMs / Windows 7 Professional / Windows 7 Professional.vdi' {a510ee0d- 2cef-47db-b25f-acae9e341d45} UUID {a510ee0d-2cef-47db-b25f-acae9e341d45}のハードディスク '/ Volumes / ramdisk / Windows 7 Professional / Windows 7 Professional.vdi'がすでに存在するため
Zahnon

27
  1. Oracle VM VirtualBox Managerからファイルを選択します
  2. 仮想メディアマネージャー
  3. [ハードディスク]タブからファイル(黄色で強調表示)を削除します。

7

仮想メディアマネージャー(私の場合)を使用してハードディスクファイルへのパスを削除または変更する可能性がない場合:

  1. ' .vbox'および ' .vbox-prev'(存在する場合)ファイルをテキストエディターで開きます。
  2. エレメント 'HardDisk'の 'location'属性をパスに編集します。例: "d:/VM/VirtualBox/Win10/Win10.vmdk"(スクリーンショット)。


3

1-ファイル「.vbox」および「.vbox-prev」(存在する場合)をテキストエディターで開き、HardDisk uuidの最初の文字を置き換えます(手順6でこの変更を元に戻すことに注意してください)。

例: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

変化する:

<HardDisks>
        <HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

に:

<HardDisks>
        <HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

2-マシンを再起動します

4-仮想マシンの停止(開始されている場合)

5-端末上:

su vbox
cd /home/virtualbox/WindowsServer/
VBoxManage modifyhd WindowsServer.vdi --resize SIZE
exit
exit

メガバイト単位の数値のSIZEを変更します。例:80000(80GB)

6-任意のテキストエディターでファイル「.vbox」および「.vbox-prev」(存在する場合)を再度開き、元の値を持つHardDisk uuidの最初の文字を置き換えます

例: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

変化する:

<HardDisks>
        <HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

に:

<HardDisks>
        <HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

7-マシンを再起動します


3

ここでの提案に本当に感謝しています。インパラーとオレグのコメントは、私の解決策を組み合わせるのに役立ちました。

VBoxManage CLIを使用します。--setlocationオプション付きのmodifymediumコマンドがあります。

(VM VirtualBox Manager 6.0で)VBox GUIを開くことをお勧めします
-[仮想メディアマネージャー]を
選択します([ファイル]メニューを使用しました)-このエラーが発生したディスクの[情報]ボタンを選択します
-UUIDをコピーします
注:次のステップの前の「ストレージ」設定からコントローラ。
-コマンドプロンプトを開き、.vdiファイルの場所に移動します
。VBoxMangeと入力してオプションのリストを表示することをお勧めしますが、実行するコマンドは次のとおりです。

VBoxManage modifymedium[ここにメディアタイプを挿入] [UUID] --setlocation[.vdiファイルへのフルパス]

最後に、コントローラーを任意のVM(できれば修正したいVM)に再接続します。


0

私のために働いた解決策は次のとおりです:

  1. VirtualBox Managerが実行されていないことを確認してください。
  2. ファイル~\.VirtualBox\VirtualBox.xmlとをバックアップします ~\.VirtualBox\VirtualBox.xml-prev
  3. これらのファイルを編集して<HardDisks>...</HardDisks>セクションを変更し、の重複するエントリを削除し<HardDisk />ます。
  4. 次にVirtualBox Managerを実行します。

例:

  <HardDisks>
    <HardDisk uuid="{38f266bd-0959-4caf-a0de-27ac9d52e3663}" location="~/VirtualBox VMs/VM1/box-disk001.vmdk" format="VMDK" type="Normal"/>
    <HardDisk uuid="{a6708d79-7393-4d96-89da-2539f75c5465e}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
    <HardDisk uuid="{bdce5d4e-9a1c-4f57-acfd-e2acfc8920552}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
  </HardDisks>

上記のフラグメントで、最後の2つのエントリが同じVMを参照しているが、uuidが異なることに注意してください。それらの1つは無効であり、削除する必要があります。どちらが無効であるかは、ヒットとトライアルで見つけることができます。最初に2番目のエントリを削除して、試してください。機能しない場合は、3番目のエントリを削除します。


0

何日も苦労した後、ようやく完璧に機能するソリューションを見つけました。

Mac OSで (ホームディレクトリの)〜/ Libraryフォルダーを開き、VirtulBoxフォルダーを削除します。これによりすべての構成が削除され、仮想ボックスを再び開始できます!

その他 は、ホームディレクトリで.virtualboxフォルダーを探します。それを削除してVirtualBoxを開くと、問題が解決するはずです。

乾杯!!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.