网络引导
网络引导映像是小型 (< 1 MiB) 映像,可用于在系统启动时即时下载最新的 Arch Linux 版本。无需更新网络引导映像,最新版本将自动可用。网络引导镜像可以从 Arch Linux Netboot 页面下载。
BIOS引导[编辑 | 编辑源代码]
若要在基于 BIOS 引导的计算机上使用网络引导,需要 ipxe.lkrn
或 ipxe.pxe
映像。
使用 ipxe.lkrn[编辑 | 编辑源代码]
ipxe.lkrn
映像可以像 Linux 内核一样引导。任何 Linux 引导加载程序(如 GRUB 或 Syslinux)都可用于从硬盘驱动器、CD 或 USB 驱动器加载它。例如,Syslinux wiki 提供了在可引导介质上安装 [1]和配置[2] Syslinux 的说明。
您可以通过以下步骤制作启动 ipxe.lkrn
的闪存驱动器:
- 使用 lsblk 找出您的设备路径。让我们假设它是
/dev/sdc
。 - 在设备上创建MBR分区表。
- 使用 FAT32文件系统创建主分区并将其标记为活动。
- 挂载分区,在那里创建
boot/syslinux
目录并复制ipxe.lkrn
到该boot
目录。
# mount /dev/sdc /mnt # mkdir -p /mnt/boot/syslinux # cp ipxe.lkrn /mnt/boot
- 创建 syslinux 配置
/mnt/boot/syslinux/syslinux.cfg
DEFAULT arch_netboot SAY Booting Arch over the network. LABEL arch_netboot KERNEL /boot/ipxe.lkrn
- 卸载分区
# umount /mnt
- 安装 Syslinux MBR 和 Syslinux 本身
# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdc # syslinux --directory /boot/syslinux/ --install /dev/sdc1
- 现在,您应该能够使用ipxe.lkrn启动USB盘。
或者,您也可以通过运行以下命令来尝试使用 QEMU 的映像:
$ qemu-system-x86_64 -enable-kvm -m 2G -kernel ipxe.lkrn
使用 ipxe.pxe[编辑 | 编辑源代码]
ipxe.pxe
映像是 PXE 映像。它可以从现有的 PXE 环境进行链式加载。这允许配置一个 DHCP 服务器,以便从网络引导将始终引导到 Arch Linux 网络引导。
或者,您也可以从现有的 pxe 加载器(如 pxelinux)链式加载它。这是一个菜单条目示例:
LABEL arch_netboot_chain COM32 pxechn.c32 APPEND ipxe.a56af4e6a9a9.pxe
要使此示例正常工作,您必须将 pxechn.c32 复制到 pxelinux.0 所在的目录中。
UEFI引导[编辑 | 编辑源代码]
ipxe-arch.efi 镜像可用于在 UEFI 模式下启动 Arch Linux 网络引导。仅支持 64 位 UEFI。可以通过 efibootmgr 将映像添加为引导选项,从引导管理器(如 systemd-boot 或 rEFInd)启动,或直接从 UEFI shell 启动。您也可以从 UEFI 系统上的独立 U 盘启动它。
使用 efibootmgr 安装[编辑 | 编辑源代码]
首先安装 efibootmgr包 软件包。假设您的 EFI 系统分区(ESP) 位于 /dev/sdd1
并挂载在 esp
下,您应该按如下方式移动它 - 让我们也给它一个更友好的名称:
# mkdir esp/EFI/arch_netboot # mv ipxe.*.efi esp/EFI/arch_netboot/arch_netboot.efi
然后,您可以按如下方式创建启动项:
# efibootmgr --create --disk /dev/sdd --part 1 --loader /EFI/arch_netboot/arch_netboot.efi --label "Arch Linux Netboot" --unicode
从U盘启动[编辑 | 编辑源代码]
如果要从 USB 闪存驱动器启动 Netboot EFI 二进制文件,请将其复制到FAT格式分区上的默认/回退启动路径 (/EFI/BOOT/BOOTx64.EFI
)。然后,UEFI 系统应自动加载映像。
在GNU/Linux里[编辑 | 编辑源代码]
例如,假设 /dev/sdX
作为闪存驱动器,按如下方式准备 USB 闪存驱动器:
- If not done yet, create a partition table on
/dev/sdX
and a partition (/dev/sdXn
) on the device.提示:提示:最兼容的设置是将 MBR 分区表与类型如果尚未完成,请在设备上0c
为“W95 FAT32 (LBA)”的单个活动(可引导)主分区一起使用[3]/dev/sdX
创建分区表,并在设备上创建分区 (/dev/sdXn
)。 - 如果尚未完成,请将分区格式化为 FAT32:
# mkfs.fat -F 32 /dev/sdXn
- 挂载文件系统:
# mount /dev/sdXn /mnt
- 在挂载的文件系统上创建一个
/EFI/BOOT
目录:# mkdir /mnt/EFI /mnt/EFI/BOOT
- 复制
pxe-arch.efi
到 x64 UEFI 的默认引导路径:# cp pxe-arch.efi /mnt/EFI/BOOT/BOOTx64.EFI
- 卸载文件系统。
故障排除[编辑 | 编辑源代码]
引导 EFI 二进制文件给出“device error”[编辑 | 编辑源代码]
如果引导 EFI 二进制文件导致 Failed to execute ... device error
,请确保在 UEFI 设置中启用了网络堆栈。它可能需要初始化网络接口控制器 (NIC) 选项 ROM,因此此外还要查找“板载 LAN 引导 ROM”、“启动 PXE OpROM 策略”或类似设置。