![概述/简介](https://linux22.com/image/1494308/%E6%A6%82%E8%BF%B0%2F%E7%AE%80%E4%BB%8B.png)
我有一个可启动的 MSDos 系统。我想安装将其安装在当前 PC 上,以便我可以从 HDD 而不是软盘启动。我该怎么做?
我在 virtualbox 中执行此操作,但有一个通用的解决方案就更好了。
答案1
免责声明:自我上次这样做以来至少已经过去了二十年,所以我可能忘记了一些细节。
如果您已经从 MSDOS 软盘启动系统,则将相同的启动系统安装到本地硬盘上的方法如下:
sys a: c:
(假设软盘是a:
而硬盘是c:
)
sys
是 shell 内置命令,以及dir
、del
、cd
和其他基本命令。值得注意的是,使用该sys
命令将使驱动器只能使用 MSDOS 启动,我想您还必须command.com
手动复制:
copy a:\command.com c:
command.com
是 msdos 的主要组件,因此它包含 shell 内置命令。除此之外,还有三个系统文件:autoexec.bat
、system.ini
和config.sys
。我不记得其中哪些(如果有的话)是必需的(config.sys
很可能),但为了安全起见,您也可以使用与 相同的方法复制它们command.com
。
您可能还想找到一些 msdos 安装软盘/映像来获取有用的实用程序。我相信 5.0 或更高版本拥有我所需的“所有”实用程序。
编辑
这个答案的评论确实是正确的:MSDOS.SYS
并且IO.SYS
也是必要的。运行sys
上面的命令可能会也可能不会复制这些内容;如果没有,您必须手动执行此操作。
答案2
- 使用老命令制作系统软盘:格式 A:/S 命令或者从具有 MS-DOS 系统文件并可从其启动的任何设备启动
- 确保 command.com 也在上面,如果没有,请手动复制它
- 从 FDD 启动并确保正确检测到要放置系统的驱动器,然后使用系统 a: c:命令
- 对于在 VM 环境中使用,你可以从以下网站获取可构建的 DOS ISO:http://www.allbootdisks.com/download/iso.html. 使用相同命令使您的 C:\ 可启动。
答案3
这样我就可以从 HDD 而不是软盘启动。
请注意,安装 MS-DOS 的工作量可能比您想要做的要大。(其他一些答案只是简单地说明了如何使 MS-DOS 可启动,从而实现从硬盘启动的既定目标。)
然而,实际问题的另一部分是:
想要安装在当前电脑上
安装 MS-DOS 将使 MS-DOS 可启动,并将操作系统的大部分内容放入硬盘驱动器。例如,它将安装 MS-DOS 帮助。
概述/简介
本指南中的一些内容比较粗略。例如,我提到使用“FDISK”。我没有具体说明要使用哪些按键。原因之一是不同版本的 MS-DOS 确实存在一些差异。本回答的大部分内容适用于许多版本的 DOS(包括 MS-DOS 甚至其他版本,尽管这里的一些细节特定于 MS-DOS)。
某些步骤描述得比较笼统的另一个原因是,一个人可能会在某些步骤上花费相当多的时间(例如调整内存,包括使用不同的驱动程序)。所采取的某些步骤可能在某些计算机上运行良好,而在其他计算机上则无法正常工作。某些步骤(例如优化内存使用)可能在技术上更胜一筹,但不值得一个人花时间(如果他们有足够的空闲“常规内存”来做他们想做的事情,那么更多的空闲“常规内存”可能真的没什么用。)
最后三分之一超越了最初的问题,推荐了一些后续步骤。
如果您对特定流程有疑问(或想要了解特定任务的其他步骤),我建议您考虑是否创建一个新的(特定)问题。如果我写的内容似乎不清楚/错误,欢迎发表评论。
分割
最常见的情况是,MS-DOS 安装在第一个可引导分区上。该分区称为 C:。
如果您已经启动 DOS(从软盘)并且已经有 C:,则通常可以跳过此部分。
在执行典型的 SETUP 过程之前,您可能需要先创建该分区。这通常使用名为 FDISK 的程序来完成。请注意,此命令相当具有破坏性!如果您还没有名为 C: 的分区,请尝试运行 FDISK。(实际上,名为 XFDisk 的“第三方”程序可能更易于使用。)如果您想使用 Microsoft 的解决方案,最好的选择是与 Q263044 更新捆绑在一起的 FDISK。否则,简单的规则是更高版本更好(因为它们更有可能与更大的硬盘驱动器配合使用)。
创建分区时,分区大小必须小于 2GB。(2GB 等于 2,147,483,648,但 MS-DOS 限制为 2,147,450,880 字节,比 2,147,450,880 字节小 32,768 字节。)这是 MS-DOS 的限制。(Windows NT 4.0 可以支持接近 16GB 大小的 FAT16。)
如果您使用第三方软件创建分区,系统可能会询问您分区“类型”标识符。如果您使用的磁盘大小为 32 MB 至 504 MB(528,482,304 字节),那么最好使用分区类型 6。如果您的磁盘大于 504MB(但小于 2GB),较新的 DOS 版本可能倾向于使用类型 E(如果以十六进制指定,则可能显示为 0E 或 0x0E)。
文件系统卷
创建分区后,您可能希望创建文件系统卷。(我相信这可以在 MS-DOS 设置中完成,但万一您的 MS-DOS 版本不能在 SETUP 程序中执行此操作,您可能希望手动执行此操作。)
请注意,格式化磁盘/分区会破坏磁盘上的数据,因此,如果您在正常工作的、格式化的磁盘/分区上已经有数据,请不要执行此操作!
如果 MS-DOS SETUP 没有提供此选项,您可以创建以下命令:
format C:
或者,如果您希望 FORMAT 命令也为您运行 SYS,大多数/最新版本的 MS-DOS 允许您使用:
format C: /S
实际安装
在继续操作之前,您可能希望备份可能被覆盖/修改的文件。这可能特别包括 \AUTOEXEC.BAT 和 \CONFIG.SYS(并且,如果您的系统上有 Win9x 文件,可能还有 \MSDOS.SYS,由于设置的“属性”,它经常被标记为“隐藏文件”)。
一旦创建并格式化了分区,要安装 MS-DOS,请从 MS-DOS 安装盘运行 SETUP.EXE。(可选地,从官方安装盘成功启动将最终为您运行 SETUP.EXE。如果发生意外情况,请按 F3 退出 SETUP.EXE 程序。)安装 MS-DOS 后,这将允许您从硬盘启动,而不是从软盘启动。
SETUP 执行的任务可以手动执行,而无需使用 SETUP.EXE 软件。对于 SETUP.EXE 的大多数任务(很可能是所有任务)而言,这都是正确的,只需付出相当少的努力。安装的基本效果通常会执行以下操作:
- “SYS”驱动器,它安装引导加载程序(类似于运行
FDISK /MBR
),并将主引导文件(最常见的名称IO.SYS
和MSDOS.SYS
)复制到指定的分区。 - 复制其他文件
EXPAND
通过运行几个 *.??_ 文件来提取其他文件- 提供基本
\CONFIG.SYS
文件。 - 可能还提供基本
\AUTOEXEC.BAT
文件 - 如果您使用的是 MS-DOS 6,它还可能会询问是否安装某些 Microsoft Windows 软件。(该软件也可以稍后安装。我认为
SETUP /G
是用于此目的,但您可以使用SETUP /?
它来验证这一点。)
升级
如果您安装了 MS-DOS 6.0、6.2 或 6.21,我建议您安装免费分发的 MS-DOS 6.x 到 6.22 STEPUP 升级,它带有自己的 SETUP.EXE
特别是如果您打算修改磁盘压缩时,请这样做,因为 6.22 的 DrvSpace 包含一些可靠性改进。
禁用 GUI 自动加载
如果您使用的是与 Win95 或 Win98 捆绑在一起的 MS-DOS 7,则可以编辑通常名为 \MSDOS.SYS 的文本配置文件
具体来说,BOOTGUI=0
在 [Options] 部分添加“ ”将导致 Windows 不自动加载 GUI。然后,如果您想自动加载 GUI,可以win
从 AUTOEXEC.BAT 的底部完成(通过运行 )(通过自定义,您只能在某些情况下这样做)。这样做的唯一真正缺点(我记得遇到过)是安全模式不会自动加载 GUI,这相当不悲惨。
我将此过程列在后面的步骤之前。这并不一定是因为此步骤更重要/更普遍。而是因为如果要完成此步骤,那么现在就做(在后面描述的许多步骤之前)可能是明智的。
更多后续行动
您可能还想替换一些其他文件
一旦所有东西都安装完毕,我建议进行一些常见的更改:
- 用较新的 MS-DOS 驱动程序替换 MS-DOS 的驱动程序。
- 特别是更改鼠标驱动程序,可爱老鼠,因为这样会使用少得多的“传统”内存。
- 还要考虑更换 CD-ROM 驱动程序。OAKCDROM.SYS 可能很容易被替换(例如,使用 TEAC 驱动程序或 VIDE 驱动程序或其他驱动程序)
- 使用 SETVER 几乎毫无意义。(它只是允许使用某些执行版本检查的软件进行手动覆盖。这种检查毫无用处,因为 SETVER 可以覆盖它们。)
- MS-DOS 附带的一些驱动程序默认未启用,不值得使用。例如,RAMDRIVE.SYS 不如第三方 TDSK,而 ANSI.SYS 有多个更优秀的“第三方”替代品可供选择。
我列出的这些变化特别有用。CuteMouse 比许多鼠标驱动程序好得多,而那些高级 ATAPI CD-ROM 驱动程序比许多其他 CD-ROM 驱动程序好得多。只需依靠这些驱动程序就可以增加许多系统的可用常规内存,几乎没有缺点(只有改进!)
您也可以安装其他驱动程序,例如用其他/更好的选项替换 MSCDEX.EXE。但是,某些解决方案在某些系统上可能比其他系统更好,所以我不会在这里提供这样的建议(好像它们是通用解决方案)。您还可以研究 MS-DOS 6.x 支持多种启动配置的能力(运行QBASIC/QHELP
\CONFIG.SYS 中的“菜单”命令以获取在线帮助)。我也是 CONFIX.SYS 的粉丝
4DOS
我还建议安装 4DOS。您可以将其安装到 C:\4DOS\,它不会与 DOS 冲突。我建议在 \CONFIG.SYS 文件中添加以下几行:
SHELL=C:\4DOS\4DOS.Com /P SET COMPSPEC=C:\4DOS\4DOS.Com
(如果搞砸了,您可能会无法启动。因此,如果启动不顺利,请做好恢复的准备。对于 MS-DOS 6,按住 F8 或 F5 或 Ctrl 可能会有所帮助。对于早期版本的 MS-DOS,恢复可能涉及从另一个磁盘启动。)
一些人不喜欢 4DOS,因为在极少数情况下兼容性可能不完美,但大多数人喜欢它,因为它高度兼容并提供了很多不错的功能(包括能够更好地与 DOS 的各个内存段配合使用)。
记忆修补
MS-DOS 6 的 MemMaker.exe 可以执行一些很好的优化,尽管有时它不如一些简单的手动优化。
有一些不同的策略,包括:
- 使用 XMSMMGR(与 Win9x 捆绑在一起的较新 MS-DOS 版本中的文件)加载 XMS
- 或者,使用
DEVICE=\DOS\HIMEM.SYS
(在 \CONFIG.SYS 中)加载 XMS - 加载 EMS,首先加载 XMS(通过使用
DEVICE=\DOS\HIMEM.SYS
和DEVICE=\DOS\EMM386.EXE RAM
(在 CONFIG.SYS 中)- 附加参数可能会更好。例如,
V
将提供“VERBOSE”输出(至少某些版本的 EMM386) - 某些系统可以通过以下方式获得更多内存:
DEVICE=\DOS\EMM386.EXE RAM HIGHSCAN
- EMM386 将 CPU 置于保护模式,这带来了一些兼容性问题
- 其他一些参数,如
ALTBOOT
内存排除范围,在不同的系统上有不同的影响。请随意修改(实验)
- 附加参数可能会更好。例如,
- 添加
dos=high,umb
到 \CONFIG.SYS- Win9x 可能支持“
noauto
”,这将禁用某些行为,例如通过加载 IFSHLP.SYS、DBLBUFF.SYS 和 SETVER.EXE 自动耗尽内存 - 某些版本的 MS-DOS 可能需要将其置于 EMM386 之前。根据电脑希望,这个最好放在XMS驱动程序(HIMEM.SYS)之后。
- Win9x 可能支持“
- 较新的第三方软件可以提供显著的改进。例如,超敏C-PCI在许多系统上都有效,并提供了更多有用的内存(如果它真的有效,那么它可能会导致更少的软件兼容性问题)。还有其他解决方案,可以替代或补充使用,可以提供一些额外的优越结果(可能要付出一些兼容性代价——在一台计算机上效果最好的方法可能在另一个系统上运行得不太好,甚至根本不能令人满意)。
- UMBPCI 网站:HIRAM 部分描述了如何使用第三方软件有效地
DEVICEHIGH=\DOS\HIMEM.SYS
加载 HIMEM High。(它的用处可能很小,但这可能会给我们这些记得被这个文件是唯一一个我们无法加载 HIGH 的文件所激怒的人带来特别反常的快乐。)
- UMBPCI 网站:HIRAM 部分描述了如何使用第三方软件有效地
除非你使用 Win9x 中的“自动”参数,否则使用 DEVICEHIGH= 而不是 DEVICE= 也可以获得很多帮助
这会导致将驱动程序移至 UMB(传统上由 EMM386 提供),尽管 UMB 可能会填满。不同的系统具有不同数量的 UMB,并且不同的系统可能使用不同的驱动程序(使用不同数量的内存),因此可能需要进行一些实验才能找到最佳结果。除非您使用的是 XMSMMGR(与 MEM 不兼容),否则请尝试运行MEM/C
(或MEM/C|more
)
LASTDRIVE=Z 可能会占用更多内存,但通常是值得的。
Win98 的 %windir%\CONFIG.TXT可在线获取,并提供一些 Win98 实现的文档,与 MS-DOS 6 的 CONFIG.SYS 选项非常相似。
4DOS 有一些选项可能会耗尽内存,包括能够耗尽 UMB 而不是常规内存。因此,如果您使用 4DOS,命令行参数(到 4DOS.Com)和/或 4DOS.Ini 配置行可能会产生影响。4DOS 旨在在您运行 HELP 或按 F1 时加载 4DOS 的帮助(而不是 MS-DOS 的帮助,后者仍可通过使用 获得QBASIC/QHELP
)
声音
接下来,我建议重点添加对您关心的其他硬件的支持。例如,如果您希望玩游戏,请确保声音正常工作。这可能涉及安装更多驱动程序。这可能涉及设置环境变量,如 ULTRASND(用于高级“Gravis UltraSound”)或 BLASTER(用于“Creative Labs”的“Sound Blaster”和兼容卡)。
希望您已经设置了环境变量,作为安装声卡驱动程序过程的一部分。
Sound Blaster 16 声卡驱动程序的改进很小,而且可能占用比所需更多的内存。如果内存不足,请考虑告诉软件您有 Sound Blaster Pro,并且无需驱动程序。