Home > VirtualBox

VirtualBox

VirtualBoxクライアントにWindows8.1をインストールした時のエラー対処方法

概要

Windows上で動作する VirtualBox 内でWindwos8.1 64bit をインストールする場合に 「your pc need to restart」やその他エラーメッセージが出てインストールが出来ない時の対処方法です。

手順

・VirtualBox のバージョンが 4.3 未満の場合は 4.3 以上にバージョンアップします。
・VirtualBox を起動し、新規マシンを作ります。その際、OSのバージョン欄に Windows8.1 (64bit) を設定します。
・また、メモリ設定を2GBほど、CPUの設定を2コアに設定します。
・新規マシンを起動し、Windows8.1 のディスクまたはイメージファイルを読みこめばインストールが開始します。

以上で手順は完了です。

AndroVMでAndroidをシャットダウンする手順

概要

VirtualBox内でAndroid端末を動かすAndroVMにて、Android端末の電源を落とす方法です。

手順

・ロックを解除した状態(アプリの一覧などが表示されている状態)にします。
・キーボードのF4キーを長押しします。
・「電源を切る」メニューがポップアップするので、クリックします。
・電源を切る (キャンセル/OK) のメニューより、OKをクリックします。
androVM_vbox86p_4

以上で手順は完了です。

補足

F4キーはロックのキーでもあるため、放すタイミングがずれると端末がロックされてしまいます。その場合はロックを解除してから再度挑戦します。

その他 AndroVM で使用するキーは ESC F1(コンテキストメニューなど) F2 F3 HOME END です。

VirtualBox内のUbuntuとXAMPPを使ってFTPサーバーをローカルテスト用に公開する方法 (ホストオンリーネットワーク)

概要

VirtualBoxのゲストOSにUbuntu(デスクトップ版)を使い、XAMPP for Linux セット内の ProFTPDを使ってFTPサーバーを構築します。
FTPサーバーにホストOS(Windowsを想定)からFTPクライアントを使ってファイルのアップロードをできるようにします。
簡易テスト用のウェブサーバーを構築する場合に必要な作業になります。

※LAN内の複数の端末から参照するなら、ブリッジ接続の方が設定も簡単です。(ほぼVirtualBoxで有効にするだけ)

事前準備

VirtualBoxにUbuntuをインストールし、XAMPPをインストールしておきます。
(XAMPPイントール概要)
Linux用のXAMPPの圧縮ファイルをダウンロードする。
管理者権限で /opt/lampp/ フォルダへ展開する。
端末で以下のコマンドを実行してapache一式が起動することを確認。

sudo /opt/lampp/lampp start
手順

ゲストOSを起動する前に、VirtualBoxのゲストOSの設定画面にてネットワークアダプタ2(ホストオンリーアダプタ)を追加します。
これにより、ホストOSがゲストOSのサーバーに対してアクセスできるようにします。

VirtualBox全体の環境設定画面を開き、ネットワークのホストオンリーネットワーク詳細画面を開きます。
IPv4アドレス欄に使われていないIPアドレス(FTPサーバーのIPアドレスとも別)を入力し、ネットワークマスクに適切な値を入力します。
(ホスト側のネットワークと重複しないように注意が必要です。すでに 192.168.1.xxx が使われていたら 192.168.2.xxx を使用します。)

Virtualbox側

設定例
IPv4アドレス:192.168.1.210
ネットマスク:255.255.255.0

ホストOSがWindowsの場合は一旦Windowsを再起動します。(ホストオンリーアダプタの設定をWindowsのネットワークドライバに反映させます)

ゲストOSのUbuntuを起動します。
「ネットワーク接続」の設定画面を起動し、 Auto eth2 の編集画面内の「IPv4の設定」タブを開き、FTPサーバーのアドレスを設定します。

設定例
メソッド:手動
アドレス 192.168.1.202
ネットマスク 255.255.255.0
ゲートウェイ 192.168.1.1

念のため、ゲストOSをシャットダウンしてからVirtualBoxを再起動します。

VirtualBoxとゲストOSを起動し、XAMPPを起動します。

(端末にて)
sudo /opt/lampp/lampp start
動作確認

Ubuntuの端末にてifconfigを実行し、eth2のinetアドレス欄が設定したFTPサーバーのアドレスになっていることを確認します。

$ ifconfig
eth1      Link encap:イーサネット  ハードウェアアドレス 08:00:27:ab:0d:71  
          inetアドレス:10.0.2.15  ブロードキャスト:10.0.2.255  マスク:255.255.255.0
(中略)
eth2      Link encap:イーサネット  ハードウェアアドレス 08:00:27:b9:b3:41  
          inetアドレス:192.168.1.202  ブロードキャスト:192.168.1.255  マスク:255.255.255.0
          inet6アドレス: fe80::a00:27ff:feb9:b341/64 範囲:リンク

ホストOSにてpingを実行し、FTPサーバーのIPアドレスが有効なことを確認します。

ping 192.168.1.202

ホストOSにてFTPクライアントソフトを起動し、以下の設定でサーバーに接続します。
ホストアドレス:FTPサーバーのIPアドレス (例 192.168.1.202)
ユーザー:nobody
パスワード:(初期値 lampp)

FTP接続の高速化

この状態でもFTP接続はできますが、サーバーへの接続に時間がかかります。
その対策として設定ファイルの記述を変更します。

以下のファイルを管理者権限でテキストエディタを使って開きます。
/opt/lampp/etc/proftpd.conf

末尾に以下の記述を追加します。

UseReverseDNS off
IdentLookups off

XAMPPを再起動します。

sudo /opt/lampp/lampp stop
sudo /opt/lampp/lampp start
XAMPPの自動起動の設定

Ubuntu起動時にXMAPPが自動的に起動されるようにします。
/etc/rc.local をテキストエディタで開きます。

末尾のexit 0 よりも前の行に以下の記述を追加します。

/opt/lampp/lampp start

以上で作業は完了です。

備考

色々いじっていてIPアドレスの衝突などのメッセージが表示された場合、一旦VirtualBoxを再起動することをお勧めします。

応用編 ホストオンリーネットワークをDHCPを介して固定する

VirtualBoxのホストオンリーネットワーク内でDHCPを有効にし、アドレスの上限と下限を同じIPアドレスにすれば簡易固定IPとして使用できます。
Ubuntu内ではeth2のIPアドレスを自動取得にしておくだけで良いのでインストールが簡単です。
複数のゲストOSを起動させた時は話がややこしくなりますが、ゲストのウインドウが常に1つだけならこちらのほうが簡単です)



Virtualboxで仮想マシンにアクセスできない時の修復方法

概要

Virtualboxにて、「アクセスできません」や「could not find an open hard disk with uuid」が表示されて仮想環境が起動できないうえに設定画面も表示できない場合の対処方法です。
ソフトはVirtualbox 4.1 を想定します。

手順
  • Virtualboxを起動してVirtualboxマネージャーのGUI画面を表示します。
  • 「新規」ボタンをクリックして仮想PCを新規に作成します。(仮想環境の名称は以前のものとは別の名称にします)
  • 仮想ハードディスクの選択画面にて「既存のハードディスクを使用」を選択し、以前使用していたディスクイメージを選択して仮想環境を作成します。
  • 仮想環境の設定画面を表示し、ビデオメモリのサイズやネットワーク機器を設定します。
  • 仮想環境の制作が完了したら、Virtualboxの画面で古い破損した仮想環境を削除します。
  • 古い仮想環境の定義フォルダとファイルを手動で削除します。(Windowsならエクスプローラー等を起動します)

    削除するフォルダが不明な場合は新しい仮想環境の設定画面を開き、「スナップショットの復元先」から推測します。
    (新しい仮想環境の定義フォルダを削除しないように注意)

  • 新しく作成した仮想環境の設定画面を開き、仮想環境の名称を古い名称に変更して保存します。

以上で手順は完了です。

補足

この問題は、仮想環境のシャットダウン時にエラーで処理が中断し、ディスクイメージやスナップショットのuuidと仮想環境の定義ファイル内のuuidが食い違ってしまうことが原因のようです。
(Virtualbox 4.1系の不具合)
ディスクイメージのメンテナンス画面がまだ表示できる場合には、そちらで対処可能です。

VirtualBox 3でブリッジ接続中にゲストPCのIPアドレスを確認する方法

概要

VirtualBox 3以降にて、ブリッジ接続でゲストPCを運用している時、ゲストPCのIPアドレスを表示する方法です。
ゲストPCにWEBサーバーやFTPサーバーなどを立てている時に便利です。
なお、接続方法がNATやHost-onlyの場合はそもそもホストからゲストのIPは参照できません。

手順

■ゲストPCがWindows系の時
・コマンドプロンプトを実行し、コマンドプロンプトのウインドウを表示する。
・「ipconfig /all」を入力し、実行する。
・IP Address. . . . . 欄にゲストのIPアドレスが表示されます。

■ゲストPCがUbuntuなどLinix系の時
・デスクトップ版(GUIシェル)の場合は、「端末」などを実行してコマンドプロンプトを表示する。
・「ifconfig -a」を入力し、実行する。
・ 「inetアドレス: 」欄にゲストのIPアドレスが表示されます。

VirtualBox起動時にHostUSBDeviceFilterのエラーが出た時の対処

概要

Windows版のVirtualBoxをバージョンアップしたときなどに、USBポート関連のエラーで起動できない時の対処です。

症状

VirtualBoxのGUIメニューを起動しようとすると、エラーが表示されます。エラーの詳細欄は以下のような感じです。

終了コード: 
E_FAIL (0x80004005)
コンポーネント: 
HostUSBDeviceFilter
インターフェース: 
IHostUSBDeviceFilter {4cc70246-d74a-400f-8222-3900489c0374}
対処方法

・以下のファイルをエディッタ開きます。
C:\Documents and Settings\hiro\.VirtualBox\VirtualBox.xml
・ファイル内のUSBDeviceFiltersから/USBDeviceFiltersまでの項目を削除します。
・ファイルを保存して閉じます。
・VirtualBoxを起動します。
以上です。

VirtualBoxの共有フォルダ機能の設定手順(Windows XP,Vista,7等のクライアント、及びUbuntu)

概要

VirtualBoxのWindows版にて、ホストOSがWindows系でゲストOSもWindows系またはUbuntuの時、ホストとゲスト間でフォルダを共有する際の設定手順です。

手順

・VirtualBoxを起動し、OS一覧から設定するOSを選択します。
・メニューより 設定-共有フォルダを選択し、新規共有フォルダを追加ボタンをクリックします。
(または、すでに起動中の仮想マシンのウインドウメニューより「デバイス – 共有フォルダ」を選択します。)
・共有フォルダ名を選択するダイアログが表示されますので、「フォルダのパス」欄にホストOS側の共有したいフォルダのフルパスを、「フォルダ名」欄にゲストOS側で使用したいフォルダ名(ドライブ名などは付けない)を指定します。
vvobshare
(最近のVirtualBoxではドライブ名は大文字で指定する必要があるようです)

・OKボタンを2つクリックしてOS一覧の画面に戻ります。
・ゲストOSを起動します。(以下、ゲスト側での作業になります)
・ファイル名を指定して実行、または スタートメニューよりアクセサリ-コマンドプロンプトを実行します。
・以下のコマンドを実行します。

net use ドライブ名: \\vboxsvr\先ほど指定したフォルダ名
(例)
net use P: \\vboxsvr\public

・エクスプローラーを起動して、コンピューターの全てのドライブを表示します。共有ドライブが表示されていれば作業完了です。

なお、作成した共有フォルダは再起動後も継続して利用できます。

Ubuntuの場合

ゲストOSがUbuntuの場合は、Ubuntu内で端末ウインドウを起動し、コマンドラインより以下のコマンドを実行します。(ピリオドに注意)

mkdir /home/(ユーザー名)/public
sudo mount.vboxsf public /home/(ユーザー名)/public

ユーザーのhomeディレクトリ以下のpublicが共有フォルダになります。
こちらはログイン後にsudoの行を毎回実行する必要があります。
一旦普通にディレクトリを作っておくのがミソです。そのディレクトリが共有フォルダになります。

VirtualBoxのゲストOSの日付や時刻の同期をホストOSとずらす方法

概要

VirtualBoxはゲストOSを起動した際にホストOSの時刻をゲストOSの時刻として設定します。
普段は便利な機能ですが、年月関連のテストをする際は余計な機能となるため任意の時刻を設定する方法を解説します。
(VirtualBox 2.2.4~4.1.2で確認)
以下の方法では同期を停止して無効にすることは出来ませんが、ゲストOS起動前に設定することにより(Guest Additionのインストールの有無にかかわらず)ほぼ同様の環境になります。

準備

本作業の前に、まずはゲストOSが持っている時刻補正機能を停止します。Windows系の場合、Windows Timeサービスなどを停止します。Unix系の場合はntp関連の機能を停止します。
(Windows7 以降ではコントロールパネルの時刻設定 – インターネット時刻 より設定できます)

手順

Windowsのコマンドプロンプトより、以下のコマンドを実行します。

VBoxManage modifyvm "仮想マシンの名前" --biossystemtimeoffset 相対時間

※バージョン 3.1あたりから、コマンドラインオプションが”-”から”--”に変更になっています。
※Windows系では VboxManage.exe のフルパスを指定する必要があります。(例:C:\Program Files\Oracle\VirtualBox\VBoxManage )

仮想マシンの名前 欄にはあなたがつけた仮想マシンの名前(普段一覧表に表示されるもの)を指定します。
相対時間 欄にはホストOSの時刻に対してのゲストOS側の相対時間をミリ秒単位で設定します。
過去を設定する場合は数字の前に-(マイナス記号)を付けます。
数年の差も設定できますが桁数が大きくなりますので頑張って計算してください。
ちなみに1日は86400000ミリ秒、1年は31536 000000ミリ秒です。

以上で設定は終わりです。

設定値の確認方法

以下のコマンドを実行すると、現在の設定値が確認できます。

vboxmanage showvminfo “仮想マシンの名前

Time offset: 欄に表示されている値(ミリ秒単位)が相対時間です。

補足

・この設定はスナップショットの破棄などの影響を受けます。設定したらなるべく新規スナップショットを作っておきましょう。
・Windows PowerShell では構文解析の関係でこのコマンドは使えません。cmd.exe を使いましょう。

Home > VirtualBox

Feeds
Meta

Page Top