您当前的位置:首页 > 计算机 > 系统应用 > Windows

在 DosBox 上安装 windows 3.2

时间:12-14来源:作者:点击数:
城东书院 www.cdsy.xyz

安装 DOS 6.22

下载 DOS 启动镜像

下载并解压 DOS 安装的软盘镜像

你可以从 这里 下载安装镜像

wget https://bbs.cdsy.xyz/forum.php?mod=attachment&aid=MTEyN3wxZGQ2NzQzYnwxNzU0Mjk3Mzg5fDJ8

解压这个 zip 文件

unzip dos622.zip

这会在本地路径下生成一个 dos622 的路径,软件镜像就在这个目录下

cd dos622
ls
144UPG1.img
144UPG2.img
144UPG3.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

其中有几点需要说明一下:

  1. ~/.dosbox/dosbox-0.74.conf 是 dosbox 7.4 的默认配置文件,其他版本的 dosbox 配置文件可能是 ~/.dosbox/DOSBox.conf
  2. DOSBOX配置文件中的 autoexec 节下的内容类似于 dos 系统中的 C:\AUTOEXEC.BAT, 即该部分内容会在系统启动时自动运行
  3. mount 命令将一个主机目录仿真成 DOSBox 中的一个虚拟磁盘。
    mount的语法为:
    MOUNT [Drive-Letter] [Local-Directory]
    
    需要注意的是,主机目录仿真为虚拟磁盘后,在DOSBOX外对目录进行的操作并不会实时刷新DOSBOX内的虚拟磁盘!
    此外,使用 mount 命令也可以卸载虚拟磁盘,语法为
    MOUNT -u [Drive-Letter]
    
  4. 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表示slaver
  5. boot命令指定从哪个镜像文件中引导系统
    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_1534506974.png

安装过程中可能会提示需要重启一下,直接重新运行一次 dosbox 即可

dosbox_1534507049.png

若安装出现换盘的情况,则按下 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 安装文件

  1. 我们可以从 这里 下载Windows3.2中文版的安装文件:
    wget "https://bbs.cdsy.xyz/forum.php?mod=attachment&aid=MTEyOHwyYmZmN2ZjNHwxNzU0Mjk4MzMwfDJ8" -O ~/Downloads/windows3.2/windows3.2.rar
    
  2. 解压这个rar文件
    cd ~/Downloads/windows3.2
    rar x -c- -idq windows3.2.rar
    
    这会产生多个 DISKN 的目录
    ls
    
    DISK1
    DISK2
    DISK3
    DISK4
    DISK5
    DISK6
    DISK7
    DISK8
    DISK9
    DISKA
    DISKB
    

挂载 DOSBOX 的硬盘镜像文件,将 windows 安装文件拷贝进去

  1. 创建一个 loop 设备用来表示 DOSBOX 的硬盘镜像文件
    sudo losetup -Pf --show /home/lujun9972/Dosbox/Windows3.2.img
    
    /dev/loop1
    
    其中 -P 表示内核在 loop 设备生成后扫描其中的分区表, -f 参数表示自动寻找第一个未使用的loop设备号
  2. 挂载 loop 设备
    sudo mount -t vfat -o uid=1000 /dev/loop1p1 /mnt
    
  3. 为了方便,我们可以将所有的 DISKN 中的内容放到同一个目录中
    mkdir -p /mnt/wininst
    for n in DISK*;do
        cp $n/* /mnt/wininst
    done
    
    这就将windows安装目录拷入DOSBOX的硬盘镜像文件中了
  4. 卸载DOS的硬盘镜像文件
    sudo umount /mnt
    sudo losetup -d /dev/loop1
    

安装 Windows 3.2

  1. 启动 dosbox
    dosbox
    
    dosbox_1534518203.png
  2. 运行 windows 3.2 的安装文件
    在 dos 中运行
    cd wininst
    setup
    
    dosbox_1534519854.png
    需要说明的是,我在安装时,安装到一般 DOSBOX 会报错 DRC64:Unhandled memory reference,然后退出。 需要在配置文件中将 core=auto 改成 core=normal
    dosbox_1534520641.png

设置启动 DOSBOX 自动启动 windows

只需要在 c:\autoexec.bat 最后添加 win 就行了

dosbox_1534521503.png

安装显卡驱动

  1. 挂载 DOSBOX 硬盘镜像文件
    sudo losetup -Pf --show /home/lujun9972/Dosbox/Windows3.2.img
    
    /dev/loop0
    
    sudo mount -t vfat -o uid=1000 /dev/loop0p1 /mnt
    
  2. 下载 S3 驱动
    curl http://www.sierrahelp.com/Files/3x_Files/S3DRIVERS.ZIP -o /mnt/S3DRIVERS.ZIP
    
  3. 解压 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    
    
  4. 修改 DOSBOX 配置,将 [dosbox] 节下的 machine 值改成 svga_s3
    machine=svga_s3
    
  5. 启动 dosbox,安装 S3 驱动
    dosbox
    cd c:\widows
    setup
    
    dosbox_1534523181.png
    dosbox_1534523197.png
    dosbox_1534523485.png

设置声音

DOSBOX 模拟了一个 Sound Blaster 接口,但是在 Windows 上需要经过设置才能通过它来发出声音。

在Windows中选择 主群组 中的 控制面板 -> 驱动程序 -> 新增 -> Creative Labs Sound Blaster 1.0 -> 输入 windows 安装文件的路径 ->选择 sbbase 和 irq

其中 sbbase 和 irq 的值,可以在 DOSBOX 配置参数中的 [sblaster] 节中查到

dosbox_1534524380.png
dosbox_1534524413.png
dosbox_1534524428.png
城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐