如何将 FreeDos 安装到 USB 记忆棒上?

如何将 FreeDos 安装到 USB 记忆棒上?

FreeDos 项目提供了许多下载,但所有这些都包含一个安装程序,该安装程序会尝试将 FreeDos 从安装介质安装到硬盘上。不支持选择移动棒作为安装目标。由于 USB 棒通常足够大,可以容纳操作系统和应用程序,因此通常不打算写入硬盘。有些页面指向以下工具:鲁弗斯,它可以从模板创建可启动的 FreeDos 安装,但此磁盘缺少典型的 FreeDos 组件。那么如何安装完整的 FreeDos一个可启动的 USB 记忆棒,用来使用 FreeDos 创建实时 USB 版本吗?

答案1

不幸的是,目前关于FreeDOS 维基不是最新的,但在 FreeDos 开发人员 Jim Hall 的帮助下,我找到了解决方案:

  1. 下载USB“完整”安装程序来自 FreeDOS 页面。
  2. 解压下载的 zip 文件
  3. 使用 USB 格式化工具(例如 rufus)将图像写入 USB(注意写入正确的驱动器)
  4. 将目录 D:\FDSETUP\BIN 移动到 D:\BIN
  5. 编辑 D:\FDCONFIG.SYS 中第一行和最后两行如下

    !COUNTRY=001,858:\BIN\COUNTRY.SYS
    !LASTDRIVE=Z
    !BUFFERS=20
    !FILES=40
    
    DOS=HIGH
    DOS=UMB
    DOSDATA=UMB
    
    DEVICE=\BIN\HIMEMX.EXE
    
    SHELLHIGH=COMMAND.COM \BIN /E:2048 /P=\AUTOEXEC.BAT
    
  6. 编辑 D:\AUTOEXEC.BAT 如下(Windows 会隐藏此文件,但您可以直接给出文件名来打开它)。只需要更改设置 DOSDIR 的行,并删除 AUTOEXEC.BAT 末尾的一些显示代码

    @echo off
    SET DOSDIR=
    SET LANG=
    SET PATH=%dosdir%\BIN
    
    SET DIRCMD=/P /OGN /Y
    
    rem SET TEMP=%dosdir%\TEMP
    rem SET TMP=%TEMP%
    
    rem SET NLSPATH=%dosdir%\NLS
    rem SET HELPPATH=%dosdir%\HELP
    rem SET BLASTER=A220 I5 D1 H5 P330
    rem SET COPYCMD=/-Y
    
    DEVLOAD /H /Q %dosdir%\BIN\UDVD2.SYS /D:FDCD0001
    
    SHSUCDX /QQ /D3
    
    rem SHSUCDHD /QQ /F:FDBOOTCD.ISO
    
    FDAPM APMDOS
    
    rem SHARE
    
    rem NLSFUNC %dosdir%\BIN\COUNTRY.SYS
    rem DISPLAY CON=(EGA),858,2)
    rem MODE CON CP PREP=((858) %dosdir%\CPI\EGA.CPX)
    rem KEYB US,858,%dosdir%\bin\keyboard.sys
    rem CHCP 858
    rem PCNTPK INT=0x60
    rem DHCP
    rem MOUSE
    
    rem DEVLOAD /H /Q %dosdir%\BIN\UIDE.SYS /H /D:FDCD0001 /S5
    
    SHSUCDX /QQ /~ /D:?SHSU-CDR,D /D:?SHSU-CDH,D /D:?FDCD0001,D /D:?FDCD0002,D /D:?FDCD0003,D
    
    rem MEM /C /N
    
    SHSUCDX /D
    
    rem DOSLFN
    
    rem LBACACHE.COM buf 20 flop
    
    SET AUTOFILE=%0
    SET CFGFILE=\FDCONFIG.SYS
    alias reboot=fdapm warmboot
    alias reset=fdisk /reboot
    alias halt=fdapm poweroff
    alias shutdown=fdapm poweroff
    
    rem alias cfg=edit %cfgfile%
    rem alias auto=edit %0
    
    vecho /p Done processing startup files /fCyan FDCONFIG.SYS /a7 and /fCyan AUTOEXEC.BAT /a7/p
    
  7. 删除 D:\SETUP.BAT

  8. 完成后,保存文件并安全移除 USB 驱动器

开机并测试

USB 密钥现在可直接启动到 FreeDOS 并加载到高内存,为程序留下大约 600KB 的公共内存。

答案2

到目前为止我发现的最简单的版本是这个: https://www.scivision.dev/freedos-flash-bios-linux/

通过在插入 USB 驱动器之前和之后发出此命令来确定 USB 驱动器设备(例如 /dev/mmcblk0):

lsblk

使用以下方法格式化(永久清除)此 USB 驱动器

umount /dev/mmcblk0

mkdosfs -F 32 /dev/mmcblk0

下载 FreeDOS “USB 完整映像” 并解压文件FD*.img。将此映像写入 USB 记忆棒:

dd if=FD*.img of=/dev/mmcblk0 bs=4M

图像写入将需要一两分钟,具体取决于 USB 棒的写入速度。为确保写入完成,请等待此命令在第二个终端窗口中退出:

sync

答案3

详细说明 breversa 的答案,这对我有用:

  • 按照描述找到 USB 设备和分区(例如,整个 USB 棒/dev/sdc,带有第一个分区/dev/sdc1
  • 使用mkdos分区级别(例如,/dev/sdc1
  • 使用dd整个设备级别不是在分区级别(即使用dd [...] of=/dev/sdc
  • 否则,dd将产生无效分区,并且 USB 无法启动
  • 然后你可以挂载/dev/sdc1并添加任何额外需要的文件(在我的情况下是 BIOS/固件更新程序)
  • 在我的案例中,不需要对 FreeDOS 文件进行额外的更改
  • 如果我的硬件出现“启动错误”(或其他)消息,我发现大多数情况下“罪魁祸首”是 USB 驱动器本身;不同型号适用于不同的计算机(或不适用);通常,较新的 USB 驱动器比较旧的驱动器工作得更好

答案4

我很确定 OP 想要创建 FreeDOS 的完整 LiveUSB 安装。这将创建一个启动 FreeDOS 并安装所有软件的 USB 闪存驱动器:

https://www.trishtech.com/2017/07/how-to-create-bootable-live-freedos-usb-drive/

相关内容