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


74

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

Rufus主界面

但是,有关该工具的文档实际上不存在,而且我找不到任何可以指定该程序用于此目的的DOS版本的信息。有人知道吗?


1
出于好奇,您为什么需要知道这一点?
Ooker

4
@Ooker-好奇心与我对已接受答案的评论中给出的原因混合在一起。我主要需要确保它还不是DOS 6.22,因此也没有浪费我的时间来寻找如何从6.22创建可启动USB的方法。
Hashim

2
几乎所有其他没有许可证冲突的机构都将FreeDOS用于此类引导盘。
eckes

Answers:


197

Rufus开发人员在这里。

正如@ magicandre1981正确指出的那样,Rufus提供的MS-DOS版本是Windows Millenium Edition的MS-DOS,“未打褶”以启用启动(我没有发明此补丁,而是从HP USB和其他USB拾起的。工具)。

此外,这也是重要的组成部分,鲁弗斯不会嵌入应用程序中的MS-DOS文件,但挑选他们从它运行Windows系统,因为,因为MS-DOS二进制文件是专有的,由微软的版权,它是非法的任何人,但微软发布MS-DOS二进制文件,无论是在一个zip文件或应用程序(如事实上,看来惠普陷入与微软的法律问题时,他们试图制造一个版本的自己嵌入Windows 98 MS-DOS文件的HPUSBFW实用程序,Microsoft很快就让他们停止了此操作)。

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

但是,随着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支持会造成很大的损失。另外,与使用MS-DOS(它是封闭源并且Microsoft早已停止支持)相反,FreeDOS是开放源代码并受到积极支持,因此使用FreeDOS通常会更好。


4
嗨,队友。感谢您的参与,并感谢您提供的出色工具。您介意在这里略去一下吗:superuser.com/questions/1228065/…。我似乎无法让Rufus从ISO安装MS-DOS 6.22,从您的意思来看,这似乎不是法律问题。我需要DOS 6.22,因为考虑到我将要运行的实用程序非常特殊,并且如果不是100%正确,它就有可能破坏昂贵的东西,因此我不能冒险使用替代方法,因此,我非常感谢您在那里提供的帮助。
Hashim

2
我无法使用FreeDOS刷新笔记本电脑上的BIOS,但可以使用Windows 98启动盘。就是说,我要做的就是出去在线查找启动磁盘映像。好像并没有通过它发送DMCA通知。
2015年

7
最好明确提及Windows ME的DOS版本标记为MS-DOS 8.0。来自Windows 95a和95OSR / 98 / 98SE的分别是MS-DOS 7.0和7.1。有几个人会指的是MS-DOS 7.11,但我不知道如果有什么加什么7.1
underscore_d

3
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的情况下启动进入保护模式。
科迪·格雷

2
正确。MS-DOS 7.10之前没有FAT32启动分区。还是任何 FAT32分区!您也将无法访问大容量硬盘,因为这些旧版本DOS的不知道什么LBA(逻辑块寻址),他们使用旧的ROM BIOS中断磁盘的新I / O,而不是调用“ INT 13h扩展”。其他琐事:您需要MS-DOS 4.00(正式有3.3,非正式有某些限制)才能支持FAT16(以前仅支持FAT12)。@Hashim
Cody Gray

36

他从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)

查看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 

哈哈,被击败了20秒。我对侦探工作+1,甚至没有想到源代码。我在实模式下浏览了Wikipedia页面,但我仍然不清楚。实际上,实模式有什么作用,此修补程序是否可以恢复其所有功能?
Hashim

仅出于一些有趣的背景,我还遇到了一个//开发人员谈论此问题的问题: github.com/pbatard/rufus/issues/545
Hashim

11
实模式是x86 cpus中的一种模式,可以无限制地直接软件访问所有可寻址内存,I / O地址和外围硬件。实模式不支持内存保护,多任务或代码特权级别。但这是实际使用DOS所必需的,但在Win95和Win98中导致稳定性问题。通过此删除,WinME更加稳定
magicandre1981'7

好的,我仍在主笔记本电脑上使用Windows 8,并且该文件仍包含在内。因此,仅旧版本提供此选项。
magicandre1981'7

2
当然,实模式也仅限于8086/8088的20位地址总线,因此您只能寻址1 MiB的内存。80286通过扩展到24位地址总线并添加保护模式来解除了这一限制,使CPU可以寻址16 MiB的内存(在1982年这是一个巨大的RAM,比大多数PC的固定存储要多)。保护模式286代码在实践中并不常见(我正在研究OS / 2和Xenix),而80386在1985年引入了32位保护模式,但又过了十年才使保护模式32位软件在PC上变得相当普遍。
CVn

10

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

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


4
看我的答案。他从Windows文件中获取DOS映像
magicandre1981'7
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.