Rufus 使用什么版本的 MS-DOS 来制作可启动的 USB?

Has*_*ziz 78 bootable-media ms-dos rufus

Rufus允许创建可启动的 MS-DOS 闪存驱动器。它作为一个选项开箱即用,无需指定图像或 ISO。

鲁弗斯主界面

但是,该工具的文档实际上并不存在,而且我找不到任何说明该程序为此目的使用的 DOS 版本的任何内容。有人知道吗?

Ake*_*keo 202

Rufus 开发人员在这里。

正如@magicandre1981正确指出的,Rufus 提供的 MS-DOS 版本是 Windows Millenium Edition 中的 MS-DOS,“完好无损”以启用启动(我没有发明这个补丁,而是从 HP USB 和其他工具)。

此外,这也是重要的组成部分,鲁弗斯不会嵌入由它运行Windows系统的应用程序中的MS-DOS文件,但挑选起来,因为,因为MS-DOS二进制文件是专有的,由微软的版权,除了 Microsoft 之外,其他任何人分发 MS-DOS 二进制文件都是非法的,无论是在 zip 文件中还是在应用程序中(事实上,HP 似乎在试图生成其版本时与 Microsoft 发生了法律问题HPUSBFW 实用程序嵌入了 Windows 98 MS-DOS 文件,微软很快让他们停止这样做)。

因此,在 Windows 10 之前,我们依赖于 MS-DOS 文件(来自 Windows ME)包含在diskcopy.dllWindows 用于创建 DOS 可启动软盘(实际上包含完整的可启动软盘 FAT 映像)的 DLL ( ) 中的事实,并从那里挑选文件,我们可以合法地这样做。

但是,随着 Windows 10 的推出,Microsoft 放弃了创建可启动软盘的功能(因为预计没有人使用 Windows 10 会从软盘启动)并删除了diskcopy.dll. 这意味着我们不再有合法的方法来创建 MS-DOS 可启动 USB 闪存驱动器,最终结果是:

  • 如果您在 Windows XP 到 Windows 8.1 上使用 Rufus:您可以使用FreeDOS或 MS-DOS(WinME 版)创建可启动 USB 。
  • 如果您在 Windows 10 或更高版本上使用 Rufus:您只能使用 FreeDOS 创建可启动 USB。

在实践中,我还没有遇到过来自某人的切实报告,表明 FreeDOS 在 MS-DOS 的地方不起作用,这就是为什么我不认为 Windows 10 中 MS-DOS 支持的丧失是一个很大的损失。另外,与使用封闭源代码且 Microsoft 很久以前停止支持的 MS-DOS 不同,FreeDOS 是开放源代码并得到积极支持,因此您通常最好使用 FreeDOS。

  • 最好明确指出来自 Windows ME 的这个版本的 DOS 被标记为 MS-DOS 8.0。Windows 95a 和 95OSR/98/98SE 分别是 MS-DOS 7.0 和 7.1。一些人会提到 MS-DOS 7.11,但我不确定它是否添加到 7.1 中会怎样 (7认同)
  • 嘿伙计。感谢您的参与,并感谢您提供了一个很棒的工具。你介意在这里说明一下吗:https://superuser.com/questions/1228065/how-do-i-create-a-bootable-flash-drive-running-ms-dos-6-22。我似乎无法让 Rufus 从 ISO 安装 MS-DOS 6.22,而且从你所说的来看,这似乎不是一个法律问题。我需要 DOS 6.22,因为我不能冒险使用替代方案,因为我将运行的实用程序非常小众,如果不是 100% 正确,有可能破坏昂贵的东西,所以我真的很感谢你在那里的帮助。 (4认同)
  • MS-DOS 7.10 添加了 FAT32 支持,@underscore_d。这就是 7.10 和 7.00 之间的巨大差异。另请注意,没有“DOS 7.1”这样的东西。MS 的版本号总是 X.YY。网络上流传的 DOS 7.1 副本是某些人拼凑起来的,他们拿了 95OSR2/98/98SE 随附的 DOS 版本的副本,然后用文本编辑器破解 COMMAND.COM,使其报告 7.1 版。而且,当然,只是为了完整起见,DOS 8.00 是 WinME 附带的那个删除了实模式支持的版本,因此 DOS 启动到保护模式,并集成了 HIMEM。 (3认同)
  • 我无法使用 FreeDOS 在我的笔记本电脑上刷新我的 BIOS,但能够使用 Windows 98 启动盘。也就是说,我所要做的就是出去在线查找启动磁盘映像。它不像是通过它发出 DMCA 通知。 (2认同)
  • 正确的。在 MS-DOS 7.10 之前没有 FAT32 引导分区。或者*任何* FAT32分区,就此而言!您也将无法访问大硬盘,因为这些旧版本的 DOS 对 LBA([逻辑块寻址](https://en.wikipedia.org/wiki/Logical_block_addressing))一无所知,而且它们使用旧的 ROM BIOS 中断调用进行磁盘 I/O,而不是较新的“INT 13h 扩展”。其他琐事:您需要 MS-DOS 4.00(官方为 3.3,有一定限制的非官方)才能支持 FAT16(以前仅支持 FAT12)。@哈希姆 (2认同)

mag*_*981 38

他从 Windows 文件中提取版本 diskcopy.dll

/* Extract the MS-DOS files contained in the FAT12 1.4MB floppy
   image included as resource "BINFILE" in diskcopy.dll */
static BOOL ExtractMSDOS(const char* path)
Run Code Online (Sandbox Code Playgroud)

查看dos.c中来自 WinME (DOS 8.0) 的 DOS 文件的其他注释,他进行了相同的修补,如下所示

* 来自 diskcopy.dll 的 COMMAND.COM 和 IO.SYS 来自 WinME 残缺版本  
* 删除了实模式 DOS => 它们必须被修补:  
* IO.SYS 000003AA 75 -> EB 
* COMMAND.COM 00006510 75 -> EB 

  • 实模式是 [x86 cpu](https://en.wikipedia.org/wiki/Real_mode) 中的一种模式,具有对所有可寻址内存、I/O 地址和外围硬件的无限直接软件访问。实模式不支持内存保护、多任务或代码特权级别。但这对于真正的 DOS 使用是必需的,但在 Win95 和 Win98 中会导致稳定性问题。删除后,WinME 更加稳定 (11认同)
  • 当然,实模式也仅限于 8086 的/8088 的 20 位地址总线,因此只能寻址 1 MiB 的内存。80286 通过扩展到 24 位地址总线并添加保护模式解除了这一限制,允许 CPU 寻址 16 MiB 的内存(这是 1982 年的大量 RAM,比大多数 PC 拥有的*固定存储*还要多)。保护模式 286 代码在实践中并不是那么常见(我在看你,OS/2 和 Xenix),虽然 80386 在 1985 年引入了 32 位保护模式,但又过了十年,保护模式 32 位软件在 PC 上变得相当普遍。 (3认同)

Has*_*ziz 10

我决定自己测试一下。我使用 Rufus 创建了一个运行 MS-DOS 的可启动 USB,然后在我的笔记本电脑上启动它。在 MS-DOS 中,我运行该ver命令以确定其版本,该命令返回 Windows Millennium,又名 Windows ME。

我猜这意味着 Rufus 使用的 MS-DOS 版本是从 Windows ME 中提取的,而不是早期的独立版本之一。这个 ME 集成版本与早期版本有何不同,我不完全确定。

  • 请参阅我的 [答案](https://superuser.com/a/1228138/174557)。他从 Windows 文件中获取 DOS 映像 (4认同)

归档时间:

查看次数:

29543 次

最近记录:

6 年,2 月 前