台式电脑

电脑怎么样打开dos(FreeDOS 如何启动)

概述你的计算机如何引导和启动一个像FreeDOS这样的简单操作系统。

FreeDOS 如何启动

在使用DOS计算机的过程中,我很欣赏的一点是,引导过程相对容易理解。在DOS中没有太多的变动组件。而今天,我想和大家分享一下电脑是如何引导和启动像FreeDOS这样的简单操作系统的概况。

初始引导

当你打开计算机的电源时,系统会进行一些自我检查,如验证内存和其他组件。这被称为开机自检PowerOnSelfTest(POST)。POST之后,计算机使用一个硬编码指令,告诉它在哪里找到加载操作系统的指令。这就是“引导加载程序bootloader”,通常它将试图找到硬盘上的主引导记录MasterBootRecord(MBR)。然后,MBR加载主操作系统,在这里就是FreeDOS。

这个定位一个信息以便计算机能够加载操作系统的下一个部分的过程被称为“引导bootstrapping”,来自于“通过你自己的努力振作起来pickingyourselfupbyyourbootstraps”的古老说法。正是从这个用法中,我们采用了“引导boot”一词来表示启动你的计算机。

内核

电脑怎么样打开dos(FreeDOS 如何启动)

当计算机加载FreeDOS内核时,内核所做的第一件事就是识别用户所表示要使用的任何参数。它被保存在一个叫做FDCONFIG.SYS的文件中,与内核保存在同一个根目录下。如果FDCONFIG.SYS不存在,那么FreeDOS的内核就会寻找一个叫做CONFIG.SYS的替代文件。

如果你在20世纪80年代或90年代使用过DOS,你可能对CONFIG.SYS文件很熟悉。从1999年起,FreeDOS首先寻找FDCONFIG.SYS,以防你的DOS系统与其他DOS(如MS-DOS)做了双启动。请注意,MS-DOS只使用CONFIG.SYS文件。因此,如果你用同一个硬盘同时启动FreeDOS和MS-DOS,MS-DOS使用CONFIG.SYS来配置自己,而FreeDOS则使用FDCONFIG.SYS。这样一来,双方都可以使用自己的配置。

FDCONFIG.SYS可以包含一些配置设置,其中之一是SHELL=或SHELLHIGH=。任何一个都会指示内核加载这个程序作为用户的交互式shell。

如果FDCONFIG.SYS和CONFIG.SYS都不存在,那么内核就会假定几个默认值,包括在哪里找到shell。如果你在启动FreeDOS系统时看到“BadormissingCommandInterpreter”的信息,这意味着SHELL=或SHELLHIGH=指向了一个在你系统中不存在的shell程序。

FreeDOS 如何启动

你可以通过查看SHELL=或SHELLHIGH=行来调试这个问题。如果做不到这一点,请确保你在FreeDOS系统的根目录下有一个名为COMMAND.COM的程序。它就是shell,我接下来会讲到它。

shell

在DOS系统中,“shell”一词通常是指一个命令行解释器:一个交互式程序,它从用户那里读取指令,然后执行它们。在这里,FreeDOS的shell与Linux的Bashshell相似。

除非你用SHELL=或SHELLHIGH=要求内核加载一个不同的shell,否则DOS上的标准命令行shell被称为COMMAND.COM。当COMMAND.COM启动时,它也寻找一个文件来配置自己。默认情况下,COMMAND.COM会在根目录下寻找一个名为AUTOEXEC.BAT的文件。AUTOEXEC.BAT是一个“批处理文件”,它包含一组启动时运行的指令,大致类似于Linux上Bash启动时读取的~/.bashrc“资源文件”。

你可以在FDCONFIG.SYS文件中用SHELL=或SHELLHIGH=改变shell以及shell的启动文件。FreeDOS1.3RC4安装程序将系统设置为读取FDAUTO.BAT而不是AUTOEXEC.BAT。这与内核读取另一个配置文件的原因相同;你可以在硬盘上用另一个DOS双启动FreeDOS。FreeDOS将使用FDAUTO.BAT而MS-DOS将使用AUTOEXEC.BAT。

如果没有像AUTOEXEC.BAT这样的启动文件,shell将简单地提示用户输入日期和时间。

FreeDOS 如何启动

就是这些了。当FreeDOS加载了内核,而内核也加载了shell,FreeDOS就准备好让用户输入命令了。

FreeDOS 如何启动

via:https://opensource.com/article/21/6/freedos-boots

作者:JimHall选题:lujun9972译者:geekpi校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

相关新闻

返回顶部