如何从软盘到硬盘安装MSDOS?


19

我有一个可启动的MSDos系统。我想将其安装在当前PC上,以便可以从HDD而不是Floppy启动。我怎样才能做到这一点?

我在virtualbox中这样做,但是一般的解决方案会很好。


2
好吧,首先,MS-DOS不支持SATA,因此您需要确保您使用的是DOS的旧版仿真,甚至看不到硬盘。不知道什么VirtualBox准确地称它。
CVn


7
这个问题使我想知道它是否会在新的retrocomputing.stackexchange.com上成为主题。我还不确定。:)
管道

@pipe我的答案是基于20年前在我的青春期兴趣中获得的知识,所以我会说这很复古。
Jarmund

7
@MichaelKjörling上次检查时,MS-DOS没有适用于任何类型硬盘的驱动程序。它依赖于BIOS提供的驱动程序,这意味着您可以在BIOS支持的任何硬盘上使用它。
卡巴斯德(Kasperd)'16

Answers:


30

免责声明:距离我上一次这样做已经过去了至少二十年,所以我可能忘记了一些细节。

如果您已从MSDOS软盘引导系统,则将相同的引导系统安装到本地硬盘驱动器的方法如下:

sys a: c:

(假设软盘为a:,硬盘驱动器为c:

sys是一个shell内建,随着dirdelcd,和其他的基本知识。值得注意的是,使用该sys命令将使驱动器只能通过MSDOS引导,并且我想我还记得您还必须command.com手动复制:

copy a:\command.com c:

command.com是msdos的主要组件,因此它包含shell内置文件。最重要的是有三个系统文件:autoexec.batsystem.ini,和config.sys。我不记得其中哪些(如果有的话)是必需的(config.sys可能),但是为了安全起见,您也可以使用与相同的方法将它们复制过来command.com

您可能还希望找到一些msdos安装软盘/映像,以获取有用的实用程序。我相信5.0或更高版本是我需要的所有“实用工具”。


编辑

对这个答案的评论确实是正确的:MSDOS.SYS并且IO.SYS也需要。运行sys上面的命令可能会(也可能不会)将它们复制过来;如果不是,则必须手动进行。


1
System.ini是一个Windows文件。其他2个不是严格必需的。对于基本的可引导系统,只需command.com就足够了。
托尼

7
@Tonny实际上,对于可启动的MS-DOS系统,您需要四个部分:必须正确安装启动扇区,并且MSDOS.SYS,IO.SYS和COMMAND.COM必须驻留在介质或分区的根目录中。早期版本的MS-DOS要求将(IIRC)IO.SYS放在磁盘上的固定位置,但是以后的版本则放宽了该要求,以便甚至可以对尚未格式化为引导文件保留空间的磁盘进行制作。可引导,无需重新格式化。COMMAND.COM不能一个人住,也永远都不会。
CVn

1
CP / M实际上通过将操作系统分为BIOS(基本输入/输出系统,处理硬件和软件之间的交互),BDOS(基本磁盘操作系统,处理简单的文件操作等)和CCP(控制台命令处理器,处理命令输入,解析和执行。在此模型中,MSDOS.SYS和IO.SYS提供BDOS,而COMMAND.COM提供CCP。IBM PC-DOS使用了不同的名称(我认为是IBMBIO.COM和IBMDOS.SYS),但是原理是完全相同的(它实质上是相同的代码库)。
CVn

2
@MichaelKjörling我只是用来自VirtualBox的www.allbootdisks.com/download/iso.html的DOS6.22映像亲自尝试了一下。Drvspac.bin和command.com都通过SYS命令复制。
托尼

2
如果您有一个空白驱动器,那么a FORMAT C: /S将负责初始化驱动器并复制引导所需的所有系统文件。
SeanC '16

8
  • 用旧的好命令制作系统软盘:FORMAT A:/ S命令或从具有MS-DOS系统文件的任何地方引导,并可以从中引导
  • 确保也有command.com,如果没有,请手动复制
  • 从FDD引导,并确保正确检测到要放入系统的驱动器,然后使用sys a:c:命令
  • 要在VM环境中使用,可以从http://www.allbootdisks.com/download/iso.html之类的站点获取可构建的DOS ISO 。使用相同的命令使C:\可启动。

9
如果您已经从软盘启动已经,DO NOT 运行 format a: /s,因为它会破坏你的启动软盘。
pt

是的,当然不应格式化它的原始引导软盘。
忘了

4

这样我就可以从HDD而不是Floppy引导。

请注意,安装MS-DOS可能比您要执行的工作更多。(其他一些答案只是简单说明如何使MS-DOS可启动,从而实现从硬盘启动的既定目标。)

但是,实际问题的另一部分是:

想要将其安装在当前PC上

安装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字节,即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”驱动器,该驱动器将安装引导加载程序(类似于running FDISK /MBR),并将主引导文件(最常用的名称为IO.SYSMSDOS.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在[选项]部分添加“ ”将导致Windows无法自动加载GUI。然后,如果您想自动加载GUI,则可以win从AUTOEXEC.BAT的底部(通过运行)完成(通过自定义,仅在某些情况下可以这样做)。这样做的唯一真正缺点(我记得曾经遇到过)是安全模式不会自动加载GUI,这是很可悲的。

我将在以后的一些步骤之前列出此过程。这不一定是因为此步骤更为重要/通用。相反,原因是如果要执行此步骤,那么现在(在后面描述的许多步骤之前)执行此操作可能是明智的。

更多跟进

您可能还需要替换一些其他文件

安装完所有内容后,我建议您进行一些常见更改:

  • 用更新的MS-DOS驱动程序替换MS-DOS的驱动程序。
    • 特别是将鼠标驱动程序更改为CuteMouse,因为它使用的“传统”内存要少得多。
    • 还可以考虑更换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
  • 通过首先加载XMS来加载EMS(使用DEVICE=\DOS\HIMEM.SYSDEVICE=\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之前。根据ComputerHope,这最好放在XMS驱动程序(HIMEM.SYS)之后。
  • 较新的第三方软件可以提供显着的改进。例如,UMBPCI在许多系统上都可以工作,并提供了更多有用的内存(如果完全可以工作,则可能会导致更少的软件兼容性问题)。还有其他解决方案,可以替代或另外使用,这些解决方案可以提供其他一些优异的结果(可能会带来一些兼容性成本-一台计算机上最有效的方法可能效果不佳,甚至根本无法接受,在另一个系统上)。
    • UMBPCI的网站:有关HIRAM的部分介绍了如何使用某些第三方软件来有效DEVICEHIGH=\DOS\HIMEM.SYS地卸载HIMEM High。(有用性可能很小,但是对于那些记住这一单一文件是我们唯一无法按需加载HIGH的文件的人,这可能会使我们这些人感到特别反感。)

除非您使用Win9x的“ auto”参数,否则使用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配置行可能会产生影响。如果您运行HELP或按F1键,则4DOS旨在加载4DOS的帮助(而不是MS-DOS的帮助,可以通过使用来获得帮助QBASIC/QHELP

声音

接下来,我建议重点关注增加对您关心的任何其他硬件的支持。例如,如果您想玩游戏,请确保声音正常。这可能涉及安装更多驱动程序。这可能涉及设置环境变量,例如ULTRASND(用于高级“ Gravis UltraSound”)或BLASTER(用于“ Creative Labs”的“ Sound Blaster”,以及兼容的卡)。

希望在安装声卡驱动程序的过程中为您设置环境变量。

Sound Blaster 16声音驱动程序的改进很少,并且可能占用的内存超过了所需。如果您的内存不足,请考虑告诉软件您有Sound Blaster Pro,并且没有驱动程序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.