我发现FreeDOS,但它们没有提供比1.44MB更大的图像,这是一个问题,因为仅固件rom的大小是5MB.我尝试创建一个更大的图像using these steps,但没有任何成功,因为每次我开始进入图像时,它不显示通常的FreeDOS菜单(它只打印出FreeDOS并且没有给出命令提示).
编辑:我能够让rom从here运行FreeDOS图像,但当然在运行rom时它说rom已损坏,因为整个rom实际上并没有在那里而且仅部分存在因为只有1.44图像上的MB空间.更复杂的是rom只会在himem.exe和emm386.exe运行时运行(它们是通过选择FreeDOS上的第二个选项启动的).
编辑2:我发现,在将平面文件添加到操纵杆和COMMAND.COM后,我发现了自定义freedos usb棒的USB棒.仍然将文件复制到USB映像并尝试从PXE启动它拒绝启动.
解决方法
或者尝试搜索“通过PXE引导ISO”,“通过PXE引导DOS”等.
扩展编辑
以下是经过测试和运行的.
您只需要Full FreeDOS ISO,最近的Linux LiveCD,安装的Linux和Virtual Machine.
那就是我做的:
>创建一个只有20 MB大小的硬盘的虚拟机,并将Full FreeDOS ISO作为CD-ROM附加.
>从FreeDOS ISO引导虚拟机,并在虚拟硬盘上安装最小版本的FreeDOS.
>确保在安装期间使用提供的FreeDOS工具对硬盘进行分区和格式化.磁盘应该可启动并格式化为FAT16.
>弹出ISO映像并尝试从虚拟硬盘启动.重复这些步骤,直到它成功引导到虚拟硬盘.对我来说它只适用于第三个FreeDOS启动选项,但你应该尝试所有这些.
>将Linux LiveCD连接到虚拟机并启动LiveCD.然后将虚拟硬盘安装在文件系统中的某个位置.
>将所需的DOS工具传输到已安装的硬盘上.通过HTTP,SCP,FTP,SMB或甚至通过真正的USB闪存驱动器.没有必要,但建议创建一个
虚拟硬盘的子文件夹并将文件放入其中.您应该从外部或在Linux LiveCD系统中提取文件.确保你没有
覆盖硬盘上的任何FreeDOS文件.
>卸载虚拟硬盘.
>使用dd if = / dev / sda = / tmp / freedos.img创建虚拟硬盘的磁盘映像(将/ dev / sda替换为虚拟硬盘的正确设备名称)
>将图像/tmp/freedos.img传输到真实机器(SCP,SMB,FTP或其他).
>关闭Linux LiveCD系统,弹出LiveCD映像,重新启动并尝试重新启动到FreeDOS硬盘(不是图像).
如果它工作,你看到复制的程序一切正常,你可以再次关闭系统.如果不是,请从步骤5)重复.
>如果您在某处安装了Linux,请尝试安装syslinux软件包.这比编译自己的二进制文件或从中下载预编译的图像更容易
某处.安装后,在文件系统中找到memdisk二进制文件.我的是
在/usr/lib / syslinux / memdisk.
>将memdisk和freedos.img传输到PXE环境的tftp服务器,并使用以下配置条目对其进行配置.
.
label freedos menu label FreeDOS flash environment kernel memdisk append initrd=freedos.img harddisk
通过PXE启动并从网络上享受FreeDOS.
作为读者练习,您应该尝试iPXE这是一个开源PXE固件.有了它,你可以跳过所有的tftp / PXE废话,而是通过HTTP启动!在这种情况下,您可以从iPXE引导加载程序启动并输入以下命令:
dhcp imgfetch http://192.168.1.1/freedos.img chain http://192.168.1.1/memdisk harddisk
dhcp为您提供来自DHCP服务器的任何IP,只是为了与192.168.1.1或您的(内部)Web服务器进行通信.您也可以设置静态IP.其他命令从HTTP下载并安装引导加载程序和磁盘映像,然后引导映像.令人印象深刻.