下载并解压 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盘,并在上面安装操作系统
这个磁盘文件不需要太大,256M 已经算是很大了:
dd if=/dev/zero of=~/Dosbox/Windows3.2.img bs=1M count=256
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
其中有几点需要说明一下:
MOUNT [Drive-Letter] [Local-Directory]
需要注意的是,主机目录仿真为虚拟磁盘后,在DOSBOX外对目录进行的操作并不会实时刷新DOSBOX内的虚拟磁盘!
MOUNT -u [Drive-Letter]
IMGMOUNT DRIVE [imagefile] -t [image_type] -fs [image_format] -size [sectorsbytesize, sectorsperhead, heads, cylinders -u DRIVE]
其中配置:
BOOT [diskimg1.img diskimg2.img .. diskimgN.img] [-l driveletter]
其中 diskimgN.img 指定了从哪个镜像文件中开始引导,它可以一次性接受多个镜像文件,表示引导后挂载多个镜像。 即此时 diskimg1.img 挂载成了A盘, diskimg2.img 挂载成了B盘...
dosbox

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

若安装出现换盘的情况,则按下 Ctrl-F4 进行换盘
更改 DOSBOX 的配置文件,将 [autoexec] 中的配置修改为
imgmount C "~/Dosbox/Windows3.2.img" -size 512,63,16,520 -t hdd -fs fat
boot -l c
wget "https://bbs.cdsy.xyz/forum.php?mod=attachment&aid=MTEyOHwyYmZmN2ZjNHwxNzU0Mjk4MzMwfDJ8" -O ~/Downloads/windows3.2/windows3.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
sudo losetup -Pf --show /home/lujun9972/Dosbox/Windows3.2.img
/dev/loop1
其中 -P 表示内核在 loop 设备生成后扫描其中的分区表, -f 参数表示自动寻找第一个未使用的loop设备号
sudo mount -t vfat -o uid=1000 /dev/loop1p1 /mnt
mkdir -p /mnt/wininst
for n in DISK*;do
cp $n/* /mnt/wininst
done
这就将windows安装目录拷入DOSBOX的硬盘镜像文件中了
sudo umount /mnt
sudo losetup -d /dev/loop1
dosbox

cd wininst
setup


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

sudo losetup -Pf --show /home/lujun9972/Dosbox/Windows3.2.img
/dev/loop0
sudo mount -t vfat -o uid=1000 /dev/loop0p1 /mnt
curl http://www.sierrahelp.com/Files/3x_Files/S3DRIVERS.ZIP -o /mnt/S3DRIVERS.ZIP
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
machine=svga_s3
dosbox
cd c:\widows
setup



DOSBOX 模拟了一个 Sound Blaster 接口,但是在 Windows 上需要经过设置才能通过它来发出声音。
在Windows中选择 主群组 中的 控制面板 -> 驱动程序 -> 新增 -> Creative Labs Sound Blaster 1.0 -> 输入 windows 安装文件的路径 ->选择 sbbase 和 irq
其中 sbbase 和 irq 的值,可以在 DOSBOX 配置参数中的 [sblaster] 节中查到




