制作可启动的 LiveUSB 意味着什么?

hol*_*ram 7 usb mount iso

我必须在 PC 上安装 Ubuntu,我看到我必须从 Ubuntu iso 文件制作可启动的 LiveUSB。但是,我无法理解使用 Rufus 之类的程序制作可启动 LiveUSB 与在 USB 上复制 .iso 文件之间的技术区别是什么。为什么不够复制呢?

Mar*_*ogi 9

由于问题的性质更多是外行(至少,这是我的理解),我想集中精力并尝试用简单的语言而不是技术来回答,以解决提问者@holo gram的疑问。

当 CPU 上电时会发生什么?

您可能知道 RAM 或物理内存是 CPU 读取和执行指令的唯一地方。但 RAM 是易失性存储器,因此当 CPU 通电时,RAM 是空的。

那么在这段时间内,指令是从哪里加载到 RAM 中的呢?它通常是硬盘。

但是计算机是一台虚拟机,它如何理解在 HDD 中寻找第一条指令的位置?

什么是 BIOS(基本输入/输出系统)?

  1. BIOS 是在您打开计算机后启动的程序。
  2. BIOS 对系统中的所有不同硬件组件进行开机自检,以确保一切正常。
  3. 它搜索并加载引导加载程序。
  4. 您可以更改引导加载程序的顺序,即它是 BIOS 的一部分。
  5. BIOS 会查看 MBR(主引导记录)或 GPT(GUID 分区表),在其中找到实际的引导加载程序。
  6. 在 LINUX 中,它通常是 GRUB(Grand Unified Bootloader)。一个系统可以有多个内核实例,所以在这种情况下它会问你要哪个内核实例?
  7. BIOS 不仅是一个程序,也是一个固件。也就是说,这个 BIOS 部分是硬连线在主板芯片中的。

在此处输入图片说明 Figure-1: A typical BIOS Chip.

有了这个背景,现在的问题是,“如何从“不可启动”的随身碟加载 iso 文件?

您的主要问题是“将 iso 文件复制到 USB 中启动还不够吗?”

答案是“是的,你可以”,前提是你必须自己重新编写 BIOS 程序。与其 BIOS 寻找引导加载程序,不如让 BIOS 完成引导加载程序的工作!在您的情况下,可以在复制后直接从随身碟加载 iso 文件!没问题,BIOS程序可以做到这一点!

但是有什么影响呢?

  1. 因此,BIOS 永远不会知道引导加载程序的下落,因为它自己完成这项工作。
  2. 将引导加载程序代码添加到 BIOS 中会使其变胖并且可能不适合内存芯片。因此,您也在干预硬件!
  3. 硬盘中不会有任何引导记录,因为 BIOS 知道如何引导。硬盘将只包含程序和数据。
  4. 如果您有双启动桌面,BIOS 仅加载 Ubuntu iso 而不是 Microsoft windows iso,因为它不知道该 iso 文件。
  5. 因此,您将再次重写 BIOS 程序以合并 windows iso。这个过程会使BIOS程序变得更胖。
  6. 如果您明天带来另一个新的 iso 文件,那么您将不得不坐下来重写 BIOS 以合并它!
  7. 重写和使 BIOS 程序越来越大会引入错误和错误,因此您的计算机可能会经常无法启动。

因此,与其干涉 BIOS 程序,不如拥有一个紧凑且无错误的 BIOS 程序,其知识仅限于查找引导加载程序。这使得有必要使用诸如Rufus.

什么是“可引导”随身碟中的引导加载程序?

引导加载程序是一个程序,它驻留在一个用 fat32 文件系统格式化的大约 300 MB 大小的小分区中。

iso只有在满足以下两个条件时,您的文件才会引起 BIOS 的注意:

  • pendrive 中必须存在引导加载程序(只有当 pendrive 使用 Rufus 等工具可引导时才有可能)。
  • order of sequence of bootloaders在 BIOS 设置中,您的引导加载程序应该先于其他引导加载程序(参见图 2)。即它应该在优先级列表中占据第一位。

在您的 pendrive 引起 BIOS 的注意后,BIOS 会靠近 pendrive 的小启动分区并加载bootloader. 然后您bootloader随后加载您的 iso 图像。

因此,如果您只是在 pendrive 中复制一个 iso 文件,那么什么都不会发生并且永远像石头一样留在那里!如上所述,您的 iso 映像应该引起 BIOS 的注意以启动操作!

在此处输入图片说明 Figure-2: A typical BIOS setup with a sequence of bootloaders

创建 UEFI 可引导 Linux U 盘

我们将从 Linux 发行版的 ISO 开始,创建一个带有 Linux 的可引导 U 盘。由于我们想要创建一个能够启动 UEFI 系统的 U 盘,因此我们需要一个可以执行此操作的 ISO。ISO 需要特殊的 EFI 引导加载程序

确保您下载的是 AMD64 版本的 ISO!您可以从以下链接下载此 ISO:http : //releases.ubuntu.com/18.04/ 要从ISO  创建可引导 U 盘,我们在 Windows 上使用 Rufus 工具。Rufus 可以从官网https://rufus.akeo.ie下载,最新版本为 Rufus 3.4,大小为 1 MB。

Bionic Beaver使用 Rufus准备可启动 U 盘的过程:

  1. 单击“选择”以浏览 Ubuntu ISO 文件的位置并选择相同的文件。
  2. 将“分区方案”设置为“GPT”,这是 UEFI 计算机的默认分区方案。
  3. 选择“目标系统”为“UEFI(非 CSM)”。
  4. 将“新卷标”设置为“Ubuntu 18.04.2 LTS amd64”。
  5. 选择“文件系统”为“FAT32(默认)”。
  6. 将“集群大小”设置为“4096 字节(默认)”
  7. 启用“快速格式化”并选择“2 pass”,如下面的屏幕截图所示。
  8. 确保在选择 ISO 后 Rufus 没有更改分区方案。
  9. 单击开始按钮准备可启动的 Ubuntu U 盘。

在此处输入图片说明 Figure-3: Ubuntu 18.04.02 Bionic Beaver

Disco Dingo使用 Rufus准备可启动 U 盘的过程:

Bionic Beaver除了步骤 1 和步骤 4 的两个更改外,请按照上述相同的程序进行操作:

  • 步骤 1:浏览Ubuntu 19.04 LTS amd64ISO 文件并选择相同的文件。

  • 步骤 4:将“新卷标”设置为“Ubuntu 19.04 amd64”.

在此处输入图片说明 Figure-4: Ubuntu 19.04 Disco Dingo

当 Rufus 准备就绪时,您将拥有带有 UEFI 引导加载程序的 U 盘。使用此棒启动机器允许您启动 Ubuntu 18.04.02 LTS 实时会话,以便您可以访问所有默认的 Ubuntu 实用程序。Ubuntu ISO 文件可以从以下 URL 下载:http//releases.ubuntu.com

如何使用可启动 USB 升级 ubuntu?

您只需要访问 PC 的 bios,然后从可启动 USB 启动,然后选择“安装 Ubuntu”

然后会出现一堆选项(见下图)。选择“升级 ubuntu”。完毕

在此处输入图片说明 Figure-5: Installation type

  • 如果您只需要 UEFI 启动,您可以将 ISO 解压缩到带有启动标志的 FAT32 格式的闪存驱动器。UEFI 仅 USB 密钥,只需将 ISO(7 zip 或类似文件)解压缩到 FAT32 格式的闪存并设置启动标志。http://askubuntu.com/questions/395879/how-to-create-uefi-only-bootable-usb-live-media Grub 可以使用 loopmount 命令直接启动许多 ISO,但您必须安装 grub。BIOS 引导需要 MBR 中的引导加载程序或 dd 在将 ISO 复制到闪存驱动器时创建的混合 DVD/闪存驱动器。只有一些 ISO 是混合类型(Windows 不是)。 (2认同)

sud*_*dus 6

我必须在 PC 上安装 Ubuntu,我看到我必须从 Ubuntu iso 文件制作可启动的 LiveUSB。但是,我无法理解使用 Rufus 之类的程序制作可启动 LiveUSB 与在 USB 上复制 .iso 文件之间的技术区别是什么。

为什么不够复制呢?

必须有一个引导加载程序——计算机的 UEFI/BIOS 系统必须找到代码,这将使引导过程继续,直到整个操作系统运行。

  • 在旧式 BIOS 模式(别名 CSM 别名传统模式)中,部分引导加载程序位于驱动器的“头端”。

  • 在较新的 UEFI 模式中,部分引导加载程序驻留在 EFI 系统分区中。

  • 在这两种情况下,该过程从第一个引导加载程序阶段进一步链接,直到整个操作系统运行。

为了实现这一点,驱动器必须在驱动器的相关位置(CD 或 DVD 磁盘、USB 笔式驱动器、存储卡、SSD 或硬盘驱动器)包含程序代码。

Ubuntu iso 文件包含与启动所需内容相匹配的代码。

  • 一个 32 位的 iso 文件可以刻录到 DVD 磁盘或克隆到 U 盘或存储卡,它可以在 BIOS 模式下启动。

  • 64 位 iso 文件可以刻录到 DVD 磁盘或克隆到 USB 随身碟或存储卡,它可以在 BIOS 模式和 UEFI 模式下启动。

有几种克隆工具,

  • Ubuntu 16.04 LTS 和更新版本中的启动盘创建器
  • gnome-disksLinux 中的磁盘别名
  • Linux 中的mkusb
  • Windows 中的Win32 磁盘映像程序,
  • 鲁弗斯dd模式在Windows中。

还有几个提取工具。他们不克隆,而是创建或使用文件系统并从 iso 文件中提取内容,并且在必要时还创建引导加载程序,并检查引导加载程序是否指向相关文件以确保引导过程成功。

显然,这更复杂,因此在修改新版本 Ubuntu 的引导结构时,必须修改提取工具。但是如果你想创建一个持久的 Ubuntu 实时驱动器,你必须使用一个解压工具。

提取工具示例。

  • Ubuntu 和 Debian 中的mkusb(可以制作持久的实时驱动器)
  • Linux、Windows 和 MacOS 中的unetbootin(可以制作持久的实时驱动器)
  • 标准模式下的Rufus(在 Windows 中)作为可靠的工具享有盛誉(但不能制作持久的实时驱动器)。

如果您只是将 iso 文件复制到标准 USB 驱动器,则 iso 文件将作为文件系统中的文件保存在那里。不会找到引导加载程序(除非它之前使用其他方法/工具放置在那里),并且它不会是可引导驱动器。

如果您想看看幕后并“自己动手”,请使用以下链接(以及来自它们的链接),