鲁弗斯允许创建可启动的 MS-DOS 闪存驱动器。它可作为选项立即执行此操作,无需指定映像或 ISO。
但是,关于该工具的文档实际上并不存在,我找不到任何说明该程序为此目的使用哪个版本的 DOS 的资料。有人知道吗?
答案1
他从 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)
查看其他评论程序集这是来自 WinME(DOS 8.0)的 DOS 文件,他做了同样的修补显示在这里:
* diskcopy.dll 中的 COMMAND.COM 和 IO.SYS 来自 WinME 残缺版本 * 删除了实模式 DOS => 必须对其进行修补: * IO.SYS 000003AA 75 -> EB * 命令.COM 00006510 75 -> EB
答案2
Rufus 开发人员在这里。
正如正确指出的那样@magicandre1981Rufus 提供的 MS-DOS 版本是 Windows Millenium Edition 中的 MS-DOS,“未受损坏”以启用启动(我没有发明这个补丁,而是从 HP USB 和其他工具中获得的)。
另外,这是最重要的部分,Rufus 确实不是在应用程序中嵌入 MS-DOS 文件,但从运行它的 Windows 系统中获取它们,因为 MS-DOS 二进制文件是 Microsoft 专有和版权的,因此非法的除了微软之外的任何人不得分发 MS-DOS 二进制文件,无论是 zip 文件还是应用程序(事实上,当惠普试图生产嵌入 Windows 98 MS-DOS 文件的 HPUSBFW 实用程序版本时,惠普似乎与微软发生了法律纠纷,微软很快就让他们停止了这种做法)。
因此,直到 Windows 10,我们依赖于这样一个事实,即 MS-DOS 文件(来自 Windows ME)包含在diskcopy.dll
Windows 用于创建 DOS 可启动软盘的 DLL()中(实际上包含完整的可启动软盘 FAT 映像),并从那里挑选文件,我们可以合法地这样做。
然而,随着 Windows 10 的推出,微软放弃了创建可启动软盘的功能(因为使用 Windows 10 的人预计不会从软盘启动)并删除了diskcopy.dll
。这意味着我们不再有合法的方式来创建 MS-DOS 可启动 USB 闪存驱动器,最终结果是:
- 如果您在 Windows XP 至 Windows 8.1 上使用 Rufus:你可以使用以下任一方式创建可启动 USB自由DOS或 MS-DOS (WinME 版本)。
- 如果您在 Windows 10 或更高版本上使用 Rufus:您只能使用 FreeDOS 创建可启动 USB。
实际上,我还没有遇到过有人明确表示 FreeDOS 在 MS-DOS 可以工作的地方无法工作的情况,这就是为什么我不认为 Windows 10 中失去对 MS-DOS 的支持是一个很大的损失。此外,与使用 MS-DOS(它是闭源的,微软很久以前就停止了对它的支持)相比,FreeDOS 是开源的并积极支持,因此您通常最好使用 FreeDOS。
编辑:请注意,由于我们发现实际上可以diskcopy.dll
直接从 Microsoft 下载一份副本,因此 Rufus 在 4.1 版本中重新启用了 MS-DOS 驱动器的创建,即使在 Windows 10 或更高版本上运行时也是如此(尽管它当然需要连接到互联网才能首先获取 DLL)。
答案3
我决定自己测试一下。我使用 Rufus 创建了一个运行 MS-DOS 的可启动 USB,然后在我的笔记本电脑上启动它。进入 MS-DOS 后,我运行命令ver
来确定其版本,结果返回的是 Windows Millennium,又名 Windows ME。
我猜这意味着 Rufus 使用的 MS-DOS 版本是从 Windows ME 中提取的,而不是早期的独立版本之一。我不太确定这个 ME 集成版本与早期版本有何不同。