我有一份 Slackware 64 位 DVD 安装 ISO 的副本。我已将此映像刻录到 DVD 并使用它来正确安装发行版。我想尝试在 USB 闪存驱动器上提供此图像。我将一个 32 GB 的驱动器分为两个分区: 1,大约 22 GB 用于数据; 2、大约 10 GB 用于安装程序(设置为可引导)。我将安装 iso 的内容添加到闪存驱动器上的可引导分区。然而,当我尝试从 USB 安装程序启动时,我收到一条关于无法找到操作系统的消息。
我之前已将 Slackware 安装到闪存驱动器上的可启动分区,并使其在不同的计算机上正确启动。这一次,我想要安装程序而不是已安装的系统。
我究竟做错了什么?
答案1
这不是基于 Slackware 经验的答案,但问题似乎是,iso 不应该被添加到闪存驱动器中。引导加载程序可能不应该从 CD 以外的其他来源加载。
相反,您应该将 iso 复制到 USB 并拥有可以处理 iso 的引导加载程序。 SysLinux 引导加载程序 MEMDISK 工具应该可以处理此类用例:http://www.syslinux.org/wiki/index.php/MEMDISK#ISO_images。
或者,如果您仍然想加载提取的磁盘映像,请尝试将引导加载程序(Syslinux,可能 grub2 也可以)安装到闪存驱动器中,并将引导菜单项手动链接到内核和 initrd。
答案2
详细信息取决于 ISO、它的设计方式以及您的 BIOS 配置。
对于 LEGACY 模式下的 BIOS:
ISO 永远不能存储在分区内。 ISO 是完整的磁盘映像。不是分区映像。
在最好的情况下,您可以将完整的映像写入原始磁盘,例如 USB 记忆棒。但请注意,经典磁盘和 CD 的启动顺序根本不相似,因此,当许多 ISO 映像现在设计为存储在 USB 记忆棒上时,情况并非总是如此,并且可能不适用于所有 ISO 。
设计用于在 USB 记忆棒上写入的 ISO 也可以在硬盘驱动器上运行,但并非总是如此。
您永远无法在刻录 CD/DVD 后重新读取它,从而直接创建 USB 记忆棒。您可能认为它会起作用,但实际上却行不通。
最好的情况是,您必须先将 ISO 粘贴到 USB 存储器或硬盘中,然后,您可以编辑分区表,在存储介质的末尾创建更多分区;这可能会起作用。但后面的分区将无法启动。
永远不要忘记......在你的第一个分区之前,有MBR!然后,每个分区一个 BR(使用 BIOS 分区)。这就是为什么仅仅粘贴分区是行不通的;您还需要复制 MBR,并且要使 MBR 工作,每个分区都需要位于预期的地址。
对于 UEFI 模式下的 BIOS:
我相信可以分割 ISO 的分区,并将它们存储在 USB 记忆棒或硬盘驱动器上,并使它们与其他分区共享磁盘以供其他用途,但我还不知道该怎么做。
您还可以将 ISO 粘贴到介质上,并在剩余可用空间的情况下添加新分区。