AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1269462
Accepted
C.S.Cameron
C.S.Cameron
Asked: 2020-08-24 05:52:55 +0800 CST2020-08-24 05:52:55 +0800 CST 2020-08-24 05:52:55 +0800 CST

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

  • 772

mkusb的创建者发布了一个模板映像,用于在 USB 上创建 BIOS/UEFI 引导分区。

如何使用此映像从 USB 引导 ISO 文件?

live-usb usb persistence usb-installation
  • 1 1 个回答
  • 2561 Views

1 个回答

  • Voted
  1. Best Answer
    C.S.Cameron
    2020-08-24T06:23:53+08:002020-08-24T06:23:53+08:00

    使用mkusb BIOS/UEFI GRUB 模板映像引导 ISO 文件

    有一些预构建的程序可用于多重引导 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 到 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而不是initrd在 grub.cfg 中。

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

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

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

    具有永久分区 Alt2 的基本 ISO 引导程序(最小 4GB USB)

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

    • 启动 USB,在启动菜单中选择 live-only 选项并按下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-rw为writable
    • 对于home-rw分区替换casper-rw为home-rw

    其他调整

    • 引导至 RAM:toram在 grub.cfg menuentry linux 行的末尾添加。

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

    • 消除 Try/Install 屏幕:maybe-ubiquity从 grub.cfg live-onlymenuentry linux 行中删除。

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

    • 要查看启动进度quiet splash,请从 menuentry 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)。
    • mkusb可以从几个非 Ubuntu ISO 文件(例如 Debian Live 和 Linux Mint)创建仅实时驱动器和持久实时驱动器。

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

    Debian 直播

    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 文件放入其中。

    • 4

相关问题

  • 我这里有一个 22 号陷阱!除非我更新,否则没有互联网[关闭]

  • 修复 USB 驱动器自动通知

  • 如何在没有 CD 的情况下安装 Ubuntu?

  • 如何从命令行重置 USB 设备?

  • 如何使用 Mac 创建 Ubuntu live USB?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve