#!/bin/bash : "${APP_HOME:=$(cd "$(dirname "${0}")" && pwd)}" mac="52:54:00:12:34:10" args=( #-machine pc-i440fx-1.4,vmport=off -machine pc,vmport=off #-machine q35,vmport=off -nodefaults #-display curses #-monitor vc -monitor stdio # -bios "${APP_HOME}"/seabios.bin-2012-06-14-v1.7.0 #-drive file="${APP_HOME}"/seabios.bin-2012-06-14-v1.7.0,format=raw,if=pflash,cache=unsafe,readonly=on #-drive file="${APP_HOME}"/seabios.bin-2021-12-03-v1.15.0,format=raw,if=pflash,cache=unsafe,readonly=on #-drive file=/usr/share/seabios/bios.bin,format=raw,if=pflash,cache=unsafe,readonly=on #-drive file=/usr/share/seabios/vgabios-bochs-display.bin,format=raw,if=pflash,cache=unsafe,readonly=on #-drive file=/usr/share/bochs/BIOS-qemu-latest,format=raw,if=pflash,cache=unsafe,readonly=on #-drive file=/usr/share/bochs/BIOS-bochs-legacy,format=raw,if=pflash,cache=unsafe,readonly=on #-boot menu=on,splash-time=0,strict=off -boot order=c,once=a,menu=on,splash-time=0,strict=on -rtc base=localtime -cpu pentium #-cpu 486 #-cpu qemu64 -smp 1 -m 1g #-device VGA -device cirrus-vga #-device vmware-svga #-device qxl-vga #-soundhw sb16,adlib #-device AC97 -netdev user,id=net0,net=10.0.1.0/29,dhcpstart=10.0.1.5 #-netdev vde,id=net0,sock=/var/run/vde.ctl #-device rtl8139 -device rtl8139,netdev=net0,mac="${mac}" #-device pcnet,netdev=net0,mac="${mac}" #-device ne2k_pci,netdev=net0,mac="${mac}" # 注意: 操作系统下设备配置的中断请求 IRQ 与输入输出范围起始 iobase 必须与这里的配置一致. # 如 Windows 98 下可手动安装设备驱动启用设备,在设备管理器打开设备属性,在 "资源" 标签页进行配置. #-device ne2k_isa,netdev=net0,mac="${mac}",irq=11,iobase=$(( 0x0260 )) # sudo losetup -f win98.raw # sudo partx -a /dev/loop0 # sudo mount /dev/loop0p5 mnt/ -o uid=$UID # # sudo umount mnt/ # sudo partx -d /dev/loop0 # sudo losetup -D #-drive file="${APP_HOME}"/win-3.2.raw,format=raw,if=ide,cache=unsafe -drive file="${APP_HOME}"/win98.raw,format=raw,if=ide,cache=unsafe #-drive file="${APP_HOME}"/win-me.qcow2,format=qcow2,if=ide,cache=unsafe -drive file="${APP_HOME}"/f-a.img,format=raw,if=floppy,cache=unsafe #-drive file="${APP_HOME}"/DOS71-zh-cn-2004.img,format=raw,if=floppy,cache=unsafe,readonly=on #-drive file="${APP_HOME}"/DOS6.22_1.img,format=raw,if=floppy,cache=unsafe,readonly=on #-drive file="${APP_HOME}"/win98-iso-boot.img,format=raw,if=floppy,cache=unsafe,readonly=on #-drive file="${APP_HOME}"/FDBOOT.img,format=raw,if=floppy,cache=unsafe,readonly=on #-drive file="${APP_HOME}"/f-win-me.img,format=raw,if=floppy,cache=unsafe #-drive file="${APP_HOME}"/windows-3.2.iso,format=raw,if=ide,media=cdrom,cache=unsafe,readonly=on #-drive file="${APP_HOME}"/Windows98SE.iso,format=raw,if=ide,media=cdrom,cache=unsafe,readonly=on -drive file="${APP_HOME}"/win98gho-XinTai-2005.iso,format=raw,if=ide,media=cdrom,cache=unsafe,readonly=on #-drive file="${APP_HOME}"/windows-98se-zh-cn-1999-05-OEM.iso,format=raw,if=ide,media=cdrom,cache=unsafe,readonly=on #-drive file="${APP_HOME}"/win-me-ghost-by-la_you.iso,format=raw,if=ide,media=cdrom,cache=unsafe,readonly=on #-drive file="${APP_HOME}"/FD12CD.iso,format=raw,if=ide,media=cdrom,cache=unsafe,readonly=on #-drive file="${HOME}"/Downloads/ubuntu-20.04-mini.iso,format=raw,if=ide,media=cdrom,cache=unsafe,readonly=on ) qemu-system-x86_64 "${args[@]}" "${@}"