在 DosBox 上安装 windows 3.2
安装 DOS 6.22
下载 DOS 启动镜像
下载并解压 DOS 安装的软盘镜像
你可以从 这里 下载安装镜像
wget http://w1.downbk.com:806/1302/dos622_bkill.com.zip
解压这个 zip 文件
unzip dos622_bkill.com.zip
这会在本地路径下生成一个 dos622
的路径,软件镜像就在这个目录下
cd dos622 ls
比克尔.url dos1.img dos2.img dos3.img
创建一个磁盘镜像作为 C盘
我们将会将这个磁盘镜像挂载为 C盘,并在上面安装操作系统
创建镜像文件
这个磁盘文件不需要太大,256M 已经算是很大了:
dd if=/dev/zero of=~/Dosbox/Windows3.2.img bs=1M count=256
打开 ~/.dosbox/dosbox-0.74.conf
在 [autoexec]
节下添加如下内容
mount Y: ~/Downloads/dos622 #将dos安装目录挂载成Y盘 Y: #将当前目录切换到Y盘 imgmount 2 "~/Dosbox/Windows3.2.img" -size 512,63,16,520 -t hdd -fs none boot dos1.img dos2.img dos3.img -l a
其中有几点需要说明一下:
~/.dosbox/dosbox-0.74.conf
是 dosbox 7.4 的默认配置文件,其他版本的 dosbox 配置文件可能是~/.dosbox/DOSBox.conf
- DOSBOX配置文件中的
autoexec
节下的内容类似于 dos 系统中的C:\AUTOEXEC.BAT
, 即该部分内容会在系统启动时自动运行 mount 命令将一个主机目录仿真成 DOSBox 中的一个虚拟磁盘。
mount的语法为:
MOUNT [Drive-Letter] [Local-Directory]
需要注意的是,主机目录仿真为虚拟磁盘后,在DOSBOX外对目录进行的操作并不会实时刷新DOSBOX内的虚拟磁盘!
此外,使用 mount 命令也可以卸载虚拟磁盘,语法为
MOUNT -u [Drive-Letter]
IMGMOUNT 命令将镜像文件挂载为DOSBox中的虚拟磁盘
IMGMOUNT 命令的语法为:
IMGMOUNT DRIVE [imagefile] -t [image_type] -fs [image_format] -size [sectorsbytesize, sectorsperhead, heads, cylinders -u DRIVE]
其中配置:
DRIVE为2
意思是该挂载的磁盘为master盘,与后面的fs none
一起用-t hdd
表示挂载的镜像文件为硬盘,这种情况下必须指明合适的CHS参数.-size 512,63,16,520
指定磁盘的CHS参数,其中前三个参数一般固定为512,63,16
,而第四个参数的计算方法是用硬盘容量除与前三个参数的积,即256*1024*1024/512/63/16=520
-fs none
表示该磁盘需要被格式化或者会被BOOT命令引导,这种情况下DRIVE
必须为数字2或者3,其中2表示master,3表示slaverboot命令指定从哪个镜像文件中引导系统
boot命令的语法为
BOOT [diskimg1.img diskimg2.img .. diskimgN.img] [-l driveletter]
其中
diskimgN.img
指定了从哪个镜像文件中开始引导,它可以一次性接受多个镜像文件,表示引导后挂载多个镜像。 即此时diskimg1.img
挂载成了A盘,diskimg2.img
挂载成了B盘...你可以通过
Ctrl-F4
来切换这些镜像,这时diskimg2.img
挂载成了A盘,diskimg3.img
挂载成了B盘...-l driveletter
则指明了从哪个盘进行引导
安装 dos 6.22
启动 dosbox,开始安装 dos 6.22
dosbox
安装过程中可能会提示需要重启一下,直接重新运行一次 dosbox
即可
若安装出现换盘的情况,则按下 Ctrl-F4
进行换盘
更改配置,从硬盘镜像引导系统
更改 DOSBOX 的配置文件,将 [autoexec]
中的配置修改为
imgmount C "~/Dosbox/Windows3.2.img" -size 512,63,16,520 -t hdd -fs fat boot -l c
安装 Windows 3.2
下载 Windows 3.2 安装文件
我们可以从 这里 下载Windows3.2的安装文件:
wget "http://sf.jb51.net:81/201312/tools/windows3.2(jb51.net).rar" -O ~/Downloads/windows3.2/windows3.2.rar
解压这个rar文件
cd ~/Downloads/windows3.2 rar x -c- -idq windows3.2.rar
这会产生多个
DISKN
的目录ls
服务器软件.url 去脚本之家看看.url DISK1 DISK2 DISK3 DISK4 DISK5 DISK6 DISK7 DISK8 DISK9 DISKA DISKB DISKC DISKD DISKE windows3.2.rar
挂载 DOSBOX 的硬盘镜像文件,将 windows 安装文件拷贝进去
创建一个 loop 设备用来表示 DOSBOX 的硬盘镜像文件
sudo losetup -Pf --show /home/lujun9972/Dosbox/Windows3.2.img
/dev/loop1
其中
-P
表示内核在 loop 设备生成后扫描其中的分区表,-f
参数表示自动寻找第一个未使用的loop设备号挂载 loop 设备
sudo mount -t vfat -o uid=1000 /dev/loop1p1 /mnt
为了方便,我们可以将所有的
DISKN
中的内容放到同一个目录中mkdir -p /mnt/wininst for n in DISK*;do cp $n/* /mnt/wininst done
这就将windows安装目录拷入DOSBOX的硬盘镜像文件中了
卸载DOS的硬盘镜像文件
sudo umount /mnt sudo losetup -d /dev/loop1
安装 Windows 3.2
启动 dosbox
dosbox
运行 windows 3.2 的安装文件
在 dos 中运行
cd wininst setup
需要说明的是,我在安装时,安装到一般 DOSBOX 会报错 DRC64:Unhandled memory reference,然后退出。 需要在配置文件中将
core=auto
改成core=normal
设置启动 DOSBOX 自动启动 windows
只需要在 c:\autoexec.bat
最后添加 win
就行了
安装显卡驱动
挂载 DOSBOX 硬盘镜像文件
sudo losetup -Pf --show /home/lujun9972/Dosbox/Windows3.2.img
/dev/loop0
sudo mount -t vfat -o uid=1000 /dev/loop0p1 /mnt
下载 S3 驱动
curl http://www.sierrahelp.com/Files/3x_Files/S3DRIVERS.ZIP -o /mnt/S3DRIVERS.ZIP
解压 S3 驱动
cd /mnt unzip S3DRIVERS.ZIP -d S3DRIVERS
Archive: S3DRIVERS.ZIP inflating: S3DRIVERS/8514FIX.FO_ inflating: S3DRIVERS/8514OEM.FO_ inflating: S3DRIVERS/8514SYS.FO_ inflating: S3DRIVERS/CGA40850.FON inflating: S3DRIVERS/CGA40WOA.FON inflating: S3DRIVERS/CGA80850.FON inflating: S3DRIVERS/CGA80WOA.FON inflating: S3DRIVERS/COURE.FON inflating: S3DRIVERS/COURF.FON inflating: S3DRIVERS/EGA40850.FON inflating: S3DRIVERS/EGA40WOA.FON inflating: S3DRIVERS/EGA80850.FON inflating: S3DRIVERS/EGA80WOA.FON inflating: S3DRIVERS/EGAMONO.LGO inflating: S3DRIVERS/EGAMONO.RLE inflating: S3DRIVERS/HELVE.FON inflating: S3DRIVERS/HELVF.FON inflating: S3DRIVERS/MODERN.FON inflating: S3DRIVERS/OEMSETUP.INF inflating: S3DRIVERS/OEMSETUP.SAV inflating: S3DRIVERS/RESTORE.TXT inflating: S3DRIVERS/ROMAN.FON inflating: S3DRIVERS/S3911GRB.3GR inflating: S3DRIVERS/S3VGA.2GR inflating: S3DRIVERS/S3VGA.3GR inflating: S3DRIVERS/S3VSND.DRV inflating: S3DRIVERS/S3VSND24.DRV inflating: S3DRIVERS/S3VSND4.DRV inflating: S3DRIVERS/SCRIPT.FON inflating: S3DRIVERS/SERIFE.FON inflating: S3DRIVERS/SERIFF.FON inflating: S3DRIVERS/SMALLE.FON inflating: S3DRIVERS/SMALLF.FON inflating: S3DRIVERS/SSERIFE.FON inflating: S3DRIVERS/SSERIFF.FON inflating: S3DRIVERS/SYMBOLE.FON inflating: S3DRIVERS/SYMBOLF.FON inflating: S3DRIVERS/TMSRE.FON inflating: S3DRIVERS/TMSRF.FON inflating: S3DRIVERS/VDDS3.386 inflating: S3DRIVERS/VDDS3VSN.386 extracting: S3DRIVERS/VERSION inflating: S3DRIVERS/VGACOLOR.2GR inflating: S3DRIVERS/VGAFIX.FON inflating: S3DRIVERS/VGALOGO.LGO inflating: S3DRIVERS/VGALOGO.RLE inflating: S3DRIVERS/VGAOEM.FON inflating: S3DRIVERS/VGASYS.FON
修改 DOSBOX 配置,将
[dosbox]
节下的machine
值改成svga_s3
machine=svga_s3
启动
dosbox
,安装 S3 驱动dosbox cd c:\widows setup
设置声音
DOSBOX 模拟了一个 Sound Blaster 接口,但是在 Windows 上需要经过设置才能通过它来发出声音。
在Windows中选择 主群组 中的 控制面板 -> 驱动程序 -> 新增 -> Creative Labs Sound Blaster 1.0 -> 输入 windows 安装文件的路径 ->选择 sbbase 和 irq
其中 sbbase
和 irq
的值,可以在 DOSBOX 配置参数中的 [sblaster]
节中查到
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论