用于引导 ISO 文件的 BIOS/UEFI 模板映像

用于引导 ISO 文件的 BIOS/UEFI 模板映像

的创造者韓國已经发布了用于在 USB 上创建 BIOS/UEFI 启动分区的模板映像。

我如何使用该映像从 USB 启动 ISO 文件?

答案1

使用以下方式启动 ISO 文件韓國BIOS/UEFI GRUB 模板映像

有几种预置程序可用于多启动 Linux 系统:MultiBootUSB、Ventoy 和 YUMI。这些工具的内部工作原理并不十分透明。

现在,从头开始构建在 BIOS 和 ISO 模式下工作的 ISO 启动 USB 变得非常容易。

mkusb BIOS/UEFI GRUB 模板有多个版本。

https://phillw.net/isos/linux-tools/uefi-n-bios/dd_grub-boot-template-for-uefi-n-bios.img.xz 适用于 Windows 10 和 Linux。

https://phillw.net/isos/linux-tools/uefi-n-bios/mkusb_grub-boot-template-for-uefi-n-bios_fat32_4GB_use-in-wins.img.xz 为了在 Windows 7 至 Windows 10 中使用,它具有一个 4GB FAT32 No 1 分区,可在旧版本的 Windows 或 IOS 中访问。

MD5SUM 可在此处找到:https://phillw.net/isos/linux-tools/uefi-n-bios/grub-boot-templates-for-uefi-n-bios.md5

基本 ISO 引导程序(最低 4GB USB)

  • 使用 Rufus、Etcher、Gnome-Disks、mkusb 或等将其刷新mkusb_grub-boot-template-for-uefi-n-bios_fat32_4GB_use-in-wins.img到 USB。(如果需要,使用 7zip 从 xz 中提取)。

  • 将 Ubuntu(Kubuntu、Lubuntu ... Xubuntu)或 Linux Mint* 的任意版本的 ISO 文件复制到 USB。

  • 将 ISO 文件重命名为ubuntu.iso

  • 启动 USB 并确认一切正常。

Linux Mint、Elementary OS 和某些 Ubuntu 版本可能需要initrd.lz而不是initrdgrub.cfg。

带有持久分区 Alt1 的基本 ISO 引导程序(最小 4GB USB)每台计算机只允许一个持久分区。

  • 创建上面的基本 ISO 引导程序。

  • 启动 USB,打开 GParted 并将启动分区右侧的空白空间格式化为 ext4,并将其标记为casper-rw

带有持久分区 Alt2 的基本 ISO 引导程序(最低 4GB USB)

  • 创建上面的基本 ISO 引导程序。

  • 启动 USB,在启动菜单中选择仅实时选项并按e编辑。

  • 使用箭头键到达 linux 行的末尾(单词 后一个空格nopersistent)。然后输入,toram然后按 F10 进行启动。

  • 在终端中sudo umount -lrf /isodevice输入卸载 USB。

  • 打开 GParted。将 EFI 启动分区从右侧移出 1MB。将 BIOS 启动分区移到其旁边。单击应用,根据需要调整分区 No1 的大小。

  • 在未使用的空间中创建一个新的 ext4 分区,并为其贴上标签casper-rw

  • 还可以创建标记为 home-rw 的持久分区,它类似于完整安装中的 /home 分区。

  • 使用持久菜单项选项启动 USB。

命名 ISO 文件

  • 启动 USB 并grub.cfg使用

    sudo gedit -H /media/ubuntu/usbboot/boot/grub/grub.cfg
    

    添加正确的 ISO 名称(和路径),如下所示。注意:使用/etc/grub.d/40_custom编辑grub.cfg不适用于 ISO 文件。

    menuentry "ubuntu-20.04.1-desktop-amd64.iso live-only" {
       set isofile="/ubuntu-20.04.1/ubuntu-20.04.1-desktop-amd64.iso"
       loopback loop (hd0,1)$isofile
       linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash maybe-ubiquity nopersistent
       initrd (loop)/casper/initrd
    }
    

ISO 多启动器(最低 8GB USB)

  • toram如上所述使用 GParted启动并移动启动分区。

  • 调整 FAT32 分区的大小以填充空白空间。

  • 将首选的 Ubuntu 版本(Kubuntu、Lubuntu ... Xubuntu)ISO 复制到 USB。

  • 编辑 grub.cfg 为每个 ISO 提供一个唯一命名的菜单项。

具有多重持久性的 ISO 多启动器(16GB+USB)

  • 如上所述创建多重引导程序。

  • 如果尚不存在需要持久性的 ISO 文件,则将其添加到 FAT32 分区中。

  • writable为每个文件夹添加标记的持久性文件。

  • home-rw根据需要向每个文件夹添加标记的持久性文件。*

  • 编辑linux每个菜单项的行persistent,添加persistent-path=foldername

例子:linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash fsck.mode=skip persistent persistent-path=ubuntu-20.04.1

创建持久性文件:

sudo dd if=/dev/zero of=casper-rw bs=1M count=512
sudo mkfs.ext4 -F casper-rw
  • (将 512 替换为您所需的“MB 大小”,最大为 4000)
  • 对于 Ubuntu 20.04 及更高版本,请将其替换casper-rwwritable
  • 对于home-rw分区替换casper-rwhome-rw

额外调整

  • 启动到 RAM:toram在 grub.cfg menuentry linux 行末尾添加。

  • 消除磁盘检查:在 grub.cfg menuentry linux 行fsck.mode=skip末尾添加。live-only

  • 消除尝试/安装屏幕:maybe-ubiquity从 grub.cfg live-onlymenuentry linux 行中删除。

  • 安全图形模式:nomodeset在 grub.cfg menuentry linux 行末尾添加。

  • 要观察启动进度,请quiet splash从菜单项 linux 行中删除。

  • 个性化持久 ISO。转到设置/用户并添加新用户和密码。您可以为每个持久 ISO 创建新用户。

  • 其他菜单项请参阅:https://help.ubuntu.com/community/Grub2/ISOBoot/Examples

  • 从 USB 启动时,复制到磁盘的数据位于 isodevice 文件夹中。

  • 目前,home-rw 文件、持久路径和 Ubuntu 20.04 似乎存在一些问题。

这些模板需要编辑才能与其他 Linux 发行版兼容

  • 其他一些 Linux 发行版与 Ubuntu 有很多共同之处,但内部启动结构通常与标准 Ubuntu 和 Ubuntu 系列版本不同,因此有必要调整 grub 配置(在菜单项中grub.cfg)。
  • 韓國可以从几个非 Ubuntu ISO 文件(例如 Debian Live 和 Linux Mint)创建仅实时以及持久实时驱动器。

一些流行 Linux 发行版的附加菜单项:

Debian Live

menuentry "debian-live-10.5.0-amd64-gnome" {
    set isofile="/debian-live-10.5.0/debian-live-10.5.0-amd64-gnome.iso"
    loopback loop (hd0,1)$isofile
    linux (loop)/live/vmlinuz-4.19.0-10-amd64 boot=live findiso=$isofile persistence persistence-path=debian-live-10.5.0
    initrd (loop)/live/initrd.img-4.19.0-10-amd64
}

创建持久性文件:

sudo dd if=/dev/zero of=persistence bs=1M count=512
sudo mkfs.ext4 -F persistence

然后挂载它

mkdir perst
sudo mount persistence perst

创建 persistence.conf 文件

echo / union >persistence.conf
echo >>persistence.conf

将其移动到perst目录。

并卸载:

sudo umount perst

要创建持久分区:

创建一个 ext4 分区,标记它persistence并将 persistence.conf 文件放入其中。

相关内容