与CD相比,为什么有不同的选项来创建可启动USB?


20

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

您需要做的就是将.iso文件刻录到磁盘上,并且该文件可启动。

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

在此处输入图片说明

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

也许简要介绍不同的选择。


这应该是开发人员的问题。我们可以推测为什么CD和USB在此软件中具有不同的选项,但是只有开发人员才能真正回答这个问题。
迈克尔·弗兰克

@MichaelFrank至少可以用于启动拇指驱动器和其他东西。
威廉

您正在谈论的CD将ISO中的复杂内容打包在一起。这很复杂,但是也很灵活。有一些简单的可启动USB创建工具,它们采用可启动的ISO并将其应用到USB,但是就像您所想到的“简单” CD刻录一样,它们隐藏了复杂性,因此不那么灵活。
music2myear

Answers:


34

Rufus开发人员在这里。

首先,您列出的许多选项在以高级模式运行Rufus时(即,在显示“ 高级选项”部分时)才会列出,因为它们是针对已经知道其用途的人员使用的。

首先,您必须了解ISO格式从未设计用于USB引导。ISO是光盘的1:1副本,光盘介质与USB介质非常不同,无论是在其引导加载程序的结构,它们使用的文件系统,如何分区(它们都没有), 等等。

因此,如果您有ISO,就不能简单地使用USB来做光盘,就像从CD读取每个字节并按顺序将其按顺序复制到光盘(即CD / DVD刻录机应用程序在编写ISO时会这样做。

这并不是说USB不会存在这种1:1副本,只是USB介质的1:1副本将与光盘介质的1:1副本完全不同,并且(除了使用ISOHybrid映像外,因此,光盘和光盘的1:1副本均无法互换。作为记录,在Rufus术语中,USB介质的1:1副本称为DD Image(您将在列表中看到该选项),并且某些发行版(例如FreeBSD或Raspbian)实际上为USB安装提供了DD映像以及ISO。用于CD / DVD安装。

因此,我们已经确定,ISO映像实际上不适合创建可引导的USB介质,因为它们等效于提供圆钉以适合较小的方孔,因此必须更改圆钉以适合。

现在,您可能想知道为什么,如果可启动的ISO非常不合适,那么大多数OS发行商都提供ISO映像而不是DD映像。好吧,出于历史原因,DD映像的问题之一是,由于它们是分区的文件系统,因此,如果您在USB介质上创建1:1副本,并且您的介质大于谁创建映像,然后,您的介质的视在容量最终将减少到原始DD映像的大小。同样,光盘和ISO只能使用两个文件系统(ISO9660UDF)之一,而所有这些文件系统在很长一段时间内都已在所有主要OS中得到很好的支持(这使您可以窥见图片内容使用之前或之后),DD Images可以按实际使用存在的数千种不同文件系统中的任何一种,这意味着,即使创建了可引导USB,在引导之前,您可能仍无法实际看到其中的任何内容。例如,如果您在Windows上使用FreeBSD USB映像,情况就是这样-创建USB后,Windows将无法访问其上的任何内容,直到您重新格式化。

这就是OS提供商倾向于在可能的情况下坚持使用ISO的原因,因为它(通常)可在所有OS上提供更好的用户体验。但这也意味着必须(通常)进行某种转换,以便我们的圆形ISO钉可以很好地装入USB闪存驱动器的较小方孔中。这与列表选项有何关系?我们来了。

一个通常需要到达的第一件事是ISO9660UDF文件系统的ISO使用。在大多数情况下,这意味着将所有文件从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包括安装GRUB或Syslinux的USB版本的能力(因为ISO通常只包含那些ISO的特定版本)。现在,当您选择ISO Image并打开一个ISO 时,这通常会自动完成,因为Rufus足够聪明,可以检测到需要应用哪种转换,但是如果您想尝试一下,Rufus可以选择安装一些BLANK引导加载程序,使您可以引导到GRUB或Syslinux提示符。从那里开始,如果您熟悉这些类型的引导加载程序,则可以创建/测试您自己的配置文件,并尝试自己的基于Syslinux或GRUB的自定义引导过程(因为在此阶段,您仅需复制/编辑文件在USB上执行此操作)。

因此,我们现在可以遍历列表中找到的选项:

  • MS-DOS:这将创建MS-DOSBLANK版本(Windows Me版本),这意味着您将引导至MS-DOS提示符,仅此而已(如果要运行DOS应用程序,则需要复制)。请注意,此选项仅在Windows 8.1或更早版本上可用,但在Windows 10上不可用,因为Microsoft从Windows删除了DOS安装文件(只有Microsoft可以重新分发这些文件)。
  • FreeDOS的:这将创建一个空白的版本FreeDOS的。FreeDOS是MS-DOS的自由软件版本,与MS-DOS完全兼容,但也具有开源的优势。与MS-DOS相对,任何人都可以重新分发FreeDOS,因此FreeDOS启动文件包含在Rufus中。
  • ISO映像:如果您具有可启动的ISO,并且要将其转换为可启动的USB ,则应使用此选项。请注意,由于通常需要进行转换,并且有成千上万种创建可引导ISO的方法,因此不能保证Rufus能够将其转换为USB。但是它总是会告诉您是否是这种情况。
  • DD Image:如果您具有可引导的磁盘映像,例如FreeBSD,Raspbian等提供的可引导磁盘映像,则应使用此方法。.vhd也支持(这是微软版本DD图像),以及压缩(.gz.zip.bz2.xz.Z...)。

上面的四个选项是您在常规模式下看到的选项。如果您在高级模式下运行Rufus,您还将有以下选择:

  • Syslinux x.yz:安装BLANK Syslinux(http://www.syslinux.org)引导程序。将带您到Syslinux提示符,仅此而已。您应该从这里知道您需要做什么。
  • GRUB / Grub4DOS:与上面相同,但分别用于GRUB / Grub4DOS。将带您到GRUB提示符,由您自己找出其余的信息。
  • ReactOS:安装一个ReactOS引导程序。这是实验性的,因为我上次检查时,ReactOS不能很好地从USB启动。之所以在这里是因为它很容易添加,希望可以对ReactOS的开发有所帮助。
  • UEFI:NTFS:这需要NTFS选择为文件系统。安装BLANK UEFI:NTFS引导程序。这样可以NTFS在不包含NTFS驱动程序的UEFI平台上以纯UEFI模式(即,不是CSM)启动。因为它是空白的,所以您需要复制自己的副本/efi/boot/bootia32.efi/efi/boot/bootx64.efi将其复制到NTFS分区上,以使其有用。UEFI:NTFS被Rufus自动使用以解决FAT32的最大文件大小为4GB的问题,例如,它允许以UEFI模式安装Microsoft Server 2016,而无需拆分其4.7GB install.wim文件...

希望能有所帮助。

PS:这是一个简化的概述,所以我希望人们不要对那些故意愚蠢或保持沉默的方面不屑一顾(例如,是的,我知道有可能没有分区的USB闪存驱动器,是的,也可以使USB和光纤使用相同的文件系统,是的,某些引导过程具有将分区大小扩展到USB大小的能力,以解决较低的视在容量问题。


次要nitpick:“ PS不要nitpick”部分是不必要的;)
jiggunjer

2
哇,有人四处走走,并且删除了我对以上评论的答复(“我只是知道有人必须对某事进行挑剔;)”),尽管它与上述内容完全一样幽默?不酷,superuser.com,不酷...
Akeo

我想他们只是想要更少的噪音?从技术上讲,我的笑话可能会被认真解释,因此无法删除?
jiggunjer

我考虑过这种解释,但这充其量是微不足道的。没有冒犯,但您的笑话和我的笑话都没有给讨论带来任何好处。他们只是为了逗乐读者。因此,我看不到主持人将如何选择删除一个而不删除另一个。如果有的话,我的回答部分存在,是为了使读者清楚地知道,我将您的评论视为面颊回答中的一种舌头,仅此而已,以消除它被负面解释的可能性。因此,我仍然对为什么有人选择删除我的答复感到困惑。海事组织,有更好的方法来消除“噪音” ...
Akeo

@ Akeo,DD应该参考吗?
Pacerier

4

Rufus是USB驱动器的格式化工具,即,即使您对制作可启动驱动器不感兴趣也可以使用。顶部是用于这种常规格式的,底部是特定于添加内容的。

CD通常无法选择使用不同的文件系统和分区。按照惯例,CD作为一种介质,具有ISO9660或UDF文件系统的单个“分区”以及一些标准块大小。使用正确的工具可以进行其他格式化,但是Rufus仅支持格式化USB驱动器。即使您设法用MBR和各种文件系统创建CD,由于固件不希望它也可能无法引导。

BIOS和UEFI对可启动CD的处理方式相似(我认为),但它们对USB驱动器的格式要求不同。为简化起见:UEFI需要FAT分区和.efi文件,BIOS需要初始引导代码驻留在MBR分区表中,而不关心文件系统类型。这意味着智能格式化软件应包括BIOS和UEFI的选项,并适当处理映像文件。我相信这是当您在该下拉列表中选择“ ISO映像”时发生的情况。

但是下面的下拉列表并不是真正针对USB的。DD映像相当于老式CD刻录,可能与Unix dd命令有关。其他选项允许添加引导加载程序,这很有用,原因有两个:

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

从理论上讲,CD刻录机还可以提供覆盖/添加下拉列表中的引导加载程序的选项,例如CD的Rufus(但我不知道它是否存在)。

如果您的固件目标与映像的属性匹配,则该列表中的ISO选项可能在内部使用DD模式。但这只是我的猜测。


3

一般你不必理会这一点。这些选项通常是特殊选项,或者是您在特定情况下想要的特定引导程序-由于某些原因,我有不同的选项集,但是ISO映像和DD映像是“默认”选项。Syslinux和Grub是linux引导加载程序,您可以将其设置为连锁加载其他内容。UEFI NTFS可以将其设置为UEFI可启动NTFS分区,以适应您的任何使用。我没有MS DOS,freedos制作了一个基本的freedos可启动USB,reactos要求您提供ISO。

实际上,您需要做的就是单击右侧的小磁盘图标,将其指向ISO,然后让rufus处理。

至于“为什么这么复杂”-使用“刻录” ISO,您实际上只是在制作一些完美的副本。通过USB引导,还有其他步骤(rufus可以将其漂亮地隐藏起来)。

例如,您可以选择有时很重要的不同系统固件选项(经典BIOS或UEFI?)。您可以选择一个文件系统(尽管fat32始终是一个安全的选择)。将此与“您要将其刻录到哪个驱动器”进行对比


2

我不禁注意到,您在刻录ISO映像,格式化和准备USB闪存驱动器方面的比较并不恰当。您必须:

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

    ...要么...

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

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

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

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


1
我如何刻录vhd文件,为什么没有更多的人分发它们?
威廉

1
大多数闪存驱动器是单分区或无分区的,因此在复制文件时仅制作它们的映像就没有任何意义。(VHD是一种非常复杂的格式。)但是,对于硬盘而言,情况却截然不同。因此,Acronis True Image可以在VHD文件中逐个扇区地制作硬盘映像,然后将其还原。
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.