我已阅读其他答案;但没有一个能回答我关于不同限制的问题。
目标:将 USB 分区为 3 个部分:数据 (FAT32) 、Kon Boot (可使用 EFI 启动)、Linux Live CD (可使用 EFI 启动)。当然,USB 需要能够在任何 PC 上完成所有这些操作(如果它可以从中启动),而不管 PC 的启动配置如何。
问题:
Windows 只能看到第一个分区(通过安排解决)。
无法启动 Linux;Kon Boot 立即接管(由 rEFInd 解决)。
无法安装 Live Linux CD。请参阅“编辑“
建议的解决方案:
使用数据分区作为第一个分区(将在 Windows 中自动出现/挂载)。
然后在第二个分区中使用 rEFInd,并将其配置为启动第三个(Kon Boot)分区或第四个(Linux Live CD)分区。
那么这能行吗?我该怎么做(如使用命令 :P)?
编辑
我可以确认一切正常,除了最后一部分安装 Live Linux CD。问题是 Linux CD 的安装位置与dd if=Linux.iso of=/dev/sdX
我实际需要的位置不同sdXY
,Y
可能是 USB 的特定分区。如果我使用sdXY
它,它就会损坏并且无法启动。
答案1
有效!
在阅读了一些有关所有工作原理的资料后,我按照以下方法操作,结果发现 rEFInd 可以很好地适应您交给它的任何内容。
为了解决第一个问题,只需先将 USB 分区为具有 FAT32 数据分区。
要解决第二个问题,即无法检测到某些可启动文件,请使用名为重新索引(下载 CD-R 包)。它将检测所有
.efi
加载器。在其分区中安装 Kon Boot。
现在这是最棘手的部分(至少对我来说)。制作可启动的 Linux CD 而不安装专用的 ESP 分区。经过大量的反复试验,即使使用了不同的引导加载程序,我还是简单地挂载了映像并按
EFI
原样提取了文件夹。然后我以存档的形式访问了 ISO 文件并提取了所有内容。最后,我转到我想要的 USB 分区并粘贴提取的 ISO 内容,然后还粘贴了 EFI 文件夹,这两个文件夹都位于分区的根目录中。
现在 rEFInd 可以允许我随意启动任何系统。
进一步探索:简化USB的结构。
看到 rEFInd 如此宽容,我会尝试将所有可启动文件混合到一个分区中,每个系统放在一个文件夹中而不是一个分区中,同时仍保持第一个数据分区对 Windows 可见。从我尝试发现的结果来看,进一步简化为一个单独的 FAT32 分区并不难……我认为它可以用于存储和启动。
最终设置:
- 创建 3 个分区:FAT32(以 GB 为单位用于数据)、FAT32(以 150MB 为单位用于 ESPUSB)、EXT4(Linux Live)
- 在 ESPUSB 中创建此结构:[EFI]、[VARIABLE]、[VARIABLE]
[EFI] 是一个名为EFI
[VARIABLE] 取决于已安装的 Linux ISO 文件夹旁边是否有任何其他文件夹EFI
。只需在 ESPUSB 中复制已安装的 ISO 结构即可
- 按照文档说明,在 ESPUSB(EFI/boot/*.efi 结构)中安装 rEFInd
- 解压 KonBoot zip 文件并将“boot”重命名为“KonBoot”。然后取出“KonBoot”和“USBFILES”文件夹并粘贴到 ESPUSB/EFI/[HERE]
- 从已安装的 Linux ISO 进入 EFI 文件夹,并将“Boot”重命名为“LinuxBoot”。然后取出“LinuxBoot”文件夹并将其粘贴到 ESPUSB/EFI/[HERE]
最终的 ESPUSB 结构将是:
EFI +- 变量
EFI > 启动 (适用于 rEFInd) + KonBoot + LinuxBoot
^ 它们每个里面都有 *.efi 文件来启动特定的选项。
- 然后要创建可启动的 Linux Live CD,只需提取所有 Linux.iso 内容并将其粘贴到 EXT4 分区中(可选:还可以在 EXT4 的根目录中创建 vmlinuz.img 和 initrd.img 链接)。
这可能对其他人有用,所以我把它留在这里。它还将作为我未来的笔记;如果你很快要关闭超级用户,请告诉我,版主。
答案2
你需要一个特殊 USB 闪存盘系统会将其识别为固定磁盘,而不是可移动磁盘。否则 Windows 只会看到 1 个分区。