所以我一直在绞尽脑汁试图弄清楚我做错了什么。
我有两台不同的机器,想让这个功能运行。一台是 Dell Precision 5820,另一台是 Dell Precision 5810。我采用 Ubuntu 18.04.1 LTS Desktop 的标准 ISO(来自这里:https://www.ubuntu.com/download/desktop),使用 Brasero (从 Ubuntu 16.04 机器) 将其刻录到 DVD,然后使用该 DVD 在两台机器上顺利安装 Ubuntu (UEFI)。需要注意两点。两台机器都使用 RAID 控制器,5820 有一个 NVMe M.2 驱动器,而 5810 有一个 SSD。
现在我想要做的是自定义 ISO,使其能够使用最新的软件包更新进行无人值守安装。我能够使用预置文件并按照说明在 Ubuntu 16.04(BIOS/传统启动)上成功完成此操作这里 (Live CD 定制),这里(预先植入), 和这里。
因此,我现在使用 18.04 ISO,并按照 16.04 的步骤进行操作,并按照说明进行操作这里使其可 UEFI 启动。当我在 VirtualBox 中启动虚拟机(并启用 EFI)时,这似乎有效,但在我拥有的戴尔电脑上却不行。同样的电脑能够启动默认的 Ubuntu 18.04 映像,但不能启动我的自定义映像。我肯定我做错了什么。
当我使用如下方式检查两个 ISO 的文件系统时fdisk
:
$ sudo fdisk -l ubuntu-18.04.1-desktop-amd64.iso
Disk ubuntu-18.04.1-desktop-amd64.iso: 1.8 GiB, 1953349632 bytes, 3815136 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x663eb4c4
Device Boot Start End Sectors Size Id Type
ubuntu-18.04.1-desktop-amd64.iso1 * 0 3815135 3815136 1.8G 0 Empty
ubuntu-18.04.1-desktop-amd64.iso2 3737268 3741939 4672 2.3M ef EFI (FAT-12/16/32)
它们看起来完全相同,除了第一个分区的大小不同。由于我安装了一些更新,自定义 ISO 稍大一些。
答案1
好的,我按照这里的说明操作并成功了:
https://linuxconfig.org/legacy-bios-uefi-and-secureboot-ready-ubuntu-live-image-customization
我认为让它发挥作用的是从原始 ISO 创建 isohdpfx.bin 文件:
$ sudo dd if=ubuntu-16.04-desktop-amd64.iso bs=512 count=1 of=custom-iso/isolinux/isohdpfx.bin
而之前我已经安装了 isolinux 包,可以从 /usr/lib/ISOLINUX/isohdpfx.bin 获取