在 DosBox 上安装 windows 3.2

发布于 2023-03-06 00:13:45 字数 9064 浏览 110 评论 0

安装 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

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

  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 "http://sf.jb51.net:81/201312/tools/windows3.2(jb51.net).rar" -O ~/Downloads/windows3.2/windows3.2.rar
    
  2. 解压这个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 安装文件拷贝进去

  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

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

dosbox_1534524380.png

dosbox_1534524413.png

dosbox_1534524428.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

雪落纷纷

暂无简介

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文