web-dev-qa-db-ja.com

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

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

ハードディスクはすでに登録できません

104
Yan Khonski

解決策が見つかりました

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

私はこれらのステップに従った。

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

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

170
Yan Khonski

次のコマンドを使用してVDIファイルのUUIDを変更することが可能です。

 VBoxManage internalcommands sethduuid <file.vdi>

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

注意:ABCによる解決策は、同じUUIDを持つ既存のディスクを削除したい場合にのみ有効な回避策です。それが悪いのであれば、ええ、それを削除して問題は解決しました。しかし、両方のディスクを使用する必要があるので、これは私の場合ではありませんでした。

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

場合によっては、最初に解放し、次にVirtual Media Managerで削除してから追加する必要があります。

4
Stefan Georgiev

Virtual Media Managerを使用してハードディスクファイルへのパスを削除または変更することができない場合(私の場合):

  1. 任意のテキストエディタで ' .vbox'ファイルと ' 。vbox-prev'ファイル(存在する場合)を開きます。
  2. パスの要素 'HardDisk'の 'location'属性を編集します。例えば、 "d:/VM/VirtualBox/Win10/Win10.vmdk"( screenshot )のようにします。
3
Oleg Tatarchuk

私はここの提案に本当に感謝しています。 ImpalerとOlegのコメントは私が私の解決策をまとめるのに役立ちました。

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

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

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

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

2
C Marshall

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 - 再起動マシン

1
Lucas Catani

あなたの解決策をありがとうオレグ、。より具体的には、これらのファイル内のディスクのIDをわずかに変更する必要があります。その後、コマンド 'VboxManage modifyhd'がスムーズに実行されます。その後、これらのファイルに戻ってIDを元のものに変更します(そうでない場合はVirtualDiskにアクセスできません)。これで完了です。新しい仮想サイズが認識されました。

1
parisgr99