以纯文本配置 FreeDOS

了解如何使用 FDCONFIG.SYS 配置 FreeDOS。
51 位读者喜欢这篇文章。
Person using a laptop

FreeDOS 的主要配置文件是根目录下的一个名为 FDCONFIG.SYS 的文件。 该文件包含一系列行,每一行都设置一个值,例如 LASTDRIVE=Z 或 FILES=40。 例如,FreeDOS 1.3 RC4 中的默认 FDCONFIG.SYS 如下所示

SET DOSDIR=C:\FDOS

!COUNTRY=001,858,C:\FDOS\BIN\COUNTRY.SYS
!LASTDRIVE=Z
!BUFFERS=20
!FILES=40
!MENUCOLOR=7,0

MENUDEFAULT=1,5
MENU 1 - Load FreeDOS with JEMMEX, no EMS (most UMBs), max RAM free
MENU 2 - Load FreeDOS with JEMM386 (Expanded Memory)
MENU 3 - Load FreeDOS low with some drivers (Safe Mode)
MENU 4 - Load FreeDOS without drivers (Emergency Mode)

12?DOS=HIGH
12?DOS=UMB
12?DOSDATA=UMB
1?DEVICE=C:\FDOS\BIN\JEMMEX.EXE NOEMS X=TEST I=TEST NOVME NOINVLPG
234?DEVICE=C:\FDOS\BIN\HIMEMX.EXE
2?DEVICE=C:\FDOS\BIN\JEMM386.EXE X=TEST I=TEST I=B000-B7FF NOVME NOINVLPG
34?SHELL=C:\FDOS\BIN\COMMAND.COM C:\FDOS\BIN /E:1024 /P=C:\FDAUTO.BAT
12?SHELLHIGH=C:\FDOS\BIN\COMMAND.COM C:\FDOS\BIN /E:1024 /P=C:\FDAUTO.BAT

但是所有这些行是什么意思呢? 为什么有些行带有问号 (?) 或感叹号 (!),而其他行则没有?

简单的配置

让我们从一个简单的配置开始,以便我们可以了解它的作用。 假设有这个非常简短的 FDCONFIG.SYS 文件

LASTDRIVE=Z
BUFFERS=20
FILES=40
DEVICE=C:\FDOS\BIN\HIMEMX.EXE
SHELL=C:\FDOS\BIN\COMMAND.COM C:\FDOS\BIN /E:1024 /P=C:\FDAUTO.BAT

此配置文件仅包含几个指令

  1. LASTDRIVE=Z
  2. BUFFERS=20
  3. FILES=40
  4. DEVICE=C:\FDOS\BIN\HIMEMX.EXE
  5. SHELL=C:\FDOS\BIN\COMMAND.COM C:\FDOS\BIN /E:1024 /P=C:\FDAUTO.BAT

第一个指令告诉 FreeDOS 在内存中保留多少个驱动器盘符。 (DOS 使用字母来表示连接到系统的每个驱动器,LASTDRIVE=Z 表示保留从“A”到“Z”的驱动器盘符。)LASTDRIVE 会影响您的系统可以识别的逻辑驱动器的数量。 您可能没有任何逻辑驱动器; FreeDOS 安装程序默认情况下不会设置这些驱动器。 无论如何,在任何 FreeDOS 系统上设置 LASTDRIVE=Z 都是安全的。

BUFFERS 行保留用于文件缓冲区的内存。缓冲区 有助于加速某些需要存储的过程,例如复制文件。 如果您为 BUFFERS 设置较大的值,FreeDOS 将保留更多内存,反之亦然。 大多数用户会将此设置为 BUFFERS=20 或 BUFFERS=40,具体取决于他们需要多频繁地在系统上读取和写入文件。

FILES 设置确定 DOS 允许您一次打开多少个文件。 如果您运行需要一次打开多个文件的应用程序,例如 Genealogy 数据库,您可能需要将 FILES 设置为更大的值。 对于大多数用户,FILES=40 是一个合理的值。

DEVICE 是一个特殊指令,用于加载设备驱动程序。 DOS 需要设备驱动程序才能用于某些硬件或配置。 行 DEVICE=C:\FDOS\BIN\HIMEMX.EXE 加载 *HimemX* 设备驱动程序,以便 DOS 可以利用超出前 640 KB 的扩展内存。

最后一行告诉 FreeDOS 内核在哪里找到命令行 Shell。 默认情况下,内核会查找 Shell,即 COMMAND.COM,但您可以使用 SHELL 指令进行更改。 在此示例中,SHELL=C:\FDOS\BIN\COMMAND.COM 表示 Shell 是 COMMAND.COM 程序,位于 C 驱动器上的 \FDOS\BIN 目录中。

SHELL 末尾的其他文本指示 COMMAND.COM Shell 的选项。 FreeDOS COMMAND.COM 支持多个启动选项来修改其行为,包括

  • C:\FDOS\BIN - 指向 COMMAND.COM 程序的完整路径
  • /E:1024 - 环境 (E) 大小,以字节为单位。 /E:1024 告诉 COMMAND.COM 保留 1024 字节或 1 KB,以存储其环境变量。
  • /P=C:\FDAUTO.BAT - /P 选项指示 Shell 是永久 (P) Shell,因此用户无法通过键入 EXIT 退出 Shell(额外的文本 =C:\FDAUTO.BAT 告诉 COMMAND.COM 在启动时执行 C:\FDAUTO.BAT 文件,而不是默认的 AUTOEXEC.BAT 文件)

使用这种简单的配置,您应该能够解释 FreeDOS 1.3 RC4 安装的某些 FDCONFIG.SYS 文件。

启动菜单

FreeDOS 支持一个简洁的功能 - 在一个系统上进行多个配置,使用“启动菜单”来选择您想要的配置。 FDCONFIG.SYS 文件包含定义菜单的多个行

!MENUCOLOR=7,0

MENUDEFAULT=1,5
MENU 1 - Load FreeDOS with JEMMEX, no EMS (most UMBs), max RAM free
MENU 2 - Load FreeDOS with JEMM386 (Expanded Memory)
MENU 3 - Load FreeDOS low with some drivers (Safe Mode)
MENU 4 - Load FreeDOS without drivers (Emergency Mode)

MENUCOLOR 指令定义启动菜单的文本颜色和背景颜色。 这些值通常在 0 到 7 之间,表示以下颜色

  • 0 黑色
  • 1 蓝色
  • 2 绿色
  • 3 青色
  • 4 红色
  • 5 洋红色
  • 6 棕色
  • 7 白色

因此,MENUCOLOR=7,0 定义意味着以白色 (7) 文本在黑色 (0) 背景上显示菜单。 如果您想改为在蓝色背景上使用白色文本,则可以将其定义为 MENUCOLOR=7,1

行首的感叹号 (!) 表示无论您选择哪个菜单选项,都将始终执行此指令。

MENUDEFAULT=1,5 行告诉内核等待用户选择启动菜单项多长时间,或者如果用户未选择任何启动菜单项,则使用哪个默认菜单项。 MENUDEFAULT=1,5 指示系统将等待 5 秒钟; 如果用户未尝试在该时间内选择菜单项,则内核将假定启动菜单为“1”。

boot menu

图片由 Jim Hall 提供,采用 CC-BY SA 4.0 许可

之后的 MENU 行是不同启动菜单配置的标签。 这些按顺序显示,因此菜单项“1”是第一个,然后是“2”,依此类推。

menu select 4

图片由 Jim Hall 提供,采用 CC-BY SA 4.0 许可

在接下来的 FDCONFIG.SYS 行中,您会在问号 (?) 前面看到数字。 这些表示“对于此启动菜单项,请使用此行”。 例如,如果用户选择启动菜单项“2”、“3”或“4”,则带有 234? 的行将仅加载 HimemX 设备驱动程序。

234?DEVICE=C:\FDOS\BIN\HIMEMX.EXE

有很多方法可以使用 FDCONFIG.SYS 来配置您的 FreeDOS 系统。 我们在这里仅介绍了基础知识,即定义 FreeDOS 内核设置的最常用方法。 有关更多信息,请浏览 FreeDOS 帮助系统(在命令行中键入 HELP)以了解如何使用所有 FreeDOS FDCONFIG.SYS 选项

  • SWITCHES
    • 启动时间处理行为
  • REM;
    • 注释(在 FDCONFIG.SYS 中忽略)
  • MENUCOLOR
    • 启动菜单文本颜色和背景颜色
  • MENUDEFAULT
    • 启动菜单默认值
  • MENU
    • 启动菜单项
  • ECHOEECHO
    • 显示消息
  • BREAK
    • 启用或禁用扩展的 Ctrl+C 检查
  • BUFFERSBUFFERSHIGH
    • 要分配多少磁盘缓冲区
  • COUNTRY
    • 设置国际行为
  • DOS
    • 告诉 FreeDOS 内核如何将其自身加载到内存中
  • DOSDATA
    • 告诉 FreeDOS 将内核数据加载到高端内存中
  • FCBS
    • 设置文件控制块 (FCB) 的数量
  • KEYBUF
    • 重新分配内存中的键盘缓冲区
  • FILESFILESHIGH
    • 一次打开多少个文件
  • LASTDRIVELASTDRIVEHIGH
    • 设置可以使用的最后一个驱动器盘符
  • NUMLOCK
    • 启用或禁用键盘数字键盘锁定
  • SHELLSHELLHIGHCOMMAND
    • 设置命令行 Shell
  • STACKSSTACKSHIGH
    • 添加堆栈以处理硬件中断
  • SWITCHAR
    • 重新定义命令行选项开关字符
  • SCREEN
    • 设置屏幕上的行数
  • VERSION
    • 设置要向程序报告的 DOS 版本
  • IDLEHALT
    • 激活节能功能,在某些系统上很有用
  • DEVICEDEVICEHIGH
    • 将驱动程序加载到内存中
  • INSTALLINSTALLHIGH
    • 加载“终止并驻留” (TSR) 程序
  • SET
    • 设置 DOS 环境变量

以纯文本配置

与 Linux 和 BSD 一样,FreeDOS 配置以纯文本形式进行。 无需特殊的编辑工具,因此请深入了解并查看哪些选项最适合您。 它既简单又强大!

接下来阅读什么

开始使用 FreeDOS

它看起来像复古计算,但它是一个现代操作系统,您可以使用它来完成工作。

(记者)
2021 年 6 月 1 日
标签
photo of Jim Hall
Jim Hall 是一位开源软件倡导者和开发人员,以 GNOME 中的可用性测试以及 FreeDOS 的创始人 + 项目协调员而闻名。

1 条评论

吉姆,很棒的文章!

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.