Windows 3.1の長期保存に適したエミュレータ/仮想化ソフト(VMware, Bochs, QEMU, Virtual PC等)を見極めるために多くのエミュレータ/仮想化ソフトを試してみました(「エミュレータ環境でのWindows 3.1」をご参考下さい)。
Windows 3.1だけの長期保存という観点で見ればQEMU用Windows 3.1環境用仮想ディスクを構築するのがポータビリティも高くて最も手軽な方法だと思います。
しかしそのWindows 3.1にOracleクライアントを導入してOracleサーバとペアで長期保存する場合でもQEMUが最適かどうかを検証する必要があります。
QEMUではユーザモードネットワークとTAP型ネットワークが主流でユーザモードネットワークが最も手軽なネットワーク利用方法です。
ユーザモードネットワークでTCP/IPプロトコルを使用してOracleクライアント/サーバ環境を構築するのは簡単なのですが古いものを長期保存するという観点から見るとTCP/IPプロトコルは面白みに欠けます。
1994年8月にリリースされたOracle7(Oracle Workgroup Server 7.0 for Windows NT)ではNETBEUIベースのNamed Pipeを使用してOracleクライアントとOracleサーバの通信ができます。
そこでOracleクライアントとなるWindows 3.1にはOracle7 Workgroup Serverのクライアントソフトを導入します。
またそのOracleサーバとしてはWindows NT Server 4.0を使用します(Windows NT Server 3.51はHAL.DLLの問題でVirtual PC 2007で起動ができません)。
尚、Oracle8のクライアントはWindows95/98/NTに限定されますので今回のWindows 3.1にはOracle7クライアントを導入します。
(Oracle8のクライアント情報は1999年11月発行のOracle8 Client for Windows NT and Windows 95/98 スタート・ガイド(PDFファイル)をご参照下さい)
今回は以下のQEMUゲストの構築検証手順を紹介致します。
[DNR] drivername=DNR$ bindings=TCPIP_XIF nameserver0=zz zz zz zz ※ここでのDNSサーバアドレス(zz zz zz zz)はQEMUでのユーザモードネットワークの場合でもホストOSが使用しているDNSサーバアドレスをそのまま指定します。 |
[NE2000_NIF] ; protocol.ini section for the Novell NE2000 Card IOBASE = 0x300 INTERRUPT = 9 DRIVERNAME = MS2000$ |
4. Microsoft CD-ROM Extention(MSCDEX.EXE) をご利用の際の注意点 ---------------------------------------------------------------- Microsoft CD-ROM Extention(MSCDEX.EXE) をご利用の場合、LAN Manag er のネットワークサービス(NET START WORKSTATION)より先に起動しな いようにしてください。 MSCDEX.EXE が先に起動された場合、ネットワークサービスが起動でき ません。AUTOEXEC.BAT にて、次に記す様にネットーワークサービスを 起動した後、MSCDEX.EXE を起動してください。 Ex.) .... NET START WORKSTATION LOAD TCPIP MSCDEX .... |
qemu-img convert -f vpc -O vmdk VPCWNTS40DOM-flat.vhd QEMUWNTS40DOM-flat.vmdk |
qemu-img convert -f vpc -O vmdk VPCWin31JNETBEUI2-flat.vhd QEMUWin31JNETBEUI2-flat.vmdk |
qemu-system-i386 -machine pc -machine usb=on -cpu 486 -m 256 -k ja -hda QEMUWNTS40DOM-flat.vmdk \ -vga cirrus -net nic,model=pcnet,macaddr=52:54:00:12:34:56 -net user -net socket,listen=localhost:1234 \ -localtime -cdrom winnts40.iso -boot order=c |
qemu: Supported NIC models: ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio |
qemu-system-i386 -machine isapc -machine usb=on -cpu 486 -m 128 -k ja -hda QEMUWin31JNETBEUI2-flat.vmdk \ -vga std -net nic,model=ne2k_isa,macaddr=52:54:00:12:34:57 -net user -net socket,connect=localhost:1234 \ -localtime |
FILES=20 BUFFERS=20 device=C:\himem.sys /TESTMEM:OFF device=C:\emm386.exe ram DOS=HIGH,UMB devicehigh=C:\biling.sys devicehigh=C:\jfont.sys /p=C:\ devicehigh=C:\jdisp.sys /HS=LC devicehigh=C:\jkeyb.sys /106 C:\jkeybrd.sys devicehigh=C:\kkcfunc.sys rem device=C:\ansi.sys rem for qemu devicehigh=C:\xxxx.sys /D:IDECD001 LASTDRIVE=Z STACKS=9,256 SHELL=C:\DOS\COMMAND.COM C:\DOS /P /E:512 DEVICE=C:\LANMAN.DOS\DRIVERS\PROTMAN\PROTMAN.DOS /i:C:\LANMAN.DOS DEVICE=C:\LANMAN.DOS\DRIVERS\ETHERNET\NE2000\NE2000.DOS rem for qemu DEVICE=C:\LANMAN.DOS\DRIVERS\PROTOCOL\tcpip\tcpdrv.dos /i:C:\LANMAN.DOS rem for qemu DEVICE=C:\LANMAN.DOS\DRIVERS\PROTOCOL\tcpip\nemm.dos |
@ECHO OFF SET COMSPEC=C:\DOS\COMMAND.COM PROMPT $P$G SET TEMP=C:\DOS LH C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS C:\DOS\CHEV.COM JP SET TZ=EST5EDT @REM ==== LANMAN 2.1 === DO NOT MODIFY BETWEEN THESE LINES === LANMAN 2.1 ==== SET PATH=C:\LANMAN.DOS\NETPROG;%PATH% rem for qemu C:\LANMAN.DOS\DRIVERS\PROTOCOL\tcpip\umb.com NET START WORKSTATION rem for qemu LOAD TCPIP LOAD NETBEUI @REM ==== LANMAN 2.1 === DO NOT MODIFY BETWEEN THESE LINES === LANMAN 2.1 ==== rem for qemu DNR.EXE rem for qemu SOCKETS.EXE rem for qemu C:\LANMAN.DOS\DRIVERS\PROTOCOL\tcpip\nmtsr.exe PATH C:\LANMAN.DOS\NETPROG;C:\ORAWIN.WIN\BIN;C:\WINDOWS;C:\DOS;C:\;%PATH% rem for qemu C:\MSCDEX.EXE /D:IDECD001 /M:8 |
[PROTMAN] |