レガシーOS&アプリを無料の仮想マシンで動かす その5(VMWare Player編その4)2009年01月02日 06時53分

VMX Builder によるVMXファイル作成例(guestOS:Windows98SE)
上画像:VMX Builder によるVMXファイル作成例(guestOS:Windows98SE)

(その4からの続き)

(4)vmx ファイル の作成

とりあえず、1GBの「仮想ディスク」 win98.vmdk ファイル を作成したので、お次は vmx ファイル を作成します。

作成方法は大雑把に言って下記の3つがあります(たぶん)

1)一から手打ちで vmx ファイルを作成する。
2)ちゃんと動いている仮想マシンから vmxファイルをコピーしてエディタて修正して使う。
3)フリーの作成ソフトを使う

私はVMX Builder というフリーソフトを使いました。GUI操作で簡単にvmxファイルを作れるのでこれはお勧め。下記から入手します。

VMware Utilities
http://petruska.stardock.net/Software/VMware.html

別途 "Core Components (Visual Basic 6 SP6 Runtimes, Windows Common Controls, Tab Control, etc.)"も必要なので、これも上記より入手してインストールします。

VMX Builder で「仮想ディスク」も作成出来るのですが、私が試した限りでは VMWare Player 2.5.1 ではエラーが出て上手く動きませんでした。(他のバージョンでは試してません) QEMU で仮想ディスクを作成してから、VMX Builder で vmx ファイルを作るのが宜しいかと。

VMXファイルの作成方法を詳述するのは面倒なので、作成画面例をアップしておきます。(ちなみに作成対象の VMWare Player のバージョンは 1.0.9 です。 VMWare Player のバージョンにより設定不可の項目もあります)

VMX Builder を起動して、"Home"-"Edit Existing Virtual Machine"を選択。"Options"タブ - "General"の入力・選択欄を必要に応じて入力・選択します。とりあえず"General"以外のはデフォルトで良いかと。

あと、"Hardware"タブの項目について、"Floppy"を必要に応じて設定します。ハードディスクとCD-ROMとサウンドアダプターはデフォルトでは無しになっているので、"Add"ボタンで "Hard Disk" "CD-ROM" "Sound Adapter"を追加し、必要に応じて設定します。"Hardware"のその他の項目はとりあえずデフォルトで宜しいかと。

"Sound Adapter"は、"ES1371""SB16""SB16+OPL3/Yamaha Synth" が選べますが、ゲストOSがWindows98以前やNTであれば SB16が無難でしょう。Windows2000以上やMeなら"ES1371"が宜しいかと・・・(サウンドアダプターについては次回もう少し触れましょう・・・)

作成画面例は、E:\win98 フォルダ内に 仮想ディスク win98.vmdk をコピーして、それから VMX Builder で同一フォルダに win98.vmx ファイルを作成しているところです。

大体こんなもんだとイメージをつかんでもらって、あとはやってみるのが良いでしょう。

参考に、作成したファイルを下記に示します。整理整頓された見やすいテキストになっていますね。

#######################################
####### win98se.vmx
#######
#### generated by VMX Builder RDP/UH ##

####### identity/general ##############
displayName = "Windows98 Second Edition"
# Platform = Player
# Version = 1.x
config.version = "8"
virtualHW.version = "4"
guestOS = "win98"

####### hardware ######################
####### motherboard/bios ##############
nvram = "New VM.nvram"
bios.bootDelay = "0"
bios.forceSetupOnce = "FALSE"
SMBIOS.reflectHost = "FALSE"

####### cpu ###########################
numvcpus ="1"
monitor.needreplay = "FALSE"
monitor_control.vt32 = "FALSE"
monitor_control.enable_svm = "FALSE"
monitor.virtual_exec = "automatic"
monitor.virtual_mmu = "automatic"
monitor_control.restrict_backdoor = "FALSE"
disable_acceleration = "FALSE"
vmi.enabled = "FALSE"

####### ram ###########################
memsize = "128"
MemAllowAutoScaleDown = "TRUE"

####### ide-controllers ###############
ide0.present = "TRUE"
ide1.present = "TRUE"

####### ide-disks #####################
ide0:0.present = "TRUE"
ide0:0.fileName = "win98.vmdk"
ide0:0.mode = "persistent"
ide0:0.deviceType = "disk"
ide0:1.present = "TRUE"
ide0:1.fileName = "auto detect"
ide0:1.autodetect = "TRUE"
ide0:1.deviceType = "cdrom-raw"
ide0:1.startConnected = "FALSE"
ide0:1.exclusive = "FALSE"
ide1:0.present = "FALSE"
ide1:1.present = "FALSE"

####### scsi-controllers ##############
scsi0.present = "TRUE"
scsi0.virtualDev = "buslogic"

####### scsi-disks ####################
scsi0:0.present = "FALSE"
scsi0:1.present = "FALSE"
scsi0:2.present = "FALSE"
scsi0:3.present = "FALSE"
scsi0:4.present = "FALSE"
scsi0:5.present = "FALSE"
scsi0:6.present = "FALSE"

####### sound #########################
sound.present = "TRUE"
sound.startConnected = "TRUE"
sound.virtualDev = "sb16"
sound.fileName = "-1"
sound.autodetect = "TRUE"

####### floppies ######################
floppy0.present = "TRUE"
floppy0.startConnected = "FALSE"
floppy0.fileType = "device"
floppy0.fileName = "auto detect"
floppy0.autodetect = "TRUE"

####### display #######################
svga.maxWidth = "2360"
svga.maxHeight = "1770"
svga.vramSize = "16777216"
mks.enable3d = "FALSE"

####### mouse/keyboard ################
vmmouse.present = "TRUE"

####### options #######################
####### general options ###############
workingDir = "."

####### power options #################
gui.powerOnAtStartup = "FALSE"
gui.fullScreenAtPowerOn = "FALSE"
gui.exitAtPowerOff = "FALSE"
powerType.powerOff = "hard"
powerType.reset = "hard"
toolScripts.afterPowerOn = "FALSE"
toolScripts.afterResume = "FALSE"
toolScripts.beforeSuspend = "FALSE"
toolScripts.beforePowerOff = "FALSE"

####### shared folders ################
isolation.tools.hgfs.disable = "TRUE"

####### snapshots #####################
snapshot.disabled = "FALSE"
snapshot.Action = "keep"

####### guest isolation ###############
isolation.tools.dnd.disable = "FALSE"
isolation.tools.paste.disable = "FALSE"
isolation.tools.copy.disable = "FALSE"

####### vmware tools ##################
tools.syncTime = "FALSE"
tools.remindInstall = "TRUE"

####### advanced ######################
priority.grabbed = "normal"
priority.ungrabbed = "normal"
debug = "FALSE"
MemTrimRate = "30"
logging = "TRUE"
monitor_control.log_vmsample = "FALSE"
templateVM = "FALSE"
mainMem.useNamedFile = "TRUE"

####### end of file ###################

とりあえず、これで「仮想マシン」作成の下ごしらえは完了というところでしょうか。お次は、ゲストOSをインストールすることになりますが・・・(続く)

レガシーOS&アプリを無料の仮想マシンで動かす その6(VMWare Player編その5)2009年01月02日 07時35分

(その5からの続き)

(5)あなたな~らどうする~ VMWare Player のバージョン その1

おっと、ゲストOSを入れる前に、どのバージョンの VMWare Player を使うかを決めなければいけませんね。これは結構悩ましい問題です。

VMware Player のダウンロード
http://www.vmware.com/jp/download/player/

現在、ダウンロードできる VMware Player のバージョンは下記の通り。

1.0.x (1.0.0 ~ 1.0.9)
2.0.x (2.0 , 2.0.1~2.0.5)
2.5.x (2.5 , 2.5.1)

バージョンによる差異が無視できないので困ったことです。これまで私が使ったのは、 1.0.5~1.0.9 , 2.5.1 です。

マシンパワーがそれ程無く、ゲストOSが win9x以前(DOS含む)であれば、 1.0.x が良いのではないでしょうか?

2.5.1 は 1.0.x より 動作がもったりとしてかなり遅いと感じました。(Celeron 1.5GHz~2GHz,メインメモリ2GB, WindowsXP Pro & Home の環境で、win98(ゲストOS)を使った印象)

特に、ゲストOSがwin98以前の場合、サウンド関係がどうも・・・らしいです。VMware Player が用意するサウンド機能は、

①Sound Blaster 16/Pro 相当(以下 SB16)
②Sound Blaster Ensoniq Audio PCI (ES1371) 相当 (以下 ES1371)
③SB16+OPL3/Yamaha Synth

の3つのようですが・・・。WinMe 未満の Win9x, Win2k 未満の NT 系 OSの場合、ES1371のドライバはOSに付属していないそうで、当然サウンド機能は①SB16以外に選択の余地は無いのです・・・が、どうも SB16 については、VMware Player のバージョンで対応に差があるようなのです。どうやら、

1.0.x (1.0.0 ~ 1.0.9) SB16 O.K.
2.0.x (2.0 , 2.0.1~2.0.5) SB16 ×
2.5.x (2.5 , 2.5.1) SB16 O.K.(但し対応ゲストOSはwin98(SE)のみ)

という感じのようです。実際、VMWare Player2.5.1 で ゲストOS を MS-DOS, Windows3.1, Windows3.11 for Workgroups, Windows95 等を入れて音を鳴らすと、酷い音(レベルオーバーで飽和した音)が鳴ってびっくりしました。(おっと、WFW3.11では音は出ませんでした・・・)

VMWare Player1.0.8で作成した仮想マシンをVMWare Player2.5.1で使ったらそういう酷い音が出てくるようになったのです。初めは理由がさっぱり分かりませんでしたが、ネットを調べてみるとどうやらそういう理由らしいのです。一番参考になったのが下記サイトの情報です。

Micco's HomePage
http://www2.nsknet.or.jp/~micco/micindex.html
「いろいろ」→「VMWare のページ」→「VMware Player 2.5 」(・サウンド)→「強制 SB16 化の呪文」が参考になります

OSに合ったES1371のドライバを調達すれば良いのでしょうが、現状では入手は難しいようです・・・困ったもんですなあ・・・(続く)

レガシーOS&アプリを無料の仮想マシンで動かす その7(VMWare Player編その6)2009年01月02日 08時31分

(その6からの続き)

(5)あなたな~らどうする~ VMWare Player のバージョン その2

VMware Player のバージョン についての続きです。

現在利用可能な下記VMware Player のバージョン

1.0.x (1.0.0 ~ 1.0.9)
2.0.x (2.0 , 2.0.1~2.0.5)
2.5.x (2.5 , 2.5.1)

について、マシンパワーがそれ程無く(Celeron 2.0GHz程度)、ゲストOSが win9x以前(DOS含む)であれば、 1.0.x が良いのではないかと思います。

逆に、マシンがパワフルでゲストOSも比較的最近のもの(Windows2000以降、WindowsNTやWindowsMeはびみょう~ですな。個人的にはMeを使いたいとは思いませんが(笑))であれば、VMware Player のバージョンも2.0以上の新しい方を使うのが宜しいかと。

1台のマシンで、複数のVMware Player バージョン が同居できれば良いのですが、残念ながらそういうわけにはいかないので どのバージョンが良いかを試すのは骨が折れます。複数台マシンを用意してそれぞれ異なるバージョンのVMware Playerを入れて試せれば楽なのですがねえ・・・一個人ではそこまでは出来ませんなあ・・・

ちなみに、VMware Playerそのものの使い勝手は、1.0.x より 2.5.x が明らかに良いです。(2.0.x は使ってないので分かりませんが、 恐らく 2.5.x と同等・・・かなあ?)

2.5.x を使っていて「これは便利!」と一番感じたのは、VMware Player のウィンドウから操作するフロッピーやCD-ROMのマウント・アンマウント機能でした。マウント・アンマウントだけなら 1.0.x でも出来ますが、2.5.x は 物理ドライブ・仮想ドライブやイメージファイルも含めてマウント時の選択指定が出来ることが大きなメリットと感じました。

1.0.x では、vmx ファイル に記載されている 「物理ドライブ・仮想ドライブやイメージファイル」 しかマウント・アンマウント出来ず、ゲストOS動作中にマウント対象を変えるのは難しいですから。イメージファイルなら、マウント対象のイメージファイル名に書き換えるという裏技が使えますが、ドライブではどうでしょうか?(まあ、XP以降ならドライブレターを変える方法が使えるかも・・・試してませんが・・・)・・・(続く)

レガシーOS&アプリを無料の仮想マシンで動かす その8(VMWare Player編その7)2009年01月02日 08時54分

(その7からの続き)

(5)VMWare Player のインストール

どのバージョンの VMware Player を入れるかは悩んでもしょうがないところがあるので、ある程度のところで割り切って「だろカン」で決めるしかないでしょう。失敗したら情報提供して他の人のお役に立ちましょう。(人柱?)「一日一善」というやつですな・・・別に競艇場(?)へ行かなくてもいいですよ。

さて、VMware Player のインストールですが、これは無料ダウンロードして入手するだけです。ただ、ダウンロード前に簡単なアンケートに答える必要があります。まあ、無料ですから仕方ありませんな。

VMware Player のダウンロード
http://www.vmware.com/jp/download/player/

ダウンロードしたファイルを実行して、あとは指示通りにボタンを押すだけです。ただ、インストールで気をつけたいのは、インストーラーの推奨通り「CD-ROMの自動起動を無効(disable autorun)」をチェックすると、Windows Explorerを使ったCD-R書き込みが出来なくなる可能性があるということ。ブランクディスクを入れてもExplorerがそれを認識しないためのようです。ただ、専用のソフトを起動してCD-Rへの書き込みを行うことは可能。(これは、2.5.1 のインストール時には何にも聞かれなかったので、1.0.x だけかな?)

これも、最初は訳が分からず、色々調べてようやく「そういうことか」と分かった次第。詳細は下記に書いたので参考にご覧ください。

超漢字から超漢字Vへ・・・(2006年10月~2007年11月)
http://www.ne.jp/asahi/tron/music/Tyo_Kanzi/TyoKanjiV_Install.htm

CD-ROMの自動起動を有効にしたければ、レジストリを直接いじるか、VMware Player のアンインストールをするか、あるいは何かツールを入れるか・・・といういささか面倒なことになります。この仕様なんとかしてくんないかなあ・・・

まあ、それ以外は特に悩むことはありません。これから先、まだまだ悩むことは沢山あります(苦笑)ので、ここはサクッと行きましょう。(続く)

レガシーOS&アプリを無料の仮想マシンで動かす その9(VMWare Player編その8)2009年01月02日 09時15分

(その8からの続き)

(5)VMWare Tools の入手と準備

VMWare Player の準備はこれでO.K.なので、お次は VMWare Tools を入手しましょうか・・・正直、これも悩ましい話です。

VMWare Player上で Windows(だけではありませんが) を快適に使うのに欠かせない VMWare Tools (SVGA ドライバ等) なんですが、VMWare Player のバージョンによって入っていたり入っていなかったり、バージョンにより違いがあったりして実に悩ましい存在なのです・・・

まあ無料で利用しているので偉そうに文句を言える話ではないのですが、VMWare Player に VMWare Tools を付けて欲しいというのが正直なお願いですワ。

ちなみに私の場合、VMWare Player 1.0.9 に VMware-server-1.0.8 の tar アーカイヴ(これも無料でダウンロードできます) から引っ張り出した VMWare Tools(CD-ROM ISO イメージ:windows.iso) を使ってます。ただ適応できるゲストOSは限られており、Windows95とWindows98SEには有効に機能しましたが、Windows 3.1, Windows 3.11 for Workgroups, MS-DOS6.2/V には使えませんでした。(WindowsMe,NT以降は知りませんが・・・たぶん対応しているでしょう)

<2009.1.6追記>
VMware-server-2.0 の tar アーカイヴ から引っ張り出したwindows.iso では、win95,win98へのインストールはうまく行きませんでした。MeとかNT以上でないとだめなのかなあ?まあ、結局使うのはVMWare Player 1.0.9 だし、VMWare Tools だけ新しくしてもしょうがないのですが、VMWare Player 2.5.1で試したときもうまく行かなくなったから、win98 以前の ゲストOS については未対応?ということかな・・・<追記終>


なお、VMWare Tools は他にも引っぱり出す方法があるみたいですが(Workstation の試供版から引っぱり出すとか、色々)・・・どうもグレーゾーンからファウルラインを飛び出しそうな怪しげな方法までネットで飛び交っているようです。まあ、程ほどにしとくのが良いでしょう(意味不明)

まあ、VMWare Tools は仮想マシンにゲストOSをインストールしてからのご登場ですので、とりあえず windows.iso を引っ張りだして待機してもらえばいいです。tar アーカイヴからのファイルの引っぱり出しはフリーのアーカイバを使えば出来ます。お好みに合わせてどうぞ・・・(続く)

<2009.1.6追記>
この件についてはちょっと気になってネットで調べてみました。まあ、問題さそうです。

ttt-getttyent
FreeBSDにVMware Toolsをインストール
http://nhh.mo-blog.jp/ttt/2006/04/freebsdvmware_t_270f.html

VMware Communities
VMWare Tools + VMWare Player = Legal?
http://communities.vmware.com/thread/25731

といっても、最終的には利用者の判断次第でしょうが・・・<追記終>

レガシーOS&アプリを無料の仮想マシンで動かす その10(VMWare Player編その9)2009年01月02日 11時57分

(その9からの続き)

(6)ゲストOSインストール Legacy OSの入手について

ようやくゲストOSのインストールまで来ました。(実際はもっと紆余曲折の挙句なんですが、まあそんなアホなことを書いてもしょうがないので・・・)

インストールで一番面倒なゲストOSはMS-DOSかもしれません。既に消滅しつつある Floppy Disk で供給されているOSですから・・・一番の問題は、MS-DOSそのものをどうやって入手するか?ということかもしれません。

私の場合、1994年(かな?もう15年前になってしまった)に購入した 富士通 Deskpower Windows3.1モデル(Windows95無料アップグレード権付)のシステムCD-ROM をまだ捨てずに持っており(本体はもう手元にありませんが)、そのシステムCD-ROMに下記2つのOSが入っています。

・MS-DOS6.2/V(CD-ROMから6枚のシステムFDを作成する)
・Windows3.1(CD-ROMから直接インストール可能)

あと、

・Windows95 CD-ROM upgrade版
・Windows3.11 for Workgroups(DOS/Vパラダイス(※)で入手したFD8枚組)
※今は「ドスパラ」なんですなあ。(http://www.dospara.co.jp/

もまだ手元にありました。これらのOSはMS-DOSが必要なので、まずMS-DOSをインストールする必要があります。

Windows98SEはMS-DOS不要で、OSのCD-ROMだけでブート&インストール出来るもの(勿論、CD-ROMブート出来るPCという前提)ですが、その肝心のOS本体のインストールディスクが手元に無いのです。

Windows98SEノートPC(日立FLORA-これはリース用に使われていた中古購入だから後述するライセンスの話はどうなってるのかなあ?ちゃんとしたパソコンショップで購入してますが・・・)はあるのですが、肝心のOS本体のインストールディスクが無いのです。(工場出荷時の状態に戻すリカバリーディスクのみ付属)これではしょうがないので、オークションでOEM版のWindows98SEを入手しました。

まあ、厳密に言えば、PC本体に付属しているOEM版のOSは他のマシンでは使えないとか他者に譲渡出来ないとか・・・そういうライセンス契約になっている・・・らしいですが・・・。MS-DOS~Windows95迄はそんなにやかましくなかったと思いますが、Windows98くらいからガメツクなったような気がしますが・・・。

それにしても、お金を支払って使用する権利を得たOSであっても、別のPCでは使ってはいけないなんて、あんまりだと思いませんか?ハードウェアには寿命があり、ソフトウェアにも当然寿命はありますがそれはハードウェアに比べれば長いはずなのに、それをハードウェアの寿命で制限してしまうなんて、カチンとくるじゃあ、ありませんか・・・

まあ、OSの互換性さえちゃんと確保されていれば(といってもMS-DOS時代のソフトはハード直叩きが多いからOSの責任とは一概に言えない部分もあったりして)わざわざ過去の(レガシー)OSを引っぱり出す必要は無いのですがねえ・・・

・・・まあ、10年以上前にパソコンが現在のようになるとは(私も)想像すら出来ませんでしたし、過去のことは水に流して(?)、そろそろこういうレガシーOSについては Public Domain か Free にしてもらいたいなあと思います。もう十分元はとったでしょうから、MSさんにはそういう太っ腹な所を見せて欲しいもんです。それが企業の社会的な責任(これも日本では・・・)というヤツではないでしょうか。

・・・閑話休題・・・

まあ、ということで、

・MS-DOS6.2/V(FDD6枚)
・Windows3.1 CD-ROM
・Windows95 CD-ROM upgrade版
・Windows3.11 for Workgroups(FDD8枚)
・Windows98SE CD-ROM

の5種類のLegacy OSを用意しました。USB-FDDも用意しました。これでゲストOSをインストールする下ごしらえは整った・・・かな?(続く)

レガシーOS&アプリを無料の仮想マシンで動かす その11(VMWare Player編その10)2009年01月02日 13時57分

Starting MS-DOS... この画面を出すのに苦労したなあ・・・
上画像:Starting MS-DOS... この画面を出すのに苦労したなあ・・・

(その10からの続き)

(7)ゲストOSインストール MS-DOS6.2/V その1

い)「仮想マシン」の最初のブート方法について

VMWare Player の「仮想マシン」ですが、最初は単なるまっさらなマシンですので、そのままでは何にも出来ません。この仮想マシンに MS-DOS6.2/V をインストールするには、まず外部メディア(物理・仮想を問わず)からMS-DOSをブートする必要があります。方法としては下記の5つ・・・でしょうか?

①パソコン内蔵の物理FDDとMS-DOSインストールFDからブートする

②USB-FDDとMS-DOSインストールFDからブートする

③MS-DOSインストールFDイメージファイルからブートする

④MS-DOSインストールFDイメージを焼きこんだCD-ROMからブートする

⑤仮想FDD(MS-DOSインストールFDが割り当てられている)をVMWare Player のFDDに割り当ててブートする

2)と3)と4)は実際にやって出来ました。他はやったことが無いので、出来るかどうかはなんとも・・・VMWare Player のバージョンにもよるかと思いますが、とても全部試す機材も時間もありまへん。ネットワーク経由のブートも出来るかもしれませんが、もうそれは私の知恵の及ぶ範疇ではありませんね。あくまで個人のホビーの範囲ですから・・・


ろ)USB-FDDからブート(最初は失敗)

最初、確か VMWare Player 1.0.5 と 2) の方法でMS-DOSをブートしようとしたのですが、ウンともスンとも言いませんでした。「USB-FDDからはブート出来ない」という情報も見た記憶があり、「やはり駄目か・・・」ということでこの方法は断念。(ただ、後から考えると、VMWare Player 1.0.5 がUSB-FDDブートに対応していなかったのか、vmxファイルの作り方が悪かったのか(そのときは VMX Builder は使っていませんでした)は判然としませんし、面倒なのでその後検証の為の追試もしてませんが・・・)


は)MS-DOSインストールFDイメージを焼きこんだCD-ROMを使ってブート(成功)

ちょうどたまたま、ノートPCメモリのテストツールを使う必要があり、FDイメージで公開されているツールをCD-ROMに焼いて、そのCD-ROMからブートしてテストツールを使う・・・という方法を知っていたので、それと同じやり方で出来るかな・・・と思ってやってみたら、これが上手くいったんですな。

MS-DOSインストールFD6枚の各イメージをCD-ROM6枚に焼きこんで、1枚目のブートFDイメージのCD-ROMでブートしたら、そのCD-ROMドライブをAドライブと認識し、最後までインストールできちゃいました。インストール後に、MS-DOSをインストールした仮想ディスクからブートするとさすがにCD-ROMドライブをAドライブと認識することはありませんでしたが・・・。

でも、今振り返ると、FDイメージからブートするのが一番楽ですし、USB-FDDからもちゃんとブート出来た(VMWare Player 1.0.9 と 2.5.1 で確認済み)ので、ずいぶん無駄な回り道をしたなあ~と、トホホな気分になります。

この方法については下記サイトで知りました。

とあるちいさなメモ用紙の野望
http://www.geocities.co.jp/SiliconValley-Cupertino/3686/index.html
→◆ ISOイメージが公開されてないDOSツールをCDブートで 参照

そのほか使ったツールや参考にしたサイトは下記の通り。

CD Manipulator跡地
http://www.storeroom.info/cdm/
ISOファイルをCD-ROMに焼きこむソフトです。

CD Manipulatorの使い方とか色々と
http://www2.ocn.ne.jp/~tukiba/cdm.htm

InterCOM 「Super ウルトラISO」 無料体験版
http://www.intercom.co.jp/download/iso/index.html
物理FDからFDイメージを作成したり、ISOファイルの焼きこみが出来ます。機能制限あり。

InterCOM 「Super ウルトラISO」 製品版
http://www.intercom.co.jp/iso/

RawWriteWin
http://uranus.it.swin.edu.au/~jn/linux/rawwrite.htm
FDからFDメージを作成することも、FDイメージをFDに書き込むことも出来ます。シンプルで使いやすいです。

Skygear 1%の向こうへ
FDDがないPCでFD専用ツールを使う
http://skygear.blogspot.com/2007/09/fddpcfd.html

仮想な背中
http://chitchat.at.infoseek.co.jp/vmware/indexj.html#top

私的「DOS起動ディスク」めも(未整理)
http://www10.plala.or.jp/palm84/dosdisk.html

ホント、このころは一体何をして良いのかが良く分からず、情報に翻弄されていました。今こうやってやってきたことを整理しながら「こういうことだったのね」と納得している次第です。


に)FDイメージからブート(成功)

 前述の RawWriteWin や InterCOM 「Super ウルトラISO」 無料体験版 を使って、MS-DOSインストールFDからFDイメージファイルを6つ作成し、その最初の1枚目のファイルからブートしてインストールしました。

 FDイメージを作成するソフトやそのイメージを使うソフトにより、ファイル拡張子が *.ima, *.img, *.vfd, *.flp と異なりますがファイルのフォーマットは同じようです。(違っていたらごめんなさい)

 VMWare Player 2.5.1 では、ゲストOSを動かしながら、VMWare Player の FDD(ゲストOSのFDD) にマウントするFDイメージファイルを次々と入れ替えることが出来るので実に便利です。

 具体的には、DISK1.img ~ DISK6.img というMS-DOS FDイメージを使ってインストールする際、DISK1.img でブートしてインストールを進めると「DISK2と書かれたディスクに入れ替えてください」という指示が表示されます。この時、マウントしていたDISK1.imgを解放(アンマウント)して、次の DISK2.img ファイルを新たに接続(マウント)してインストール作業を継続できます。マウスとショートカットキーだけでディスクの入れ替えが行えるのです。

 これが、VMWare Player 1.0.9の場合、ゲストOSを動かしている最中にこんなことは出来ません。VMWare Player の FDD(ゲストOSのFDD) にマウントするFDイメージファイルは vmxファイルにより指定されますが、これをゲストOS稼動中に変更することは出来ません。マウント・アンマウント・再マウントは出来ますが・・・。

 ただ、裏技として、DISK1.img ~ DISK6.img のMS-DOS FDイメージを用意しておき、マウントするファイル名を、例えば、 FD.img とします。 マウント対象のFDイメージファイルを、マウントする直前にファイル名を FD.img と書き換えてマウントする・・・という方法で、マウントするFDイメージファイル名は"FD.img "のままで、中身だけすり替え(?)て、ゲストOSを動かしている最中でもFDイメージファイルの入れ替えが出来ます・・・が、いちいちエクスプローラーでファイル名をその都度書き換えなければならず、結構面倒なことではあります・・・が、一回入れてしまえばあとは必要の無い作業ですから・・・

・・・なんか、書いている私も頭が混乱しそうです・・・トホホ。上記の方法もどこかのサイトでどなたかが紹介していた方法です。どこのどなたのサイトかは忘れましたが・・・


ほ)USB-FDDブートに再Try(成功)

VMWare Player 2.5.1 と 1.0.9 で出来ました。ただ、2.5.1はサクサク動作したのに対して、1.0.9はとても時間がかかりました。初め、ディスク・リード・エラーでも起こしているのかと勘違いした程です。USB-FDD の扱いについては、 2.0(又は2.5)以上で改善された・・・ということでしょうか・・・良く分かりませんが、まあ、結果よければ全て良しということで深くは追求しないことにしましょう・・・

(続く)

レガシーOS&アプリを無料の仮想マシンで動かす その12(VMWare Player編その11)2009年01月02日 17時27分

MS-DOS6.2/V install process snap shot?
左上:ようこそ 右上:ハードディスクの割り当て
左下:システムインストール途中 右下:インストール後の再起動

(その11からの続き)

(7)ゲストOSインストール MS-DOS6.2/V  その2

へ)(ようやく)仮想マシンへのMS-DOS6.2インストール本番?

ようやく、出来立てホヤホヤの仮想マシン(QEMUで作成したての*.vmdk 「仮想ディスク」ファイル と VMX Builder で作成したての *.vmx ファイル の2つだけ)へのMS-DOSインストールに進めます・・・あ~疲れた・・・

仮想マシンの起動は、

①*.vmx ファイル をダブルクリックする

②VMWare Player を起動して、起動対象仮想マシンの *.vmx ファイルを指定する(というか、聞いてきます)

のどちらかで行います。②の場合、VMWare Player 2.5.1 では、仮想マシンの起動履歴 が表示され、それをクリックすれば起動できる・・・といった便利さがあります。しかし、 1.0.9では単に起動するファイルを、一般的なファイルオープン画面で聞いてくるだけです。まあ、ショートカットを作っておけばいいんですが・・・

これが仮想マシンの「電源投入」に相当し、一通りのプロセス(ハードウェアチェック(仮想ですが)とかが一通り終わると、ブートディスクのMBRを読み、OSの起動に移ります。

今回はMS-DOSのインストールですから、MS-DOSシステムディスクの1枚目が起動ディスクを兼ねており、この1枚目のディスクから起動することでインストールを行います。まあ、指示に従って、

③ハードディスク(仮想ディスク)の領域確保
④ブートFDから再起動
⑤ハードディスク(仮想ディスク)のフォーマット
⑥システムの転送(ディスク5枚を入れ替えつつ)
⑦システムをインストールしたハードディスク(仮想ディスク)から再起動

というプロセスを踏めば完了するはずなんですが・・・(続く)

レガシーOS&アプリを無料の仮想マシンで動かす その13(VMWare Player編その12)2009年01月02日 18時15分

JDISP の ヘルプ画面
上:MS-DOS6.2/V JDISP.SYS の ヘルプ画面

(その12からの続き)

とうとうこのシリーズ(にするつもりは無かったんですがねえ)も13回目を迎えました。13といえば、やはりゴルゴ13。図らずともブービートラップの巻(?)になってしまいました。

(7)ゲストOSインストール MS-DOS6.2/V その3

と)ブービートラップ?(JDISP.SYSの罠)

システムのインストールも終わって、いよいよハードディスクから再起動、

Starting MS-DOS...

HIMEM is testing extended memory ...

のメッセージと共にちゃんとDOS起動するかと思いきや、文字が全部消えて真っ黒の画面になってウンともスンとも言わない・・・ハング(フリーズ)したようだ・・・

ネットで色々調べてみると、どうも config.sys で組み込んでいる JDISP.SYS がワルサーP38(ルパン?)らしい・・・ということが分かった。

ワルサーP38(wikipedia...なんでこんなに詳しいのかな?)
http://ja.wikipedia.org/wiki/%E3%83%AF%E3%83%AB%E3%82%B5%E3%83%BCP38

VMWare の サイトに何かヒントがあるかな・・・と思って探したけど、JDISP に関する記述は無い。

ご参考(にならなかった・・・)

VMware Workstation 3.2 - DOS and Windows 3.x Installation Notes
http://www.vmware.com/support/ws3/doc/ws32_guestos11.html

日本ローカルなのかな、この問題は。ちなみに、インストールしたての Config.sys と Autoexec.bat の内容は下記の通り。

##########MS-DOS 6.2/V Config.sys############
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\BILING.SYS
DEVICE=C:\DOS\HIMEM.SYS
DOS=HIGH
DEVICE=C:\DOS\EMM386.EXE
DEVICE=C:\DOS\JFONT.SYS /P=C:\DOS\
DEVICE=C:\DOS\JDISP.SYS
DEVICE=C:\DOS\JKEYB.SYS /106 C:\DOS\JKEYBRD.SYS
DEVICE=C:\DOS\KKCFUNC.SYS
FILES=30
DEVICE=C:\DOS\ANSI.SYS
DEVICE=C:\DOS\MSIMEK.SYS /A1
DEVICE=C:\DOS\MSIME.SYS /D*C:\DOS\MSIMER.DIC /DC:\DOS\MSIME.DIC /C1 /N /A1

#############################################

##########MS-DOS 6.2/V Autoexec.bat##########

C:\DOS\SMARTDRV.EXE /X
@ECHO OFF
PROMPT $p$g
PATH C:\DOS
SET TEMP=C:\DOS
C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS
C:\DOS\CHEV.COM JP

#############################################

config.sys の "DEVICE=C:\DOS\JDISP.SYS" の後に /HS=LC というスイッチをつければ良い・・・という情報があったので、その通りにしたらちゃんと起動しました。目出度し、目出度し・・・

Best Answer?
DEVICE=C:\DOS\JDISP.SYS /HS=LC

といっても、ちゃんと起動してコマンドプロンプトが現れなければエディタを起動して config.sys を直すことも出来ない・・・

運がいいことに、dos~win3.1 の時代に作った emergency boot FDが役に立ちました。JDISPを組み込まない最低限の英語環境で起動出来、FDとVZ を入れたブータブルFDがまだ残っていたので、それをちょっとVMWare 用に手直しして、そのFDからFDイメージを作ってマウントしてブート。FDのVZエディタでスイッチを付け足して再起動。

まさか、10年以上前に作ったブートFDが今頃役に立つとは・・・備えあれば憂い無し・・・かな。まあ、他にもやりようはありますが・・・。

ちなみに、JDISPのヘルプ(上の画像)にはスイッチの説明があり、表示がおかしいときは、HS=LC か HS=OFF(HS=LCで解決しないとき)を指定せよとのお達しがありました。なるほど・・・(続く)

レガシーOS&アプリを無料の仮想マシンで動かす その14(VMWare Player編その13)2009年01月02日 18時45分

必要なものを組み込んだMS-DOS起動終了画面
上画面:必要なものを組み込んだMS-DOS起動終了画面

(その13からの続き)

ゴルゴ13は依頼人の前には二度と現れない(ハズ)ですが、今回も(VMWare Player編として)13回目を迎えました。まあ、007は二度死んでるし・・・・(関係ないなあ・・・)

007シリーズ(wikipedia)
http://ja.wikipedia.org/wiki/007#007.E3.82.B7.E3.83.AA.E3.83.BC.E3.82.BA.E5.B0.8F.E8.AA.AC.E4.B8.80.E8.A6.A7


(7)ゲストOSインストール MS-DOS6.2/V その4

ち)CD-ROMドライバは何処?

とりあえず(というかようやく・・・)MS-DOS6.2/V をインストールすることは出来ました。でも、このままではCD-ROMは使えません。CD-ROMが使えないと、win3.1 や win95 のインストールも出来ませんし、DOSのソフトも使えません・・・

困ったことに、MS-DOS6.2/V には CD-ROM ドライバ は付属しておりません。まあ、これは基本的にCD-ROMドライブに付属するものなので仕方ないのですが・・・

VMWare Player が提供する(仮想)CD-ROMは一般的なモノのはずなので、ATAPI規格の汎用CD-ROMドライバが使えるハズ・・・ただ、MS-DOS用のCD-ROMドライバ・・・というのは今となってはどこから入手できるやら・・・以下参考情報。

ATAPI(wikipedia)
http://ja.wikipedia.org/wiki/Advanced_Technology_Attachment#ATAPI

DOSでCD-ROMを使う方法
http://euc.jp/periphs/doscdrom.ja.html

FrontPage - VMWare
http://aki.issp.u-tokyo.ac.jp/itoh/PukiWiki/pukiwiki.php?VMWare

起動ディスクでCD-ROMを認識する
http://nobumasa-web.hp.infoseek.co.jp/faq/windows/startdisk/startdisk.html

DOS用のCDROMドライバ
http://j7p.net/backup/howto_doscdrom.html

あれこれ考えてもしょうがないので、手持ちのwin98ノートから oakcdrom.sys を引っぱり出して、MS-DOS6.2/V に無理やり?組み込んだらあっさり使えるようになりました。まあ、win98も基本はDOSですから上手くいったんでしょうねえ。ラッキー!

具体的な方法ですが、持ってきた oakcdrom.sys を適当なところに置いて、config.sys と autoexec.bat に下記を追加すればいいです。pathは状況に応じて適当に追加して下さい。

device=c:\oakcdrom.sys /D:cd001 (config.sysに追加)
c:\dos\mscdex.exe /D:cd001 /L:d (autoexec.bat)

この例では、CD-ROMのドライブレターはD:(mscdex.exe の /L スイッチで指定)となります。 このあたりは久しぶりにいじったので思い出すのに苦労しました。もうすっかり忘れてるなあ・・・

<追記>
これを書いている最中に気が付いたんですが、15年前に購入した、富士通 Deskpower Windows3.1モデル(Windows95無料アップグレード権付)のシステムCD-ROMのSound Blaster 関係のフォルダに CR_ATAPI.SYS が入ってました。これも使えますな。まあ、使えりゃどちらでもいいんですが・・・


り)DOSIDLE は何処?

VMWare Player で MS-DOS6.2/V を起動すると、アイドル状態(コマンドプロンプトによる入力待ち等)であっても実マシンのCPUを高負荷で占有してしまい、稼働率100%を常にキープしてしまうという面白くない状況に陥ってしまいます。

キーボード入力等の割り込み要求(IRQ:Interruput ReQuest、DOS時代はお世話になりましたなあ)が無い限り、ひたすら(たぶん)無限ループをぐるぐる回してお待ち頂いているからそうなるんでしょうな。でも、何にもしない無限ループでCPUを独り占めされても困りますがな・・・

で、例によってネットで調べてみると・・・・

Amaranth-Yet Another Links / もう一つのリンク集→Programs to keep CPU cool / CPUの加熱を抑えるプログラム (English text / 英語)
http://www.alles.or.jp/~sfujita/jpn/link5.htm

CpuIdle, DOSidle, Rain, Waterfall, and KCPUCooler 等、OSアイドル時のCPU発熱を抑える・・・というのがプログラム本来の目的のようです。OSアイドル時に、CPUにHLT命令を出して、割り込み要求があるまでCPUを止めておいて発熱を抑えるというやり方です。

あと、VMWare本家にまさにそのものズバリの回答がありました。

VMware Workstation 3.2 - DOS and Windows 3.x Installation Notes
http://www.vmware.com/support/ws3/doc/ws32_guestos11.html

DOS Installation Notes から・・・

・・・After you install DOS, VMware recommends that you install a CPU idle program within the virtual machine. Most versions of DOS do not idle the CPU when they are idle. Therefore, when you are running DOS in a virtual machine, the virtual machine takes up CPU time on the host even when DOS is idle. VMware Workstation relies on the guest operating system to use the Halt instruction or advanced power management to deschedule the virtual machine when it is idle.

We have tested a program called DOSIDLE.EXE and have found it works successfully with VMware Workstation. It can be downloaded from

http://www.vmware.com/software/dosidle210.zip

Follow the instructions provided with the DOSIDLE.EXE program. But be aware of the -cpu option, which causes the idle program to access the CPU at a low level in order to optimize performance. There is a good chance that this will not work with some CPUs under VMware Workstation. VMware suggests that you not use it. ・・・

仮想マシン上のDOSで、 DOSIDLE.EXE というプログラムを実行しなさい・・・と、プログラムまで提供してくれていた・・・のですが、2009年1月2日現在、上記のリンクは切れておりダウンロードできません。トホホ。

他に探してみると、下記サイトがありました。

DOSidle (v2.10) Free Download
http://www.softlookup.com/display.asp?id=9198

少々怪しげな雰囲気なんですが・・・ココも結局ダウンロード出来ませんでした。オヨヨ。

DOS用ではありませんが、前述のCpuIdle(win95-Me,NT-XP用)

The Swiss Army Knife Of Overclocking
http://www.cpuidle.de/

や、KCPUCooler

kirys.it
http://kirys.it/

等、色々需要と供給?があるようです。

また、直接は関係ありませんが、

Windows 98 セットアップのスキャンディスク部分で時間がかかる
http://support.microsoft.com/kb/185659/ja

という、DOSIDLEの悪戯?によるトラブル?という事例も過去あったようですが・・・

ま、それはさておき、肝心のDOSIDLEは何処へ・・・ ハートのAを探すキャンディーズの心境・・・といえば察していただけるだろうか?

キャンディーズ(wikipedia)
http://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%87%E3%82%A3%E3%83%BC%E3%82%BA

「微笑がえし」は古今東西の名曲であろう・・・

微笑がえし(wikipedia)
http://ja.wikipedia.org/wiki/%E5%BE%AE%E7%AC%91%E3%81%8C%E3%81%88%E3%81%97

それにしても、ゴルゴ13の力量をもってしてもこれは簡単には見つからぬ・・・

ゴルゴサーチ
http://golgo.jword.jp/

世界中を探しまくった(といっても単にググッただけなんですけど・・・)挙句、何とか入手しました。ホント、以外な所に置いてありました・・・ちょとここで具体的なサイト名を書くのもどうかな~という所です。怪しい場所ではないのですが、実態を知って仰け反ってしまいました。ウワオ!

・・・某B国某B大学FTPサーバーにあった・・・とだけ言っておきましょう。研究用の道具としておいてあるのか知らん・・・いつ無くなるか分かりませんが。興味のある方はゴルゴサーチで調べてください。でも気をつけてくださいね。依頼人の裏切りは許さない御方ですので・・・

しかし、たかが一昔前のMS-DOSとDOSアプリを動かすだけなのに、ここまで大江戸捜査網のような苦闘を強いられるとは・・・「過程を楽しむことを趣味という」と、故長岡鉄男氏は仰ったが、まさにそうだよなあ・・・という気がする。

大江戸捜査網(wikipedia)
http://ja.wikipedia.org/wiki/%E5%A4%A7%E6%B1%9F%E6%88%B8%E6%8D%9C%E6%9F%BB%E7%B6%B2

ちなみに、あのタイトルミュージックはカッコいい。

大江戸捜査網 サウンドトラック(amazon.co.jp)
http://www.amazon.co.jp/%E5%A4%A7%E6%B1%9F%E6%88%B8%E6%8D%9C%E6%9F%BB%E7%B6%B2-TV%E3%82%B5%E3%83%B3%E3%83%88%E3%83%A9/dp/B00005V2CB/ref=sr_1_1?ie=UTF8&s=music&qid=1230934451&sr=8-1

でも、実はあのテレビで聴いたホルンのかっこいいグリッサンドはこっちで聴けるのだ。

ちょんまげ天国~TV時代劇音楽集~(amazon.co.jp)
http://www.amazon.co.jp/%E3%81%A1%E3%82%87%E3%82%93%E3%81%BE%E3%81%92%E5%A4%A9%E5%9B%BD~TV%E6%99%82%E4%BB%A3%E5%8A%87%E9%9F%B3%E6%A5%BD%E9%9B%86~-%E3%83%86%E3%83%AC%E3%83%93%E4%B8%BB%E9%A1%8C%E6%AD%8C/dp/B00006IIE8/ref=sr_1_12?ie=UTF8&s=music&qid=1230934451&sr=8-12

嗚呼、死して屍拾う者なし・・・

閑話休題

ちなみに、DOSIDLE は Autoexec.bat に書いておくか、コマンドプロンプトから実行してもいい。運良く入手できたらドキュメントを読んでください。(たぶん)いまどきの小学生より英語力の無い私でも読めるので心配ご無用。


ぬ)US用環境と日本用環境を用意しましょ

ようやくココまで来ました。ただ、このままではコンベショナルメモリ(これも懐かしいなあ・・・)が少ないので、ちょっと小細工を・・・。

コンベンショナル メモリ(wikipedia - MS-DOS - メモリ管理)
http://ja.wikipedia.org/wiki/MS-DOS#.E3.83.A1.E3.83.A2.E3.83.AA.E7.AE.A1.E7.90.86

また、海外のDOS用ソフトには日本語部分(DOS/V の "/V")はいらないので、それを一切省いた環境も作りましょ・・・なんかクッキングみたいだな・・・そういえば、「クッキングパパ」は単行本100巻までいってしまった。連載開始より愛読(中断もありましたが)していた一読者としても感慨深いものがありますワ。

クッキングパパ(wikipedia)
http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0%E3%83%91%E3%83%91

先に日本語環境を作って、それをごっそりコピーしたものに手を加えて海外DOSソフト用の動作環境をつくってみます。こういうことが手軽に出来るのが仮想マシンのいいところですかね。

CD-ROM設定とDOSIDLEも含めて設定した Config.sys と Autoexec.bat を参考に示します。

MS-DOS 6.2 がUS環境用、MS-DOS 6.2/V が日本環境用です。さらにこの仮想DOSマシンのコピーから、win3.1,wfw3.11,windows95を作成していくことになります。

rem は Remark(コメント行) でこの行は無視されます。後で簡単に復活できるように残してあります。(蛇足ですが念のため)

config.sys の devicehigh は デバイスドライバをハイメモリエリアに読み込みます。autoexec.bat の LH(LoadHigh)も同様です。ハイメモリエリアがいっぱいの場合はコンベンショナルエリアにロードする(はず)。このあたりはDOSの参考書を読んで思い出して下さい。

------------MS-DOS 6.2/V Config.sys------------
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE noems
DOS=HIGH,umb

rem DEVICE=C:\DOS\SETVER.EXE
DEVICEhigh=C:\DOS\BILING.SYS

DEVICEhigh=C:\DOS\JFONT.SYS /P=C:\DOS\
DEVICEhigh=C:\DOS\JDISP.SYS /HS=LC
DEVICEhigh=C:\DOS\JKEYB.SYS /106 C:\DOS\JKEYBRD.SYS
rem DEVICE=C:\DOS\KKCFUNC.SYS

FILES=30

rem DEVICE=C:\DOS\ANSI.SYS
rem DEVICE=C:\DOS\MSIMEK.SYS /A1
rem DEVICE=C:\DOS\MSIME.SYS /D*C:\DOS\MSIMER.DIC /DC:\DOS\MSIME.DIC /C1 /N /A1

device=c:\oakcdrom.sys /d:cd001
---------------------------------------------

----------MS-DOS 6.2/V Autoexec.bat----------
@echo off

rem C:\DOS\SMARTDRV.EXE /X

PROMPT $p$g
PATH C:\DOS;
SET TEMP=C:\DOS; c:\tools

lh C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS
lh C:\DOS\CHEV.COM JP

lh c:\dos\mscdex.exe /d:cd001 /l:d
c:\dosidle\dosidle.exe
---------------------------------------------


----------MS-DOS 6.2 Config.sys----------
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE noems
DOS=HIGH,umb

rem DEVICE=C:\DOS\SETVER.EXE
rem DEVICE=C:\DOS\BILING.SYS

rem DEVICEhigh=C:\DOS\JFONT.SYS /P=C:\DOS\
rem DEVICEhigh=C:\DOS\JDISP.SYS /HS=LC
DEVICEhigh=C:\DOS\JKEYB.SYS /106 C:\DOS\JKEYBRD.SYS
rem DEVICE=C:\DOS\KKCFUNC.SYS

FILES=30

rem DEVICE=C:\DOS\ANSI.SYS
rem DEVICE=C:\DOS\MSIMEK.SYS /A1
rem DEVICE=C:\DOS\MSIME.SYS /D*C:\DOS\MSIMER.DIC /DC:\DOS\MSIME.DIC /C1 /N /A1

device=c:\oakcdrom.sys /d:cd001
---------------------------------------------

----------MS-DOS 6.2 Autoexec.bat----------
@echo off

rem C:\DOS\SMARTDRV.EXE /X

PROMPT $p$g
PATH C:\DOS; c:\tools
SET TEMP=C:\DOS

rem C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS
rem C:\DOS\CHEV.COM JP

lh c:\dos\mscdex.exe /d:cd001 /l:d
c:\dosidle\dosidle.exe
---------------------------------------------

これでMS-DOS編は終わりです。あ~疲れた。気分転換に犬を散歩に連れて行きますか・・・・