VBoxManage setextradataを使用して仮想マシンのTCP/UDPを変更しようとしています。
コマンドを入力するたびに:
Sudo VBoxManage setextradata Windows_7 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestEmule_TCP/Protocol" TCP
次のエラーが発生します。
VirtualBoxコマンドライン管理インターフェースバージョン2.1.4 (C)2005-2009 Sun Microsystems、Inc。 All rights reserved。 [!]の呼び出しに失敗しました-> virtualBox-> FindMachine(Bstr(a-> argv [0])、machine.asOutParam())at 3688! [!] Primary RC = VBOX_E_OBJECT_NOT_FOUND(0x80BB0001)-指定された引数に対応するオブジェクト存在しません [!]完全なエラー情報が存在します:true、基本的なエラー情報が存在します:true [!]結果コード= VBOX_E_OBJECT_NOT_FOUND(0x80BB0001)-指定された引数に対応するオブジェクトが存在しません [!]テキスト=「Windows_7」という名前の登録済みマシンが見つかりませんでした [!]コンポーネント= VirtualBox、インターフェイス:IVirtualBox、{339abca2-f47a-4302-87f5-7bc324e6bbde} [!]呼び出し先= IVirtualBox、{339abca2-f47a-4302-87f5-7bc324e6bbde}
仮想マシンはGUIを使用して作成されています。何か案が?
$ cd /Users/marco/Library/VirtualBox/Machines/Windows_7 $ ls Logs Windows_7.xml Windows 7.xml.1.5-macosx.bak $ Sudo vboxmanage registervm Windows_7.xml VirtualBox Command Line Management Interface Version 2.1.4 (C)2005-2009 Sun Microsystems、Inc。 All rights reserved。 [!]行762でa-> virtualBox-> OpenMachine(Bstr(a-> argv [0])、machine.asOutParam())の呼び出しに失敗しました! [!]プライマリRC = NS_ERROR_FAILURE(0x80004005)-操作に失敗しました [!]完全なエラー情報が存在します:true、基本的なエラー情報が存在します:true [!]結果コード= NS_ERROR_FAILURE(0x80004005)-操作が失敗しました [!]テキスト=設定ファイル '/var/root/Library/VirtualBox/Windows_7.xml'(VERR_FILE_NOT_FOUND) [!]をロックできませんでしたコンポーネント=マシン、インターフェイス:IMachine、{ea6fb7ea-1993 -4642-b113-f29eb39e0df0} [!]呼び出し先= IVirtualBox、{339abca2-f47a-4302-87f5-7bc324e6bbde}
Sudoを使用しているため失敗します。 VirtualBoxは(vboxusers
グループ内の)すべてのユーザーが実行できるように設計されており、SudoはVirtualBox構成が空のrootユーザーとしてコマンドを実行します。
次のように入力して確認できます。
Sudo VBoxManage -nologo list vms # Should print only a newline
VBoxManage -nologo list vms # Detailled information about all your VMs
直接的な答えではありませんが、それを検索している他の人に提示するだけです。
Mac OS Xでは、VirtualBoxに別のユーザーのホームディレクトリからVMをロードするように指示できます。ただし、ファイルのアクセス許可で許可されている場合、またはSudo
を使用してrootユーザーとしてVirtualBoxを実行している場合は、たとえば、ポート80でホストのWebサーバーに絶対にアクセスする必要がある場合)。
これを行う方法は、VBOX_USER_HOME
を適切に設定することです。
VBOX_USER_HOME=/Users/the_other_user/Library/VirtualBox
ルートの下でVBoxHeadless
を実行する場合は、次を使用します。
Sudo VBOX_USER_HOME=/Users/your_user_id/Library/VirtualBox Nohup \
VBoxHeadless -s "IE10 - Win7" </dev/null &>/dev/null &
Sudo
を使用してVBoxSDL
を開始するたびに、同様のエラーメッセージが表示されました。
Error: machine with the given name not found!
Check if this VM has been corrupted and is now inaccessible.
そして ypocat の答えと同様に、私はUbuntuのために次のような小さなスクリプトを使用してそれを解決しました:
#!/bin/bash
export VBOX_USER_HOME=/home/username/.config/VirtualBox
VBoxSDL --startvm nameOfVM
VM
をroot
として起動する必要があるときはいつでも使用できます。