web-dev-qa-db-ja.com

VirtualBoxがWindows_7という名前の登録済みマシンを見つけられないのはなぜですか?

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}
21
collimarco

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
59
phihag

直接的な答えではありませんが、それを検索している他の人に提示するだけです。

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 &
2
youurayy

SOLUTION_1

仮想テクノロジーが欠落していることが原因である可能性があります。 Intelシステムの場合はIntel VT-x(AMDの場合はAMD-V)があるため、有効になっていることを確認してください。ブート画面で有効にすることができますBIOSセットアップに移動してシステム構成タブをクリックして有効にします仮想テクノロジー

snapshot

SOLUTION_2

Windowsのターミナルまたはcmd(管理者として実行)を開き、SC START VBOXDRV。サービスが既に実行されていると表示されている場合は、SC STOP VBOXDRV その後 SC START VBOXDRV

0
Udit_1

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

VMrootとして起動する必要があるときはいつでも使用できます。

0
rivar