web-dev-qa-db-ja.com

Windows 7の場合:Virtual Boxをバックグラウンドで起動できますか?

私はWindows7 x64(ホスト)を実行しています。 ubuntu/Apache/mysql/phpスタックを仮想ボックスのテスト/開発Webサーバーとしてセットアップしたいと思います。

バックグラウンドで仮想ボックスを起動する方法はありますか? (ゲストをubuntuとして-開発Webサーバーとして使用)

起動時に仮想ボックスで起動すると、システムの速度が大幅に低下する可能性がありますか?多分お勧めできませんか?

私がvbox + guest linuxをこのように起動することを考えている理由は、頻繁に使用する場合に手動で起動する必要がないようにするためです。バックグラウンドで実行すると、私には透過的に見えます。タスクバーに余分なアイコンが散らかる必要はありません。さらに、それがbgにあり、Windowsが「バックグラウンドタスク」よりも「プログラム」を優先するように設定されている場合、パフォーマンスが向上する可能性がありますか? 「フォアグラウンド」プログラムの場合は?

5
Jiew Meng

仮想マシンをヘッドレスモードで起動して、完全な表示ウィンドウが作成されないようにすることができますが、それでもコマンドウィンドウは作成されます。

仮想ボックスをWindows上で完全にサイレントに実行する方法はないようです。ただし、システムトレイへのコマンドウィンドウを最小化して、邪魔にならないようにすることは可能です。いずれにせよ、フルオンのVMよりも必要なリソースが少ないようです。

コマンドは次のとおりです。
vboxheadless -startvm "$VMNAME$"
VMの状態を保存するには:
vboxmanage controlvm "$VMNAME$" savestate
(引用符は、VM名にスペースがある場合にのみ必要です)

残念ながら、すべてのvm変更コマンドはvboxmanageを介して実行する必要があります。 GUIはマシンの状態を表示するように更新しますが、それを変更することはできません。

vboxheadlessを使用して2台目のコンピューターで複数のVMを実行し、RDPを使用してそれらに接続します。 (Xのようなものではなく)ヘッドレスVMでデスクトップにアクセスする場合は、VMの設定でRDPを有効にする必要があります。 vboxmanageを介して実行できますが、VMが停止しているときにGUIを使用する方がはるかに簡単です。

4
Fake Name

hstart を使用してVMをサイレントに起動する方法を見つけました。次の行を含む.batを作成します。

"c:\your\hstart\path\hstart64.exe" /NOCONSOLE /SILENT "C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe --startvm putyourvmnamehere"

そうすれば、ウィンドウは開かれませんが、VMはバックグラウンドで実行されます。この.batをスタートアップフォルダに入れて、Windowsの起動時にVMを起動することもできます。

次に、SSHを使用してヘッドレスマシンに接続します。 (ただし、VMの構成方法によってはRDPを使用できます)

3
5moufl

Oracle VirtualBox5.0.2でWindows10を実行しています。これはWindows7ではありませんが、これはWindows用の新しいVirtualBoxリリースで機能するはずです...

VirtualBox Managerで、開始矢印の横にあるドロップダウン矢印をクリックし、「DetachableStart」を選択します。 これにより、サーバーをシャットダウンせずにローカルディスプレイを開いたり閉じたりできます。

次に、get: RBTray に移動し、Program Filesに移動し、スタートアップフォルダーにショートカットを追加して、実行します。

これで、VirtualBox Managerウィンドウの最小化「-」を右クリックできるようになります。タスクバーアイコンが常に表示されることなく、システムトレイに最小化されます。

これは、サーバーをバックグラウンドで起動することと同じではありませんが、開発ネットワークやホームネットワークでの作業がはるかに簡単です。

2
Brian Chandler

Vbscriptを使用してコンソールを非表示にします。から http://ss64.com/vb/run.html

ファイルをname.vbsとして保存します。例:vboxservice1.vbs

Set objShell = WScript.CreateObject("WScript.Shell")
vmname = "some.name.dns"
Return = objShell.Run("vboxheadless --startvm " chr(34) & vmname & chr(34), 1, false)
'1 is to show. change to 0 do hide
'false is to continue. change to true to wait for process execution 
'before continuing the script.
0
careto