答案1
Rufus 开发人员在这里。
首先,你列出的很多选项都是仅有的在高级模式下运行 Rufus 时列出(即当高级选项部分),因为它们是为那些已经了解其内容的人准备的。
首先,你必须明白 ISO 格式绝不专为 USB 启动而设计。ISO 是光盘的 1:1 副本,光盘介质与 USB 介质有很大不同,无论是在引导加载程序的结构、使用的文件系统、分区方式(没有分区)等方面。
因此,如果您有 ISO,您就不能简单地使用 USB 执行对光盘的操作,即从 ISO 读取每个字节并按原样按顺序复制到光盘上(即 CD/DVD 刻录机应用程序在写入 ISO 时所执行的操作)。
这并不是说这种 1:1 复制不能用于 USB,只是说 USB 介质的 1:1 复制与光盘介质的 1:1 复制完全不同,因此(除了使用 ISOHybrid 映像外,这些映像被设计为同时用作磁盘和光盘的 1:1 复制)不可互换。需要说明的是,在 Rufus 术语中,USB 介质的 1:1 复制称为DD Image
(您会在列表中看到该选项),而一些发行版(如 FreeBSD 或 Raspbian)实际上为 USB 安装提供了 DD 映像,以及为 CD/DVD 安装提供了 ISO。
因此,我们已经确定 ISO 映像实际上并不适合创建可启动 USB 媒体,因为它们相当于提供一个圆形钉以适应较小的方孔,因此,必须改变圆形钉才能适应。
现在您可能想知道,如果可启动 ISO 如此不适合,为什么大多数操作系统分销商都提供 ISO 映像而不是 DD 映像。好吧,除了历史原因之外,DD 映像的一个问题是,由于它们是分区文件系统,因此如果您在 USB 介质上创建 1:1 副本,并且您的介质比创建映像的人的介质大,那么您的介质的明显容量最终会缩小到原始 DD 映像的大小。此外,光盘(因此是 ISO)只能使用两种文件系统中的一种(ISO9660
或UDF
),所有这些文件系统都在所有主要操作系统中得到了很好的支持(这允许您在使用之前或之后查看映像内容),而 DD 映像实际上可以使用任何在现有的数千种不同的文件系统中,这意味着,即使您创建了可启动 USB,在启动之前,您可能也无法实际看到其中的任何内容。例如,如果您在 Windows 上使用 FreeBSD USB 映像,就会出现这种情况 — 一旦创建了 USB,Windows 将无法访问其中的任何内容,直到您重新格式化。
这就是为什么操作系统提供商倾向于尽可能坚持使用 ISO,因为它(通常)在所有操作系统上提供更好的用户体验。但这也意味着一些转换必须(通常)会发生这种情况,这样我们的圆形 ISO 钉就可以很好地装入 USB 闪存驱动器的较小方孔中。这与列表选项有何关系?我们马上就会谈到这一点。
通常需要删除的第一件事是ISO 使用的ISO9660
文件UDF
系统。大多数情况下,这意味着提取 ISO 中的所有文件并将其复制到文件系统上FAT32
,NTFS
这就是可启动USB 闪存驱动器通常使用。但当然,这意味着,无论谁创建了 ISO 系统必须已经采取了一些措施来支持FAT32
或NTFS
作为实时或安装的文件系统(并不是所有人,特别是那些过于依赖 ISOHybrid 的人,倾向于这样做)。
然后,还有实际的引导加载程序本身,即计算机从 USB 启动时执行的第一段代码。不幸的是,HDD/USB 和 ISO 引导加载程序是截然不同的东西,BIOS 或 UEFI 固件在启动过程中对 USB 和光学介质的处理也大不相同。因此,您通常不能从 ISO(通常是 El Torito 引导加载程序)中获取引导加载程序,将其复制到 USB,然后期望 USB 能够启动。
这是与我们的列表选项相关的部分,因为 Rufus 必须提供相关的引导加载程序,而它无法从 ISO 中获得。如果我们处理的是基于 Linux 的 ISO,那么它很可能会使用 GRUB 2.0 或 Syslinux,因此 Rufus 包含安装 USB 版本的 GRUB 或 Syslinux 的功能(因为 ISO 通常只包含这些 ISO 的特定版本)。现在,这通常在您选择ISO Image
并打开 ISO 时自动完成,因为 Rufus 足够智能,可以检测到需要应用哪种转换,但如果您想尝试一下,Rufus 会让您选择安装一些空白的引导加载程序,使您能够引导至 GRUB 或 Syslinux 提示符。从那里,如果您熟悉这些类型的引导加载程序,您可以创建/测试您自己的配置文件并尝试您自己的基于 Syslinux 或 GRUB 的自定义引导过程(因为在此阶段,您只需复制/编辑 USB 上的文件即可执行此操作)。
因此,我们现在可以看看列表中的选项:
- 操作系统:这将创建一个空白的版本的 MS-DOS(Windows Me 版),这意味着您将启动到 MS-DOS 提示符,仅此而已(如果您想运行 DOS 应用程序,则需要复制它)。请注意,此选项仅适用于 Windows 8.1 或更早版本,但不适用于 Windows 10,因为 Microsoft 从 Windows 中删除了 DOS 安装文件(并且只有 Microsoft 可以重新分发这些文件)。
- 自由DOS:这将创建一个空白的版本的自由DOS。FreeDOS 是 MS-DOS 的自由软件版本,它与 MS-DOS 完全兼容,但还具有开源的优势。与 MS-DOS 相反,任何人都可以重新分发 FreeDOS,因此 FreeDOS 启动文件包含在 Rufus 中。
- ISO 映像:如果你有可启动的 ISO,并且想要转变将其转换为可启动的 USB。请注意,由于通常需要进行转换,并且创建可启动 ISO 的方法多种多样,因此无法保证 Rufus 能够将其转换为 USB。但如果是这种情况,它会始终告诉您。
- DD 图像:如果您有可启动磁盘映像,例如 FreeBSD、Raspbian 等提供的映像,则应使用此方法。也支持
.vhd
(Microsoft 版本的 DD 映像),以及压缩(.gz
、、、、... )。.zip
.bz2
.xz
.Z
以上四个选项是您在常规模式下看到的选项。如果您以高级模式运行 Rufus,您还将有以下选择:
- Syslinux x.yz:安装空白的系统Linux(http://www.syslinux.org) 引导加载程序。将带您进入 Syslinux 提示符,仅此而已。您应该知道您需要从这里做什么。
- GRUB/Grub4DOS:与上文相同,但对于GRUB/Grub4DOS分别。将带您进入 GRUB 提示符,剩下的就由您自己决定了。
- ReactOS:安装ReactOS引导加载程序。这是实验性的,因为上次我检查时,ReactOS 从 USB 引导不太好。它在那里是因为它很容易添加,希望它能帮助 ReactOS 开发。
- UEFI:NTFS:这需要
NTFS
选择为文件系统。安装一个空白的 UEFI:NTFS引导加载程序。这可以在NTFS
不包含NTFS
驱动程序的 UEFI 平台上以纯 UEFI 模式(即非 CSM)进行引导。由于它是空白的,因此您需要将自己的/efi/boot/bootia32.efi
或复制到分区/efi/boot/bootx64.efi
上NTFS
才能使用。Rufus 自动使用 UEFI:NTFS 来解决 FAT32 的最大文件大小为 4GB 的问题,例如,它允许在 UEFI 模式下安装 Microsoft Server 2016,而无需拆分其 4.7GBinstall.wim
文件...
希望有所帮助。
PS:这是一个简化的概述,所以我希望大家不要开始挑剔一些故意地简化或保持沉默(例如,是的,我知道可以使用没有分区的 USB 闪存驱动器,是的,USB 和光盘也可以使用相同的文件系统,是的,一些启动过程可以将分区大小扩展到 USB 大小以解决明显容量较低的问题)。
答案2
Rufus 是一款 USB 驱动器格式化工具,也就是说,即使您对制作可启动驱动器不感兴趣,也可以使用它。顶部部分用于这种常规格式化,底部部分专门用于添加内容。
CD 通常没有使用不同文件系统和分区的选项。按照惯例,CD 作为介质具有单个“分区”,其中包含 ISO9660 或 UDF 文件系统和一些标准块大小。使用正确的工具可以进行其他格式化,但 Rufus 仅支持格式化 USB 驱动器。即使您设法创建了具有 MBR 和各种文件系统的 CD,它也可能无法启动,因为固件不需要它。
我认为 BIOS 和 UEFI 对可启动 CD 的处理方式类似,但它们对 USB 驱动器的格式要求不同。简单来说:UEFI 需要 FAT 分区和 .efi 文件,BIOS 需要初始引导代码驻留在 MBR 分区表中,而不关心文件系统类型。这意味着智能格式化软件应该包括 BIOS 和 UEFI 的选项,并适当地处理映像文件。我相信当您在下拉列表中选择“ISO 映像”时就会发生这种情况。
但下面的下拉列表并不是真正针对 USB 的。相当于老式 CD 刻录的是 DD 映像,可能与Unix dd命令。其他选项允许添加引导加载程序,这很有用,原因有二:
- 您的映像文件中可能没有用于启动的启动代码。映像可用于 CD 启动并不意味着它包含 USB 驱动器的启动代码(尽管混合映像确实存在)。
- 另一个引导加载程序可能会提供您喜欢的选项,或者可以更好/更快地加载您的操作系统。
理论上,CD 刻录机还可以提供覆盖/添加引导加载程序的选项,就像下拉列表中的选项一样,即用于 CD 的 Rufus(但我不知道它是否存在)。
该列表中的 ISO 选项大概如果您的固件目标与您的图像属性相匹配,则内部使用 DD 模式。但这只是我的猜测。
答案3
在一般的你不必为此担心。这些选项通常是特殊选项,或者是您在特定情况下想要的特定引导加载程序 - 出于某种原因,我有一组不同的选项,但 ISO Image 和 DD Image 是“默认”选项。Syslinux 和 Grub 是 Linux 引导加载程序,您可以设置它们以链式加载其他内容。UEFI NTFS 将其设置为 UEFI 可引导 NTFS 分区,以供您使用。我没有 MS DOS,freedos 制作了一个基本的 freedos 可引导 USB,而 reactos 会要求您提供 ISO。
从实际角度来说,您需要做的就是单击右侧的小磁盘图标,将其指向 ISO,然后让 rufus 来处理它。
至于“为什么这么复杂”——使用“刻录” ISO,您实际上只是制作了一个完美的副本。使用 USB 启动,需要额外的步骤(rufus 将其完美地隐藏起来)。
例如,您可以选择不同的系统固件选项(经典 BIOS 或 UEFI?),这有时很重要。您可以选择文件系统(尽管 fat32 始终是安全的选项)。将其与“您想将其刻录到哪个驱动器”进行对比
答案4
我忍不住注意到,您将刻录 ISO 映像与格式化和准备 USB 闪存驱动器进行比较是不成比例的。您必须:
将 ISO 刻录到光盘与将 VHD 写入 USB 闪存驱动器进行比较
...或者...
比较使用 Nero Burning ROM 格式化和准备可启动光盘与格式化和准备可启动 USB 闪存驱动器
在第一种情况下,ISO 和 VHD 都已格式化并准备好结构,只需要复制到适当的介质上。
在第二种情况下,您必须面对有关可启动 CD 和 Nero Burning ROM 的各种复杂选择,例如仿真方法(软盘、HDD、无仿真)和引导扇区起始偏移。
现在,Rufus 不仅可以格式化和准备可启动的 USB 闪存驱动器,还可以选择 ISO 映像、剥离其与磁盘相关的结构、提取其文件、将它们转储到 USB 闪存驱动器上,然后添加使 USB 闪存驱动器可启动的功能。这是一项伟大的壮举。不要低估它。