为什么创建可启动 USB 的选项与创建 CD 的选项有所不同?

为什么创建可启动 USB 的选项与创建 CD 的选项有所不同?

因此,在我看来,创建可启动 CD 非常简单。

您需要做的就是将 .iso 文件刻录到磁盘,然后就可以启动了。

现在有了 USB 驱动器,您就有了更多选择。

在此处输入图片描述

有人可以解释一下这两者之间的区别吗?

也许可以简要概述一下不同的选择。

答案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)只能使用两种文件系统中的一种(ISO9660UDF),所有这些文件系统都在所有主要操作系统中得到了很好的支持(这允许您在使用之前或之后查看映像内容),而 DD 映像实际上可以使用任何在现有的数千种不同的文件系统中,这意味着,即使您创建了可启动 USB,在启动之前,您可能也无法实际看到其中的任何内容。例如,如果您在 Windows 上使用 FreeBSD USB 映像,就会出现这种情况 — 一旦创建了 USB,Windows 将无法访问其中的任何内容,直到您重新格式化。

这就是为什么操作系统提供商倾向于尽可能坚持使用 ISO,因为它(通常)在所有操作系统上提供更好的用户体验。但这也意味着一些转换必须(通常)会发生这种情况,这样我们的圆形 ISO 钉就可以很好地装入 USB 闪存驱动器的较小方孔中。这与列表选项有何关系?我们马上就会谈到这一点。

通常需要删除的第一件事是ISO 使用的ISO9660文件UDF系统。大多数情况下,这意味着提取 ISO 中的所有文件并将其复制到文件系统上FAT32NTFS这就是可启动USB 闪存驱动器通常使用。但当然,这意味着,无论谁创建了 ISO 系统必须已经采取了一些措施来支持FAT32NTFS作为实时或安装的文件系统(并不是所有人,特别是那些过于依赖 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.efiNTFS才能使用。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命令。其他选项允许添加引导加载程序,这很有用,原因有二:

  1. 您的映像文件中可能没有用于启动的启动代码。映像可用于 CD 启动并不意味着它包含 USB 驱动器的启动代码(尽管混合映像确实存在)。
  2. 另一个引导加载程序可能会提供您喜欢的选项,或者可以更好/更快地加载您的操作系统。

理论上,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 闪存驱动器进行比较是不成比例的。您必须:

  1. 将 ISO 刻录到光盘与将 VHD 写入 USB 闪存驱动器进行比较

    ...或者...

  2. 比较使用 Nero Burning ROM 格式化和准备可启动光盘与格式化和准备可启动 USB 闪存驱动器

在第一种情况下,ISO 和 VHD 都已格式化并准备好结构,只需要复制到适当的介质上。

在第二种情况下,您必须面对有关可启动 CD 和 Nero Burning ROM 的各种复杂选择,例如仿真方法(软盘、HDD、无仿真)和引导扇区起始偏移。

现在,Rufus 不仅可以格式化和准备可启动的 USB 闪存驱动器,还可以选择 ISO 映像、剥离其与磁盘相关的结构、提取其文件、将它们转储到 USB 闪存驱动器上,然后添加使 USB 闪存驱动器可启动的功能。这是一项伟大的壮举。不要低估它。

相关内容