如何从内部 SSD 启动 USB 安装程序 ISO 映像?

如何从内部 SSD 启动 USB 安装程序 ISO 映像?

如何设置内部 SATA SSD 以便它启动 Ubuntu 安装程序 ISO 映像?这比使用 USB 记忆棒要快得多。

dd将映像文件放入磁盘分区,然后设置链式加载此分区的简单方法grub行不通。为什么不行?启动 ISO 映像的关键功能是什么?拇指驱动器有此功能,但内部驱动器没有此功能?

答案1

  1. 获取uuid磁盘上的分区:

    命令 blkid
    /dev/sda1:UUID="6f2b5b8c-f0af-4d4d-a32b-2481a9e2c5d7“类型=“ext4”PARTUUID=“694a694a-05”
        

  2. 将 ISO 存储在分区的根目录中,在此示例中我们将使用ubuntu-19.04-desktop-amd64.iso

  3. 挂载 ISO 并menuentry从中复制第一个文件/boot/grub/grub.cfg,然后将其粘贴到/etc/grub.d/40_custom

    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    
    menuentry "Try Ubuntu without installing" {
        set gfxpayload=keep
        linux   /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash ---
        initrd  /casper/initrd
    }
    
  4. 更改以下内容大胆的

    菜单项“无需安装即可试用 Ubuntu”{
                                                 # 你在步骤 1 中获得的 uuid
        搜索--no-floppy--fs-uuid--set = root 6f2b5b8c-f0af-4d4d-a32b-2481a9e2c5d7
        设置 iso_path=/ubuntu-19.04-desktop-amd64.iso
        环回循环 $iso_path
        设置 gfxpayload=保持
        Linux的   (环形)/casper/vmlinuz 文件=/cdrom/preseed/ubuntu.seed boot=casper quiet splashiso-scan/文件名=$iso_path---
        初始化文件  (环形)/casper/initrd
    }
    
  5. 更新 grub:

    sudo update-grub
    

下次重新启动时,您将有一个用于启动 ISO 的条目。

答案2

格鲁布 2.04

Ubuntu 19.10 及更高版本中的 Grub 2.04 不会在 UEFI 模式下链式加载 ISO 文件。

请参阅 [Bug 1851311] Re: Grub 2.04 内存不足错误,https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1851311

有关解决方法的背景信息,请参阅帖子 17 至 21。

在 SSD 上挂载 ISO 文件的步骤

  • 使用带有 usb-pack-efi 选项的 mkusb 将 Ubuntu 安装到 SSD。(这会将 grub 2.02 替换为 2.04)。

  • 删除 ISO9660 分区 sdx4 和 casper-rw 分区 sdx5,将 usbdata NTFS 分区 #1 拉伸到其位置。

  • 将 ISO 放入 NTFS 分区上的 iso 文件夹。

  • 更新 usbboot 分区 #2 上的 grub.cfg 以循环安装 ISO。

  • 使用 grub 2.04 在 BIOS 中启动,使用 grub 2.02~Beta2 在 UEFI 中启动

在 SSD 上启动 ISO 文件并在 RAM 中运行它应该可以快速完成设置。

答案3

RAM 比 SSD 快几个数量级。

相对较快的 SSD 可以实现 456MB/秒的实际写入速度。

RAM 的理论最大速度以其 PC 编号表示,因此 PC3-12800 内存模块的传输速度为 12,800MB/秒(大约比 SSD 实际性能快 30 倍)。

Ubuntu 安装程序映像将在 RAM 中运行。您需要的 RAM 大于映像的大小。(>2.5GB)。

Mkusb 将制作一个具有启动到 RAM 选项的 USB,或者在启动时,您可以按 shift,然后按 F6 并键入空格,然后按 toram,然后按 Enter。

答案4

一般意见

我注意到答案非常不同。我认为这是因为我们以不同的方式阅读了您的问题。请说得更清楚一些:

  • 或者编辑你的问题以使其更具体,以便我们了解你想要什么,
  • 或者,如果其中一个答案正好针对您想要的,您可以接受它,然后通过这种方式让我们知道(如果您让我知道我的答案不是您想要的或需要的,我可以删除它以减少其他人的困惑。)

你的[原始]问题和我的回答

如何设置内部 SATA SSD 以便它启动 Ubuntu 安装程序 ISO 映像?这比使用 USB 记忆棒要快得多。

如果您使用的工具允许,您可以将 SATA SSD(内部 SATA 或外部 eSATA 或通过 USB 适配器或盒子连接)视为 USB 记忆棒。

你说得对,它比使用 USB 记忆棒快得多。

幼稚的做法dd将映像文件复制到磁盘分区,然后设置grub链式加载此分区不起作用。为什么不行?启动 ISO 映像的关键功能是什么?拇指驱动器有此功能,但内部驱动器没有此功能?

我已经完成了dd。这样就可以了,但是如果使用简单的克隆方法,将会造成驱动器空间的严重浪费。

但是,有几种方法可以创建带有持久性分区的持久实时驱动器,您可以在其中使用克隆映像“后面”的剩余驱动器空间,或创建专用的分区表。

我已经多次这样做了,可以确认它有效。我还创建了持久实时驱动器,mkusb,编辑分区表(当从驱动器本身启动实时“到 RAM”时)并在未分配的驱动器空间中创建已安装的系统。(安装系统时甚至可以完全覆盖实时系统,但如果您犯了错误,则必须从头开始,所以我不建议这样做。)

您也可以使用其他方法通过 grub 启动。

如果您想设置内部或外部 SSD 以便启动 Ubuntu 安装程序 ISO 映像,以下链接描述了可行的方法。

help.ubuntu.com/community/mkusb

help.ubuntu.com/community/mkusb/persistent

如何更轻松地使用 Ubuntu 19.10 制作持久实时驱动器?- 您可以mkusb-sedd直接将其用于内部目标驱动器,因为mkusb-plug需要可移动目标驱动器

USB 上的 Ubuntu - 在 BIOS 和 UEFI 模式下启动

help.ubuntu.com/community/Grub2/ISOBoot/示例

help.ubuntu.com/community/Installation/UEFI-and-BIOS/stable-alternative-18.04.1

相关内容