如何在旧 MS-DOS 中创建可启动软盘

如何在旧 MS-DOS 中创建可启动软盘

我有一台旧的 PHILIPS P3120,它从软盘驱动器运行自定义操作系统(DOS 类型)。
我想做个备份,所以我找到了一台带有软盘驱动器的 Windows 7 PC,并将文件从软盘复制到 USB 驱动器。
软盘停止启动。我收到“非系统磁盘或磁盘错误”。

我怀疑软盘中还有另一个分区(作为启动分区),当我将其放入现代 Windows PC 中时发生了一些事情,我无法再启动。

求像我这样的前辈帮忙啊!

答案1

我怀疑软盘中还有另一个分区(作为启动分区)

软盘上没有分区,但软盘可以包含引导扇区和保留区域。您也需要复制它们。

我将文件从软盘复制到了 USB 驱动器

不要复制文件,复制整个软盘。这是确保原始磁盘上的 DOS 变体也出现在第二张磁盘上的唯一方法。

例如这里怎么做。


如果原来的如果磁盘现在停止启动,那么下一个问题是系统对你有多重要。如果它非常重要,请不要再碰磁盘,直到你弄清楚问题出在哪里,并尽可能向知道他在做什么的人寻求帮助。

如果不太重要,下一步是检查 USB 驱动器上的所有扇区(有工具可以做到),看看它们至少在该驱动器上是否仍然完好。

另外,请编辑您的问题,添加有关磁盘的更多信息 - 软盘本身是双密度还是高密度?如果您有 USB 驱动器,我假设是 3.5 英寸?

如果您的 USB 驱动器在复制时将任何类型的信息写入原始磁盘(例如时间戳),则可能会发生各种情况(磁头未对齐、在 HD 驱动器上写入,而 DD 驱动器尝试读取,但由于磁头宽度不同而无法读取)。

答案2

可启动软盘的备份应通过对整个磁盘进行映像处理来完成(创建本质上是 .iso 文件...减去 ISO9660 部分)–原始写入过去是流行的 Windows 工具。如果您可以在 PC 上启动 Linux,cp或者ddddrescue都可以(还有一个适用于 Windows 的 dd 版本)。

在 UEFI 出现之前,制作可启动磁盘的关键部分实际上不是任何特定的文件,也不是任何特定的分区,而是存在的“引导扇区”外部任何分区。具体来说,磁盘的 0 扇区(称为 MBR)保存任何 BIOS 兼容磁盘的初始引导代码,并且不是可见为文件 – 必须逐扇区地复制,例如使用磁盘映像工具。

(您可能在 Windows 磁盘上看到的“NTLDR”或“BOOTMGR”文件 - 或 MS-DOS 上的等效文件“IO.SYS” - 不是 MBR;它们是第三这是继 MBR 和 VBR 之后的又一个阶段。只有 UEFI 为 PC 带来了让系统固件直接加载特定文件的做法。

通常,MBR 的唯一任务是跳转到特定分区的“卷引导记录”(VBR),该记录也几乎从不显示为实际文件,而必须按扇区复制。但也有例外,例如 GRUB 不进入 VBR。软盘(未分区)也不同;它们的扇区 0 直接保存特定的引导代码。

因此对于某些磁盘可能能够编写通用 MBR(和适用的 VBR),例如使用 MS-DOSsys命令(.SYS 和 .COM 文件看起来非常像 MS-DOS),但即使使用正确的版本也不能保证有效。1

您还需要确保新磁盘已在正确的文件系统中格式化;知道如何从 FAT12 磁盘启动的启动扇区不一定能理解 FAT16 或 FAT32,更不用说 NTFS 或 exFAT 了。(即使启动扇区能理解,启动的操作系统可能仍然不能理解——如果不进行重大黑客攻击,您就无法从 exFAT 文件系统启动 MS-DOS。)

简而言之,最简单的方法是创建一个全磁盘映像并将其写入 USB 记忆棒。(一旦您有了 .img 文件,您还可以将其提供给任何 VM 软件以用作虚拟软盘。)

这也忽略了一个事实:即使你在 U 盘上创建了完美的备份,现代 PC 也可能无法支持BIOS 风格的启动过程,或者至少默认禁用它(固件设置中的“CSM”选项)。


1(附注:对于现代 Windows 系统,bootsect命令类似 – 制作 BIOS 可启动的 Windows 安装 USB 盘需要复制文件使用 bootsect 编写标准 Windows MBR 和 VBR。

答案3

如何在旧 MS-DOS 中创建可启动软盘

参考:https://kb.iu.edu/d/adav

从实际 DOS 或兼容 DOS 的 DOS 提示符:

c:\> format a: /s- 会格式化磁盘(=删除其内容):然后将启动计算机所需的信息写入磁盘。这通常会添加一些文件,但也会添加一个引导扇区;具体添加什么取决于您的“DOS”版本。

如果您忘记添加/s,那么
C:\> sys a:
将纠正您的错误;除了可能替换启动所需的文件和启动扇区之外,不会擦除任何内容。
即 SYS 命令不会擦除软盘上的任何用户数据。


更多信息,摘自参考
sys 命令通过复制  
msdos.sys、io.sys 和 command.com 文件复制到软盘。  

要创建可用于在紧急情况下启动计算机的软盘,  
将以下文件从 c:\dos 复制到软盘(或 c:\windows\command 在  
Windows 95 的情况):

  格式化程序
  系统网站
  磁盘管理工具
  系统信息管理系统
  启动器
  edit.com (MS-DOS 6.x) 或
  编辑.exe(Windows 95)
  启动盘网站

如果你有 DOS 6.0 之前的版本,你还应该获取一个小的  
文本编辑器并将其放在软盘上。有几种这样的编辑器可用  
从:

  http://www.winsite.com/

在此应急软盘上,创建名为 autoexec.bat 和 config.sys 的文件  
内容如下:

    自动执行命令:

      回音关闭
      提示 $p$g

    配置系统:

      设备=himem.sys
      设备=emm386.exe /noems
      dos=高

您应该在可能使用紧急磁盘的同一台计算机上制作该磁盘。  
这将避免因使用以下版本启动计算机而导致的任何问题  
DOS 与硬盘上的版本不同。此外,您还应该扫描  
在创建软盘之前请检查是否存在病毒。  

来自我对另一个答案的评论的文字,复制到这里,稍微澄清一下:

磁盘无法再启动可能是由于时间太长,例如磁盘表面易碎。
但同时,我发现微软的东西很多时候都很“有用”,例如自动删除“危险”的东西,甚至还有防病毒软件附带的更多功能。例如,就在昨天,一台装有 W10 的虚拟机刚刚更新了防病毒软件,然后主机操作系统防病毒软件隔离了 *.vmdsk 的一部分(包含客户操作系统硬盘的一组文件之一!)

答案4

如果在其他地方找不到丢失的引导扇区,则解决方案:

从 FreeDOS 中获取 sys.com。使用 VM;将软盘中的所有文件放入驱动器 B:;在硬盘上安装 FreeDOS。在 a: 中格式化(虚拟)软盘。运行sys b: a:。检查软盘是否启动。可能可以。

为什么这样做有效?FreeDOSsys.com内部有一个传统的引导加载程序,可以引导大多数 MS 或 PC DOS 衍生产品。(实际上它有四个,1 个用于 FAT12,1 个用于 FAT16,1 个用于 FAT32 CHS,1 个用于 FAT32 LBA。)

相关内容