
今回はDOSBoxを用いてARMマシンにWindows95をインストールしてみました。
DOSBoxは比較的高速なx86エミュレータなのでARMマシンでも動作します。
ネット上で沢山情報があるのですが、
非常に大変なのでインストール方法をメモします。
◯DOSBOX上でのWindows95
DOSBOXはオープンソースのMSDOS、x86エミュレータで
沢山の環境でも動く汎用性と高速性が長所です。
もう一つの長所はWindows3.1とWindows9xに対応しています。
そのため、軽量なWindowsエミュとして使っている人も多いです。
Androidでも標準でWindows9xが動くエミュとして有名です。
是非使ってみましょう。
まずはこちらのサイトを参考に。
非常に細かく解説してあります。
DOSBoxでWindows 95を作動させる
情報が細かすぎて逆にキツいかも。
大変感謝です。
◯DOSBOX上でWindows95インストール
結構大変です。
まず環境をセットアップします。
・Bochs本体
HDDイメージ作成用です
・DOSBOX本体
エミュ本体
・Windows95 CDROM
各自入手で。DOSBoxではHDDとCDROMを同時マウント出来ないので、
中のファイルを全てHDDイメージにコピーします。
・Windows98SE FDDイメージ
各自入手で。ネットでググれば拾えるかも。
FreeDOSのFDDイメージはFDISKとFormatが無いので注意。
・WindowsマシンとDiskExplorer
HDDイメージにWindows95インストールファイルをコピーします。
実はDOSBoxはHDDイメージとCDROMイメージを同時にマウント出来ません。
Wineでもいけるはずだと思います。
結構準備が必要です。各自用意して下さい。
まず本体をインストール。
sudo apt-get install dosbox bochs
次にHDDイメージを作成します。端末から、
bximage
質問に答えていきます
503MBに抑える必要があるそうです。容量注意。
hd
flat
503
hd0.img
イメージを作成しましたらDOSBoxを起動します。
端末から
dosbox
とかで。
DOSBOXを起動したらZ:と出るのでコマンド
mount x: /home/kapper1224/
x:
みたいな感じでイメージファイルの置いてある
Ubuntuのホームディレクトリなどを指定します。
これ毎回やるの面倒なので、
leafpad .dosbox/dosbox-0.74.conf
とエディタを開いて[autoexec]の後ろの最後の行に
mount x: /home/kapper1224/
x:
とコマンドと同じように追加しておきます。
また「machine=svga_s3」を「machine=vgaonly」に変更、
「memsize=16」を「memosize=31」に変更。
「cputype=auto」を「cputype=pentium_slow」に変更。
で保存して再びDOSBox起動。
HDDイメージをマウントしてフォーマットします。
imgmount 2 x:\hd0.img -size 512,63,16,1021 -fs none
boot win98se.img
みたいな形でWindows98のFDイメージを起動します。
起動するイメージファイル名は各自で変更して下さい。
ブートして起動したらCDROMなしを指定。しないとフリーズして起動しません。
起動したらFDISK.EXE
FDISK.EXE
1
1
Y
Y
と選択して、FDISKします。そのままエンターキーですね。
一度DOSBOXを落として再び再起動。
imgmount 2 x:\hd0.img -size 512,63,16,1021 -fs none
boot win98se.img
まあこれは同じです。
起動したらHDDイメージをフォーマットします。
format c: /s
フォーマットしたら一旦DOSBoxを落とします。
で、Windowsにhd0.imgファイルを持っていってDiskExplorerを開きます。
DiskExplorerはVectorからダウンロード出来ます。
Windows95 CDROMの中のファイルをすべてHDDイメージファイルにコピーします。
もしWindows95 CDROMのデータがイメージファイルなら端末から、
mkdir win95disk
mkdir win95img
mount -o loop win95.iso /home/kapper1224/win95disk
cd /home/kapper1224/win95disk
cp * /home/kapper1224/win95img
みたいにループバックディスクでisoファイルをマウントして読める様にしてから
どこかにデータを全部コピーしてUSBなどを経由してWindowsマシンにコピーします。
DiskExplorerでhd0.imgを開いて、「(Manual HD)」で開きます。
次の画面で右下の「98形式」を「AT形式」に切り替えると
基本領域(FAT)が出て選択出来るのでOKを押します。
するとイメージファイルの内部が開けますので、
Win95フォルダを作成してWindows95のCDROMファイルをコピペします。
で、コピペ後にこのhd0.imgファイルを元のLinux端末に戻します。
これから本番のWindows95インストールです。
DOSBOXで同様に起動しましたら、再び同じように
cycles=36000
imgmount 2 hd0.img -size 512,63,16,1021 -fs none
boot win98se.img
でブートしたら同じようにCDROMなしで起動します。
インストール作業のスピードUPの為、cyclesを変えても良いです。
でWindows95からSETUP、
cd win95
cd setup
setup.EXE
みたいな形でsetup.exeを実行します。
後は適当に選択肢に答えていくだけです。
無事Windows95がインストール出来たはず。
DOSBOXではcycles=コマンドで速度を変えられます。
再起動してWindows95を起動する際には次の方法でマウント、起動。
imgmount c hd0.img -size 512,63,16,1021 -fs fat
boot -l c
画面が乱れたら、dosbox-0.74.confの設定を修正しましょう。
ただARMのDOSBOXだと何故かインストール途中で再起動した際にKernelエラーが出ます。
諦めてWindowsマシンのDOSBoxでhd0.imgを起動してインストールを完了まで実行します。
一旦インストールが完了したならARM Linuxマシンにhd0.imgファイルを戻して
DOSBOXで再起動。
無事Windows95が起動したかと。
やれやれです。
○Cycles=数について
DOSBoxの処理速度はCycles=数によって決まります。
CPUの処理速度が追いつかなくなるとフレーム落ちします。
最適なエミュレーションCPU速度とフレーム数を自分で微調整できます。
本家DOSBoxのWikiによりますと、
Performance
Host CPU Emulated CPU
Pentium II 350 MHz 386SX 25 MHz
Pentium III 1.0 GHz 486 66 MHz
Pentium 4 3.0 GHz Pentium 133 MHz
Core 2 Duo 3.3 GHz Pentium II 300 MHz
Core i5 4xxx 4.0 GHz Pentium III 1 GHz
Emulated CPU Cycles
8088 4.77 MHz 315
286 12.5 MHz 2750
386 33 MHz 7800
486 66 MHz 26800
Pentium 100 77000
Pentium II 300 200000
という設定速度らしいです。
うちのARM Chromebookの場合、TegraK-1で
大体Cycles=100000でフレーム数落ちが出てきます。
ということはPentium II 200MHz相当でしょうか?
フレーム数落ちない速度はもっと遅そうです。
◯まとめ
結構大変でしたがDOSBoxでWindows95をインストール出来ました。
参考サイト様、誠にありがとうございました。
あんまりやりたくないなあ、と思いつつも。
AndroidでWindows9xをエミュる場合、PCでインストール作業した方が良いです。
結構作業が面倒ですが、元々そんなもの。
イメージファイルは一回作れば色々な環境でも使えます。
【Chromebookの最新記事】
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chro..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..
- ARM Tegra K-1 Chrome..