忍者ブログ

カウンター

プロモーション

カレンダー

07 2019/08 09
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

AntinomyMy の実験室

   私のWEBアプリ実験室です!

ブログ内検索

楽天でお買い物

twitter

最新トラックバック

最新コメント

忍者アナライズ

ウェザーニュース

バーコード

本を買う

アクセス解析

Google+

[PR]

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


No Image

VirtualBox をphpVirtualBox を使って操作したい

仮想OS の調べ物

最近、インターネット越しのリモートデスクトップ接続にハマっている。これ!面白いし便利!
まだVirtualBox のリモートディスプレイの認証でセキュリティーの設定が弱いらしい?のとか、
まだセキュリティーの設定については曖昧でしっかり調べていませんが、とっても便利で楽しいです^^

いきなり話は飛ばしますが、Windows 上でphpとapache が動く環境下でのphpVirtualBox が動くまでの
話をしようと思っています。(前置きが長いので、長い部分を飛ばす場合には本題から読んでね!!!)

と言うのも、一度はWindows XP でphpVirtualBox を動かしてみましたが、
少し前のブログにある様に、Windows 8 Consumer Preview と言う、発売前の評価ビルドコピーの
Windows 8 を入れたので、そちらの環境で入れ直そうと思いました。
(※実際にAtom のCPU でVirtualBox を動かすのは重いので注意・・・ 一応おさらいというか、
 メモを残し忘れたので、やり直しているに過ぎない部分もあります==;)

別に新しいもの好きな訳ではないが、Atom PC に入れたWindows 8 は、
非力なCPUでもインターネットエクスプローラーの起動なども、
XPのIE8よりWindows 8 のIE10 の方がかなり早いのと、
そしてユーザーのログイン前にネットワーク接続が確立したりなど、
とてもLinux ライクな性質に変わっていて、バグもまだまだ多いが、

このままある程度、色々な環境をWindows 8 に乗せてみたいと思う。

バーチャルマシンはホストPCのメモリを沢山消費するので、32bit OS ではメモリの壁があるので
64bit OS で用いてメモリをより多く使えた方が、同時にバーチャルマシンを起動するには
向いていると思います、というか、バーチャルマシンに割り振ったメモリを確保できない場合は、
実行中や、バーチャルマシンのインストール中にエラーになります。
メモリが確保できることがバーチャルマシンの実行条件なので気を付けましょう。

さてさて話すと本当に長くなるので、どこまで話そうか? 本当に迷う所ではある。

今回説明しようとしている、phpVirtualBox は、phpのプログラムからVirtualBox を操作する
ブラウザから見て操作するWebのユーザーインターフェースと言えば分かるでしょうか?

これは前回のブログでも多少述べているがブラウザの画面からVirtualBox の操作ができることは、
即ちそれは、VirtualBox をインストールしていないPC から、80ポートだけを通してVirtualBox を
操作できることになります。

もし、自分でVirtualBox を操作するアプリケーションをPHPで構築するとしても、
とても良い参考になると思います!!!

多分、PHPと、Linux の操作を知っていれば、とても簡単にクラウドサービスなどが
構築出来ちゃいます! それは間違えないと思います、ライセンス的な話があるので、
個人利用とかにはなると思いますが、とても便利で驚きます。

さて、一番初めに話を戻ります。
最近リモートデスクトップ接続(Remote Deployment Manager)によって、
インターネット越しに、
自宅内LAN上にあるルーターの設定、ポートマッピングや、
パケットフィルタリングによって、外部からのアクセスを可能にして
何処からでも自宅のVirtualBox 上で実行されたバーチャルマシンを操作しています。
(この当たりのルーター設定も、家のルーターでの内容ですが、そのうち載せます)

こんなに簡単に外部からデスクトップ接続としてリモートで扱えるとは思ってなかったので、
これがこんなにうまくいくのならば、phpVirtualBox で使う80ポート(もしくは専用のポート)も
外部(ルータのWAN、つまりインターネット側)から呼び出せる様にしようと思ったのが、
今回のメモを残す最大の理由でした。

個人的にはとても良いネタなので、秘密にしておいても良かったのですが^w^;
なんせやることが色々ありすぎて、秘密にしておいても、それはそれで
宝の持ち腐れに思えたのでメモを公開します。。。ね。。。

上手に伝わったかどうか分からないので、復唱気味に仕組みを何度も説明していますが、
VirtualBox 上のWebページ(apache のデーモン)はインターネット側から普通に動き、
PHPも動くのも確認しているので、バーチャルマシンのリモートディスプレイのポートを
VirtualBox が動くホストPCに設定し、ルーターの設定も同様に変更しすれば、
インターネット側からリモートディスプレイができるということです。

リモートディスプレイとして公開するVirtulBox 上のバーチャルマシンには、
バーチャルマシンが動くホストPC自体のリモートディスプレイの3389のポートと衝突しない様に、
3389以外のホストPCとかぶらない値を適当にVirtulBox の設定から割り振るのと、
IPアドレスとリモートデスクトップ接続として用いるポート番号も
ルーター側にバーチャルマシンの数だけ設定します。(これも後日、類似した内容で詳細を公開します)

それ以前にリモートディスプレイをVirtualBox で用いたい場合は、
Oracle VM VirtualBox Extension Pack を入れないと実際は動かないとメモしておこう!

今回は、上記の設定の類などは本題ではないので、本題に入りたいと思います。
(というか、概要的なことは、ほとんど説明してしまった気もしますが・・・設定がまた長いので、また・・・・)


では本題です

①ダウンロードと設定ファイルのリネーム
まずphpvirtualboxのdownloadからphpVirtualBox をダウンロードします。
私の場合は、phpvirtualbox-4.1-7.zip をダウンロードしました。

WebサーバページとしてPHPが動くディレクトリに展開後、
フォルダにあるREADME.txt を読むと、英語で説明が書いてあり、結局は
config.php-example が設定テンプレートで、リネームかコピーしてconfig.php を作ります。
私の場合はコピーしてからリネームしてconfig.php を作り、使うことにしました。

②ちょっと説明とweb service の起動と確認
phpVirtualBoxの設定についてですが、phpvirtualboxWiki のAuthentication によれば、
エラーしたらこっちを見ろ!みたいにError logging in or connecting to vboxwebsrv へナビゲートされて
そこに何やら説明されています。

それによれば、Windows の場合にで他のプログラム言語などで作られたソフトウェアから
VirtualBox を呼び出す為に、簡単なweb service を動かす必要があり、
それは「vboxwebsrv」だよと説明している様です。

そのvboxwebsrv を起動していないと外部からの操作を受け付けず、動きません。

それは私の環境では、C:\Program Files\Oracle\VirtualBox\VBoxWebSrv.exe という場所、パスの
実行ファイルで、これをコマンドプロンプトから起動しておきます。

起動確認をすると、色々表示されますが、そこにport=18083 と表示されますが、
それがサーバに使われているポート番号です。

それが動いているかどうか、確認してみるには、ブラウザを開き、
http://127.0.0.1:18083  (VISTA , Win7, Win8 では挙動がXPと違うのでこちらの書き方を個人的に進めます)
もしくは
http://localhost:18083
と入力すると

<?xml version="1.0" encoding="UTF-8"?>
-<SOAP         ~ 略 ~

と言ったSOAP通信の内容が閲覧できると思います、これでvboxwebsrv が動くのは確認が出来ました。

③SOAPが動くか確認
ここで気が付かれたかもしれませんが、
SOAP通信(説明1,2)はXMLとHTTP を用いたメッセージ交換の仕組みなので、
PHPでも使えるようにしなければいけません。

なので、php.ini の設定の中でextension=php_soap.dllが有効になっていなければ、
有効に設定してください。
(勿論Windows の設定説明です)

;extension=php_soap.dll

extension=php_soap.dll
にして、保存し、Apache を再起動してください。

それでPHPで書かれたphpinfo()関数を実行して

                                    soap

Soap Client enabled
Soap Server enabled

Directive Local Value Master Value
soap.wsdl_cache 1 1
soap.wsdl_cache_dir /tmp /tmp
soap.wsdl_cache_enabled 1 1
soap.wsdl_cache_limit 5 5
soap.wsdl_cache_ttl 86400 86400
こんな感じなのが出るのを確認します。 なければしっかり動いていないので、Windows の環境変数path が
通っているかなど確認してください。

また、VBoxWebSrv.exe に「-help」 と追加でスイッチを与えると、port を変える方法も簡易説明で見ることが出来ます。

Linux だとこのサービスは元々自動起動として扱う方法が
Starting the VirtualBox web service automatically(日本語自動翻訳:VirtualBox の web サービスを自動的に開始)に
書かれていますが、そちらは割愛します。

(また、私の場合、環境が変化したので動かないのだと思い、マイクロソフトから
.net に依存したSOAP 3.0のツールキットをインストールしてしまいましたが、
入っていないのかと勘違いで入れただけなのだと思うので、ここも割愛します、入れなくても既に入っていると思います。)


④phpVirtualBox のconfig.php という設定の編集
それでは次に、phpVirtualBox 内にある、先ほど作ったconfig.php を編集しながら
何が書いてあるか見てみます。

説明は、先ほどのError logging in or connecting to vboxwebsrv にありますが、
まず、もしVirtualBox のweb service(VBoxWebSrv.exe)のポートを変更したなら、 
/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
var $location = 'http://127.0.0.1:18083/';
にある
var $location = 'http://127.0.0.1:xxx/';
xxx の部分も対応する様に変更します。

次にphpVirtualBox はシステムユーザーというユーザーが実行する様に出来ているので、
システムユーザーのID とPassWord を設定します。
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';
var $password = 'pass';

にあるので、必要であれば変更します。
インターネット越しに呼び出して使おうと思うのならば、
やはり変更をしておくべきなんじゃないかな?と思います。

あともう一つ、言語が英語になっているので日本語にしてみます。
/* Default language. See languages folder for more language options.
 * Can also be changed in File -> Preferences -> Language in
 * phpVirtualBox.
 */

var $language = 'en';
これを
var $language = 'jp';
にしておきます。

選べる言語はphpVirtualBox の「languages」にある言語ファイルを選べる様です。
日本語もあるので問題ないと思います、バージョンによって確認してみてください。

それではconfig.php の設定の変更を設定を保存して下さい。


⑤VBoxManage.exe コマンドでインストールに影響するグローバル設定を変更
次に、VartualBox のコマンド、VBoxManage.exe を、コマンドプロンプトから実行します。
ここで認証の仕方を変更します。
説明は、VBoxManage setproperty自動翻訳)にあります。

面倒なので、私の場合はエクスプローラーから、実行したいファイルを
コマンドプロンプト(cmd.exe)にドラッグ&ドロップするので、こんな感じになります。
x:\xxx>"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
ただ、cd コマンドとか打ち間違えが面倒なだけなんですが^^;

VirtualBox のパスも含め、いろいろなコマンドの実行ファイルが私の環境では
上記の通り、私の場合は、
C:\Program Files\Oracle\VirtualBox\
になります。インストールしたフォルダです。

さてそのコマンドの、VBoxManage.exe ですが、スイッチを打ち込み実行します。
認証方法をVBoxManage.exe に、setproperty と言うスイッチを用いて使います。

その続きにまたスイッチを続けて、2種類の設定を行います。
この2種類ですが、扱いに注意が必要です。

2種類とは、vrdeauthlibrary と、websrvauthlibrary になります。

コマンドのスイッチでヘルプを見ると以下になっていました。
VBoxManage setproperty      machinefolder default|<folder> |
                            vrdeauthlibrary default|<library> |
                            websrvauthlibrary default|null|<library> |
                            vrdeextpack null|<library> |
                            loghistorycount <value>


使う2つは

☆一つ目
vrdeauthlibrary のスイッチは、
特定の仮想マシンで外部認証を選択しているときに使用するライブラリを指定するらしい。
詳細については「RDP 認証」の項を参照してください。とある。

結局打ち込むコマンドは、
VBoxManage setproperty vrdeauthlibrary default
   もしくは
VBoxManage setproperty vrdeauthlibrary <library>
   のどちらかです。

☆二つ目
websrvauthlibrary のスイッチは、
web サービスを使用してユーザーを認証するために、ライブラリを指定しますらしい。
VirtualBox の web サービスについての詳細については、別の VirtualBox SDK リファレンスを
参照してください (章 11、 VirtualBox のプログラミング インターフェイスを参照してください).とある。

結局打ち込むコマンドは、
VBoxManage setproperty websrvauthlibrary default
   もしくは
VBoxManage setproperty websrvauthlibrary null
   もしくは
VBoxManage setproperty websrvauthlibrary <library>
   のどれかです。

どちらもdefault として説明はある、がしかし、
他のどこかのサイトではwebsrvauthlibrary にnull を打ち込んでいた所もあった。
良く見てもらえれば分かると思うのですが、ヘルプを見てvrdeauthlibraryにはnull のスイッチ指定はありません。
場合にもよるが、動かない場合は・・・・調べた上で?試してください・・・・ ここはつまづくと思います・・・
私もまだ未熟なので、よく理解していないので、どなたか分かりましたら助言して下さると助かります!
つまり、動くときと、動かない時があるのです・・・

話は戻りますが、実行は一瞬で行われ、何かアナウンスがある訳ではない様です。

それと、それ以前に、認証関連の設定を確認したい場合に、今現在の設定値や、変更した設定値を
みたい場合があると思います。

その場合は、先ほど説明しましたvboxmanage.exeというコマンドに、別のスイッチを入れて
状態がどうなっているのか確認ができます。

以下、コマンドラインで入力>
vboxmanage list systemproperties

そうすると、以下の様な設定が何処かに表示されます。
 
VRDE auth library:               VBoxAuth
Webservice auth. library:       VBoxAuth


VBoxManage setproperty のスイッチ対応ですが、
vrdeauthlibrary スイッチ場合は、VRDE auth library: の項目が対応し、
websrvauthlibrary スイッチ場合は、Webservice auth. library: の項目が対応しています。

スイッチでdefault を選ぶと表示はVBoxAuth、
スイッチでnull を選ぶと表示はnull になり、設定が変わります。

vrdeauthlibrary もnullが選べますが、ヘルプには項目として無いのに本当に選んでいいのか、
よくわからないので、気を付けましょう。

また、vrdeauthlibrary は、
GUIのVirtualBox.exe の 設定>一般>VRDP認証ライブラリ
でも設定できます、勿論、ウィンドウを閉じたりすれば、コマンドからの変化が繁栄されて見えます。
 
ちなみに私の場合、このコマンドをweb service(VBoxWebSrv.exe)は動いたまま実行しました。

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 
       こ れ 間 違 っ て ま し た ! ! !

このVBoxManage setproperty コマンドを使って設定を変えたら、
web service(VBoxWebSrv.exe)は再起動しなければいけません!!!
なので、VBoxManage setproperty コマンドで設定を変えるときは、初めから終了して
設定を変えた後に立ち上げましょう!!!


それで、私の場合は、どうも、phpVirtualBox のソースにある、
recovery.php-disabled をリネームして、recovery.php にして実行してしまった為、
どうしてもID:admin PassWord:admin でしかログオンできませんでしたが、
その時の設定は
VBoxManage setproperty vrdeauthlibrary default
VBoxManage setproperty websrvauthlibrary null
のコマンドを実行して、次に
vboxmanage list systemproperties
コマンドで確認したところ、


VRDE auth library:               VBoxAuth
Webservice auth. library:        null
となっている時に動きました!!!

多分、web service(VBoxWebSrv.exe)の設定は、
VBoxManage setproperty websrvauthlibrary null なのだと思います。


(話は少しそれますが、今回はWindows の説明なのですが、
Linux の場合は、デーモンとして起動しているweb service をリスタートするコマンドもある様です。
Linux の場合は設定し終わったらリスタートは基本です。リスタート後に設定は再び読み込まれ、
繁栄するのがほとんどのLinux デーモンだと思います。)


また、タスクマネージャではコマンドの類などを実行すると、
VirtualBox Interface(VBoxSVC.exe)プロセスが実行されます、実行されて終了ではなく、常に常駐しますし、
web service(VBoxWebSrv.exe)を使う場合には、必ず動いていなければいけないみたいです。
無理やりこのVirtualBox Interface(VBoxSVC.exe)プロセスを消しても、
何かVBoxManage.exe の操作コマンドを実行すると、消しても再び呼び出され、常駐します。
Windows では、再起動が必要ないのか、または認証関係で再起動はないのか、
それらもまだよく分かりませんでした。

VBoxManage.exe のコマンドが、うまくいかない時には、
交互に2回ほどゆっくり繰り返すと、なぜかうまく動き出すことがあります、
たまにコマンドミスなどで、VirtualBox Interface(VBoxSVC.exe)のプロセスが複数常駐して、
増えすぎることもあるので、ゆっくり繰り返すのは、処理されきる前に実行すると、
プロセスが増えるからではないかな?と思います。
もし動かない場合はこの辺りを試すといいかもしれません。

⑥設定後に実行してみる
では、PHP とApache のWebページが動く場所に、phpVirtualBox を配置しているはずなので、
config.php があった場所にある、index.php をブラウザからWebサーバに見立てて実行すれば、
ログイン画面が出るはずです。

出たら、先ほどのconf.php で編集した、システムユーザーのID とPassWord を打ち込んで
動けば問題ないですが、動かなかった場合は、
「⑤VBoxManage.exe コマンドでインストールに影響するグローバル設定を変更」にある様に、
コマンドを交互に2度ほどゆっくり打ち込み直すのも手だと思います。
それでもダメなら再起動しなおしたり、調べた上で上記にあったnull とかも試すといいかも
しれません。

あと、recovery.php-disabled をリネーム方法でリセットすると、
ログインのID とPassWord が、本当に変わってしまう様なのですが、
その後、いくらconfig.php で設定しても、なぜか私はadmin/admin でしか、
phpVirtualBox にログインできませんでした。

phpVirtualBox の設定でパスワードは変えられるのも分かっているのですが、
コマンドでVirtualBox のWeb Server のログインID を変えるコマンドはまだ調べていません。
多分変えられるのだとは思います。

RDP の認証 については分かりにくいので、また今度、探して何か見つけ、機会があればメモを残そうと思います。


今日は長かったのでこれくらいにします。長いメモで失礼しました。(数回修正あり)


                                               それではまた^^ノシ

拍手[0回]

PR

No Image

phpvirtualbox とvboxweb

仮想OS の調べ物

色々調べ物をしていると、何時もの様に横道にそれた・・・

今日は端的なメモ。

Web上からVirtualBox を操作する誰かが作ったスクリプトなどが存在することが分かった。

PHP から出来たWebページから操作するのは、phpvirtualbox

Python から出来たWebページから操作するのは、vboxweb

前回のブログにも述べている様に、コマンドライン(Chapter 8. VBoxManage翻訳))から
VirtualBox 上のVM のスクリーンショットから、VM の起動やVM のコピー 、
拡張パッケージ関係の操作などなど、ありとあらゆることが出来るので、それらコマンドを使って、
OS のコマンドが実行できるWebアプリが作成できるスクリプトから呼び出して実現していると言うことだと思う。

繋げるという案ではとてつもなく便利だと思う。
アプリケーションをWebアプリにしてしまうことが、Web系スクリプトの魅力は恐るべし!と感じる。

遠距離からVirtualBox なんて呼び出せたら、VPS とかのサービスもそのうち競争が激化しそうなくらい、
便利なんだろうなって思う。


色々調べていたら出てきたが、これもネット上で調べれば色々出てきたので、
それはまた今度と言うことで。

なんでネットでの調べ物って、こんなに横道にそれちゃうんだろう^^;
その上、見た物それぞれを、やたら新たな情報源としてメモしておきたくなったりもする・・・

そんなに大事なものばかりが周りにあふれたら、進まないじゃないか!



                               こんなところで今日のメモは終わりにします、お粗末<_ _>



追伸:

後日のブログ
VirtualBox をphpVirtualBox を使って操作したい
phpVirtualBox を実際に動かしてみました!

ある程度設定の説明なども噛み砕いているつもりなので、宜しければどうぞ!








拍手[0回]


No Image

VirtualBox のリモートディスプレイ

仮想OS の調べ物

VirtualBox のリモートディスプレイ がどうも動かないので、調べてみた。

VirtualBox 本家にある、ダウンロードより、
VirtualBox x.x.x Oracle VM VirtualBox Extension Pack のダウンロード部分にあるリンク
this chapter from the User Manual に詳細が載っていた。

そこには、
Installing VirtualBox and extension packs
(VirtualBox と拡張パックのインストール)と言うタイトル項目があり、内容は
             ・
            (一部省略)
             ・
Additional extension packs can be downloaded which extend the functionality of the VirtualBox base package.
(VirtualBox ベースパッケージの機能性を拡張する追加の拡張パックをダウンロードすることができる。)
Currently, Oracle provides the one extension pack, which can be found at http://www.virtualbox.org and provides the following added functionality:
( 現在、オラクルは http://www.virtualbox.org において見つけることができるひとつの拡張パックを供給し、そしてそれは次の付加的な機能性を提供する:)
  1. The virtual USB 2.0 (EHCI) device; see the section called “USB settings”.
    仮想 USB 2.0 (EHCI) デバイス;「USB 設定」の項を参照してください。

  2. VirtualBox Remote Desktop Protocol (VRDP) support; see the section called “Remote display (VRDP support)”.
    VirtualBox のリモート デスクトップ プロトコル (VRDP) のサポート;「リモート表示 (VRDP 対応)」 と呼ばれるセクションを参照してください。

  3. Intel PXE boot ROM with support for the E1000 network card.
    (Intel PXE boot ROM の E1000 ネットワーク カードをサポート。)

  4. Experimental support for PCI passthrough on Linux hosts; see the section called “PCI passthrough”.
    PCI パススルー Linux ホストでの実験的なサポート;「PCI パススルー」と呼ばれるセクションを参照してください。

ここで b. 項を見ると、拡張パックによってリモートディスプレイを有効に出来る様だ。


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

また、b. にあるthe section called “Remote display (VRDP support)”. を見てみると
Remote display (VRDP support)
(リモート表示 (VRDP 対応))
というタイトル項目があり、その内容に、
                 ・
                (途中省略)
                 ・
For maximum flexibility, starting with VirtualBox 4.0, VirtualBox implements remote machine display through a generic extension interface, the VirtualBox Remote Desktop Extension (VRDE).
(最大の柔軟性は、 VirtualBox 4.0を開始して、 VirtualBox の一般的な拡張インタフェースは、 VirtualBox リモートのデスクトップ拡張( VRDE )を通してリモート マシンディスプレイを実装します。)


とある。

また、どうも、このオープンパッケージとは別に、第三者が作ったパッケージを含めるときも、
このベースとなるVirtualBox x.x.x Oracle VM VirtualBox Extension Pack は必要になる様な趣旨も
書いてあった。



当初、リモートディスプレイの機能が動かなかったが、コレを入れたら動く様になったので、
書いてある通り必要だったのだと・・・思われる^^;?
VirtualBox の設定項目を見る限り、初めから使えそうな項目メニューなので、紛らわしくて注意が必要です??

また、ついでにコマンドラインからの特殊な操作もマニュアルから見つけたのでメモ。
Chapter 8. VBoxManage翻訳
VirtualBox はコマンドライン用の実行ファイルも、インストールフォルダにあった。


用途は、VMの起動から、VMの終了などの状態変化、VMのコピー、などなど、
あと、同じ章に、VBoxManage extpack翻訳)の部分には、拡張パックのアンインストールなどについても
コマンドから実行する方法が書かれていた。


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

そうそう! このリモートディスプレイ、ポートが呼び出されたら起動!とかしてくれるのかな?
とか思っていましたが、VirtualBox だけ起動していても動いてくれなかったです!!!
 むしろ、VirtualBox 本体は起動しなくてもよく、中のVM のリモートディスプレイの設定がなされているなら、
そのVM を起動しておけば、他のPCから起動中のものを、リモートディスプレイしてくれました!!!

 私の場合は、他のPCから使いたかったので、Windows のデスクトップ上などで、右クリック、
そしてショートカットの作成というウィザードから、

               mstsc.exe /v:wild-go:13389

 などと打ち込み、名前を「  wild-go(v-debian6)  」みたいにして作ってあります。

普通にWindows XP(SP2以降) なら、スタートメニュー>アクセサリ>リモート デスクトップ接続
の場所にあるので、それを実行して、コンピュータ 名をwild-go:13389
とかでも構わないです。

この、wild-go(v-debian6)というのは、私の趣味でつけてあるだけです。
wild-goという名前を付けたWindows が走るPC 上のv-debian6(VirtualBox のDebian 6)であると言う意味です。
名前に深い意味は無いです。

ここで注意なのは、13389 のポート番号です。
他のサイトにもありましたが、元々のポート番号3389 は既にWindows 自身の仮想デスクトップのポートとして
用いられている為、重複して使えないので、他の重複しないポートに変更して呼び出す必要があるのです。

そして、私のPCの名前がwild-go なので、そのまま名前が入れてありますが、
環境によっては名前を解決するのに時間がかかったり?何らかの都合で動かない場合もあるので、
もしかするとIP で直接入力(例:192.168.???.???)などや、
自分自身のPC上のみで、他から参照されないで用いるのならば、IP(127.0.0.1)などにするか
localhost にすると良いと思います。

ショートカット例:               (VRDPのクライアント名のみの例)
mstsc.exe /v:127.0.0.1:13389      (127.0.0.1:13389
mstsc.exe /v:localhost:13389     (localhost:13389
mstsc.exe /v:192.168.xxx.xxx:13389     (92.168.xxx.xxx:13389



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

最後に、ミソなのか勘違いなのか分かりませんが、Debian 6 をリモートしている側、つまりホストのディスプレーの
大きさに自動で合わせる為には、サーバ(VirtualBox)のPC 側で立ち上げたVM は最小化をすぐして、
後にすぐ、クライアント側のリモートデスクトップ接続を呼び出すと、
なぜかホスト側(Windows のリモートデスクトップ)の画面の大きさを優先に自動で変えてくれました。

タイミングで、デスクトップの画面のマスター関係も、起動時に認識した順で決まるのでしょうか?
それが不思議でした。

リモートホスト側優先か、リモートサーバ側優先か、
この辺りも、設定できれば良いのですが、その様な設定は見当たりませんでした。

リモートクライアントの情報もやり取りしてるのはよく分かって面白かったです。


本当はVirtualBoxのみを起動していて、個々のVM を起動していなくても、
ポートが呼ばれると自動で起動を試みたり、パスワードによって起動するか選べたりすると
もっと使い道があると思うのですが、それでは無料じゃなくなりそうだなぁー・・・とか思ってしまいました。

今日は感想も含め、こんな感じの内容でした。


                                 以上何時もの長いメモでした!お粗末<_ _>

拍手[0回]


WindowsのVirtualBox でブルースクリーン、回復コンソールからサービス停止で回避

WindowsのVirtualBox でブルースクリーン、回復コンソールからサービス停止で回避

仮想OS の調べ物

 いつもの長ぁ~いメモ。

Windows のVirtualBoxは、設定でネットワークアダプタが追加できる、
この追加したときにドライバをインストールするかどうか聞いてくるが、
誤ってキャンセルなどして、そのまま再び設定でネットワークアダプタを消して追加しなおし、
「VirtualBox Bridged Networking Driver Miniport」というドライバの操作を行なうと
想定外のブルースクリーンになって、Windows すら起動しなくなる場合がある様だ(多分)。
※ 追伸:私のPCのいろいろなコントローラが不安定だったのも要因みたいです※
※追伸の追伸:原因はAMDのマザーにどうもキャプチャーカードが合わなかった様です※


そのブルースクリーンになったときに、OSをまるまる入れなおしたりする方法を取らずに
回復コンソールで回避出来たのでメモを残してみます゜w゜;

Windows の回復コンソール(回復コンソールをインストールしていない場合にはWindows のインストールCDが必要)で
listsvc コマンドを使うと、インストールされているサービスが表示される、
そこでVirtualBox 関連のサービスを見つけ出してdisable コマンドによって停止する。
----------------------------------------------------------
●MpFilter システム (SERVICE_SYSTEM_START)
 VirtualBox Bridged Networking Service
●SharedAccess 自動 (SERVICE_AUTO_START)
 Windows Firewall/Internet Connection Sharing (ICS)

●VBoxDrv  システム(SERVICE_SYSTEM_START)
 VirtualBox Host-Only Ethernet Adapter
●VBoxNetFlt  手動(なんだっけ?書き忘れたけど特に問題ないと思う、元々手動)
 VirtualBox Bridged Networking Service
----------------------------------------------------------
 上記の中でVBoxNetFlt は元々手動とあったが、なんとなくDisable コマンドを使った覚えがある、
しかし起動後にenable コマンドによって元に戻した覚えが無い。

 それと上記でSharedAccess も停止したのは、ブルースクリーンでBIOS やら
anti-Virus 関係もどうとか英語のメッセージが出ていたので、
サービスを見渡す限り、セキュリティーや、ネット関係で競合を起こして居そうな名前が、
なんとなくそれくらいしか見つからなかった気がしたので停止してみた、
実際にその停止が必要だったのかは定かではないが、結果的に動いている。

今回変更したのは
- - - - - - - - - - - - - - - - - -
disable MpFilter
disable SharedAccess
disable VBoxDrv
disable VBoxNetFlt
- - - - - - - - - - - - - - - - - -
でサービスを停止した。

Windows が動いた後、デバイスマネージャでネットワーク アダプタにある、
VirtualBox 関連で!マークがついたものを消す、しかし、
 「VirtualBox Bridged Networking Driver Miniport」は消す事が上手に出来ないと思う。

なにやら厄介な事に、かなりシステムに依存したサービスらしいので、
回復コンソールでenable コマンドで自動やらシステムで起動と設定されていたサービスを
再び動作する設定に戻す。

具体的にはVBoxNetFlt は元々手動だったので、それ以外の以下を
- - - - - - - - - - - - - - - - - -
enable MpFilter SERVICE_SYSTEM_START
enable SharedAccess SERVICE_AUTO_START
enable VBoxDrv SERVICE_SYSTEM_START
- - - - - - - - - - - - - - - - - -
とコマンドを用いて元に戻した。

その後に再びWindows のデバイスマネージャで、
VirtualBox Bridged Networking Driver Miniport を有効にしたり、
ドライバを入れなおそうとしたり、ドライバを指定して
C:\Program Files\Oracle\VirtualBox\drivers\network\netflt
にあるドライバを再びインストールしようとしていると、
私の場合はエラーが表示された後に、なぜか
「デバイス問題のトラブルシューティング ウィザード」が自動で立ち上がり、
有効動作を選ぶと有効になり動き出した。

私が選んだドライバは、
VBoxNetFltM を選んでエラーだったのだが、エラーが選び間違え立ったのかは
定かではないが、しっかり再認識して動き出したので問題は無さそうだった。

その時のスクリーンショット
57f82a8e.PNG

実は・・・・ ここまで来る前に、HDD のフォーマット形式が表示されなくなるという
不具合も同時に起こっていて、これも解決したのでその事も書き記す。

同様に上記の事柄をする前に、回復コンソールでchkdsk /r /p をしてみたが、
修復フラグを数箇所見つけて修正はするが、その後のHDDのチェックをエラーを見つけて
終了してしまう。

なので調べていると、HDDのフォーマット形式が表示されなくなっていた、
どうもパーティションを区切っているブートセクタに不具合があって、
フォーマット形式がわからなくなっていて発生している様であってので、
map というコマンドを使って、フォーマット形式が見えなくなっているドライブの
物理的な場所とフォーマットのあるパーティションを示した場所を示す文字列を表示させる。

そのmap で示された、フォーマット形式が見えなくなっているドライブ名から得た、
その文字列を使って、fixboot コマンドより、再びフォーマットのセクタを再定義して、
再起動する。

fixboot コマンドはmap コマンドから得た場所を示す文字列を例えば以下のように書く。
fixboot \Device\HardDisk?\Partition?

私の場合、fixboot コマンドの後、再起動して再び回復コンソールで、chkdsk が1度しっかり最後まで
動作を確認後、それでもWindows が正常に動かなかった為、
desable コマンドを使ってサービスを停止してみた所、無事に動いた。




 以上、毎度ながら長いメモでした、お粗末<_ _>

拍手[0回]


  • Home
[PR]