HOME / コンピュータTips / Solaris / Win4Solaris

Date: 2024/10/13 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris opensolaris Windows VMware Win4Solaris Win4Lin Win4BSD リモートデスクトップ

Win4Solarisという、Solarisの上で、Windowsを動作させるVMwareのようなアプリケーションがある。

これを購入してみた。

WindowsXPのインストール

まずはルート権限で

loadwinproCD /export/vm/jp_winxp_pro_with_sp2.iso 

結果

Checking CDROM...
Media found: Windows XP Professional (Service Pack 2)
Loading CDROM... please wait...
..................................................
Windows CDROM load complete.

次に自分の権限でおこなうこと。

installwinpro -w winxppro -g 16G -m shared

出力結果

installwinpro: installation details:
        Target directory:   /export/home/kohju/winpro
        Windows version:    winxppro
        Installation mode:  shared
        Guest image size:   16G


installwinpro: launching guest installation...

するとウインドウがたちあがり、もりもりとインストール作業を始める。どうやらWindowsXPの自動インストール機能を使ってるみたいだ。QEMUやVMwareよりも、VM環境が楽に使えるのか?と期待してしまう。

ウインドウ中のアラートがでている。Do not show this againがでているし、「DO NOT」なんて強調されているので思わず、手でうつす。

Win4Solaris Pro 4.0 - winpro

The session will end automatically once the guest Windows installation is finished.In rare cases, you may instead see a screen that indicates it is safe to turn off the computer. Should this happen, DO NOT close the Win4Solaris Pro window , as this would abort your installation and erase it. Instead, press Shift + F12, and select the "Exit Session...." option, answering "Yes" when prompted for confirmation. This will allow your installation to finish properly and remain on disk.

You can safely ignore this massage if your guest Windows installation completes properly, as expected.

要するにこんな超意訳。

今回は、自動的にゲストWindowsをインストールしてそのまま終了します。まれに、ゲストマシンの電源が自動的に切れたり再起動しないときがあり、そのときの画面にはシステムを安全に電源OFFできるというような画面が出ています。このとき、Win4Solaris Proのウインドウを絶対に閉じないでください!!ゲストWindowsはインストールからやり直しになります。代わりにShift + F12を押すか、メニューからExit Session...を選び、Yesを選択してください。こうすることで、インストールは無事に完了します。

ってなワケ。

終わるとこんなMSGがでる。

installwinpro: launching guest installation...
--total session runtime: 151m 29s

ライセンスの登録

ライセンスについてはこのコマンドを入力する。

/opt/VBICw4s/bin/ask_license.sh

次のように登録。

Would you like to enter your license code now? (y/n) y

Please now enter the license code for your copy of Win4Solaris Pro.

If you received a license code via mail or the internet, when
prompted type it in exactly as printed, including the hyphens.
Otherwise the license code can be found on the Win4Solaris Pro CD sleeve.
When prompted, please type this license code exactly as it
appears on the CD sleeve (including the hyphens).

       Your Name: TAKI<<自分の名前をいれた
    Organization: JUSTPLAYER<<自分の会社名
    License Code: 1w6p<ライセンスは購入品目の一覧にある>

Is the above information correct? (y/n) y

License accepted.

これで終わり。

起動

winpro

で起動は可能なのであるが、デフォルトメモリが128Mと、きょうび、XPを動かすには、あまりにアレなので512Mぐらい、くれてやる。

$ cat winpro/settings.local

# DO NOT DELETE OR CHANGE MRGPRO_WINDOWS_VERSION OR MRGPRO_GUEST_INSTALL_MODE
MRGPRO_WINDOWS_VERSION="winxppro"
MRGPRO_GUEST_INSTALL_MODE="shared"
# BEGINNING OF LOCAL USER SETTINGS
MRGPRO_WINDOW_TITLE="winpro"
MRGPRO_DISABLE_AUDIO="no"
MRGPRO_WINDOWS_RAMSIZE="512"

あとは、ディスクに関連するもの・・・たとえば、復元ポイントを作るところは、親OSであるzfsのSnapshotを使えばいいし、いくつかの項目をひたすら落とす。

WindowsはOffice系アプリなど等が使えれば良いわけで、デバイス系は落としまくれば良い。

ファイルは、ホームディレクトリに保存されている。samba的な何かが立ち上がってるのかどうかは不明。

その他

リモートデスクトップを利用する。

画面描画は、どうしても遅くなるので、winpro自体を最小化して利用し、リモートデスクトップを利用するという方法がある。リモートデスクトップはrdesktopをpkg-getなどを利用してインストールする。これについては割愛。

この方法だと、ホストOSがどのような画面解像度でも、フルスクリーンで利用することができるし、画面描画もそこそこ速くなる。OSにとって負荷の高い描画をホストOSで行うからだ。

しかしながら、もしかしたらwin4solarisのライセンスではこれはやってはいけないことなのかもしれない・・・・詳しくはわからないのだが、理由は下記をみて、想像して欲しい。

winpro/settings.localの編集

EXTRA_FLAGS="-redir tcp:3389::3389"                                             

実は、これだけでは有効にならない。winproスクリプトでEXTRA_FLAGSを無効?にされているっぽい。

/bin/winproスクリプトの編集

winproのスクリプトを下記のように書き換える。要するに、EXTRA_FLAGSをクリアしているところを除去すればよい。

*** 254,260 ****
        COREFLAGS="$COREFLAGS -soundhw es1370"
  fi
  # Make slight adjustments for each respective Windows version
! EXTRA_FLAGS=""
  CPUARCH=`uname -m`
  case $MRGPRO_WINDOWS_VERSION in
        win2k*)
--- 254,260 ----
        COREFLAGS="$COREFLAGS -soundhw es1370"
  fi
  # Make slight adjustments for each respective Windows version
! #EXTRA_FLAGS=""
  CPUARCH=`uname -m`
  case $MRGPRO_WINDOWS_VERSION in
        win2k*)

ホストOS側はこれで終了。

ゲストOSの設定

デフォルトでゲストOSのAdministrator=Solaris上の自分のアカウントになっているので、Administratorで普通に使った方が良い(笑

が、パスワードがわからないので、パスワードを設定する。

  • コンピュータの管理
    • ローカルユーザとグループ
      • Administratorで右クリック

パスワード変更時、自動ログインになってるんだが、本当に良いのか?みたいなメッセージが出てくるが、とりあえず他に方法が無いので、パスワードを好きに設定する。

このパスワードはプレーンでどこかに記載しても良いような物でも良いんじゃないかと思う。理由はそっちの方がrdesktopで設定できて楽だから。

たとえば、こんなシェルスクリプトを作っておく。

#!/bin/sh
rdesktop -g 1280x840 -k en-us -u Administrator -p admin localhost 

パスワードはadminに設定しており、画面サイズは1280x840、キーボードは英語キーボードである。この画面サイズは好きに出来るので、自分のPCのサイズで一番良い物にすればいいだろう。ちなみにwin4solarisのエミュレーションウインドウは、サイズは自由に設定できないので、メリットが多いはず。

・・・

このようにすると、Win4Solarisのメインウインドウが、せっかく、自動的にデスクトップが起動したり、SingleAppモードが使えるのに、いちいちパスワードを入れないと、使えなくなってしまう

そこで、元のように戻すため、

  • ファイル名を指定して実行
    • control userpasswords2 と入力

ユーザーアカウント設定ウインドウを開く。

  1. ユーザがこのコンピュータを使うには、ユーザ名のパスワード入力が必要をチェックを入れ適用を押す。
  2. 次に、ユーザがこのコンピュータを使うには、ユーザ名のパスワード入力が必要をチェックを外し適用を押す。
  3. 自動ログオンウインドウにパスワードを入れる。

以上で、元のように戻るはず。

キーボードの設定

ホストOSには101/104英語キーボードが認識されているが、黙っていると中のWindowsXPは、101キーとして認識されてる割に、キーをたたいてみると106配列になっている。

一度、キーボードを106に変え、101に変えると修復可能。

kqemuを無効にする

win4solarisを利用していると、Windowsを利用しているときは速い一方で、何かをするときに、しばしばホストOSであるSolarisを巻き込んで重くなってしまうことがある。

WindowsというOSは、常々、なにをしてもすぐにOS全体を巻き込んで遅くなる。Solarisはそれがほとんど無いことがメリットであるが、この状態はWindowsの病気が移ってしまったかのように見える。

これは、カーネルレベルで動いているkqemuのせいだと思われる。kqemuはカーネルレベルでエミュレーションを行うため、OSの動きを加速させる。qemuの場合がCPUそのものをエミュレーションするのに対し、kqemuではBIOSエミュレーションのVMwareやVirtualPCに近い動きをする感じだ。

実際、win4solarisの上で動作しているWindowsでHDベンチを実行すると、次のような結果になる。

kqemu利用時(デフォルト)

   ALL  Integer   Float  MemoryR MemoryW MemoryRW  DirectDraw
 48408   106571   86465    71057   75666   145700           0 
Rectangle   Text Ellipse  BitBlt    Read   Write    Copy  Drive
        0      0       0       0  117295   25950    1710  C:\100MB

qemuモード

   ALL  Integer   Float  MemoryR MemoryW MemoryRW  DirectDraw
 30450    23371   11724    13208   14487    16987           0
Rectangle   Text Ellipse  BitBlt    Read   Write    Copy  Drive
        0      0       0       0  129291   27923    1152  C:\100MB

意外にも、HDのアクセス速度が、誤差の中に止まっているのだが、CPU速度やメモリのアクセス速度はKQEMUが圧倒的に速い。

さて。

このままではqemuのモードにする意味はないのだが、冒頭で上げた通り、kqemuを利用したwin4solarisは、アプリ実行時にSolaris側がもたつくことがある。

具体的に言うと次のような形だ。

  • PowerPointを起動しようとしたら時間がかかるので、ALT+TABを押して、SolarisのFirefoxに制御を移したら、なかなか帰ってこなかった。ただしPowerPointは15秒で起動した。

結局、これはエミュレータがKernelレベルで動いている?せいっぽい。

qemuを実行するとこうなる。

  • PowerPointを起動しようとしたら時間がかかるので、ALT+TABを押して、SolarisのFirefoxに制御を移した。何事もなく普通に使えた。ただしPowerPointは45秒で起動した。

秒数はいい加減なのだが、要するに、そう言うことなのだ。

ということで、qemuモードにしたい人のパッチ。

まずは、上記のwinproのパッチを当てておく。

winpro/settings.localの編集を行い、

EXTRA_FLAGS="-redir tcp:3389::3389 -no-kqemu"

と行っておく。

起動時にワーニングが出るが、YESを選択しよう。後は利用してみるとわかるが・・・個人的にはこの真ん中が欲しいね(笑


コンピュータTips/Solaris

Recent Updates