![使用 ISO 与在多启动 LiveUSB 中提取发行版之间有什么区别?](https://linux22.com/image/1361214/%E4%BD%BF%E7%94%A8%20ISO%20%E4%B8%8E%E5%9C%A8%E5%A4%9A%E5%90%AF%E5%8A%A8%20LiveUSB%20%E4%B8%AD%E6%8F%90%E5%8F%96%E5%8F%91%E8%A1%8C%E7%89%88%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我使用 YUMI 工具创建了一个包含多个 Linux 发行版的多启动 pendrivependrivelinux,默认情况下,它会将所选操作系统的 ISO 内容提取到目标 U 盘中的专用文件夹中;它也可以直接加载存储在 U 盘上的 ISO。网站引述:
与使用 grub 直接从 USB 启动 ISO 文件的 MultiBootISO 相反,YUMI 使用 syslinux 启动存储在 USB 设备上的提取的发行版,并在必要时恢复使用 grub 从 USB 启动多个 ISO 文件。
从实际角度来看,这两种方法有什么区别?选择其中一种会影响性能还是有其他优势?
上面的陈述似乎表明提取的发行版比直接从 ISO 文件运行的发行版更好(因为后者仅在“必要时”使用),但为什么呢?有什么好处?
我更感兴趣的是系统性能或启动后的差异,而不是 Syslinux 与 Grub 的功能。换句话说,从 ISO 启动的系统与从解压目录启动的系统有何不同?
答案1
我最初以为 YUMI 会将文件提取到硬盘上,但事实并非如此。我现在的理解是 YUMI 可以在 U 盘上存储以下文件:
- ISO 原样,或
- 从 ISO 中提取的文件作为分区内的文件系统
这就是为什么它可以使用 Syslinux 来启动提取的文件,但需要 GRUB 来从 ISO 启动。
我认为这里的想法是通过避免使用 ISO 文件系统造成的开销来提高性能。显然,用于提取文件的文件系统比 ISO 内置的文件系统更高效,毕竟 ISO 是 CD 的文件系统。
拥有两级访问权限可能还会产生额外的开销:USB 磁盘访问 ISO,然后访问 ISO 文件系统。这可能涉及 GRUB 的虚拟化类型开销,以使 Linux 相信 ISO 实际上是 CD。
我没有关于这两种架构(提取与 ISO)的相对性能的信息,并且改进(如果有的话)可能在很大程度上取决于您所做的工作类型。
答案2
Syslinux 的启动过程通常比 GRUB 更快,而且更基础。据我所知,Syslinux 无法处理多个 ISO,因此当出现这种情况时必须使用 GRUB。
答案3
这两个系统之间只有一个区别。那就是 ISO 只是一个文件。它是磁盘/文件系统的映像,已被压缩为易于使用的良好格式。
当 GRUB 从 ISO 启动时,它将创建一个到 ISO 的环回接口,以便运行该映像的实际操作系统可以像真实驱动器一样访问其上的文件。 类似于 CD 的安装方式。 这确实会导致问题,因为某些操作系统无法使用此方法。
当 SYSLINUX 从提取的文件系统启动时,不需要任何特殊的安装或接口,因为它与从硬盘启动完全一样。这适用于几乎所有支持不同启动目录的操作系统。
还有一种涉及 ISO 映像的单独方法。可以提取映像并将其加载到 RAM 中,就像提取到 RAM 中的 LiveCD 一样。