虚拟机 UEFI 上的 Alpine 设置无法启动

虚拟机 UEFI 上的 Alpine 设置无法启动

我正在尝试在虚拟机 (Proxmox) 上设置 Alpine Linux,以复制物理硬件 (raspberry pi) 的布局。实际布局是 raspberry pi 3,安装为“数据”模式(基于维基百科) 和 :

  • SD 卡:2 个分区 (/boot、/)
  • USB 硬盘:2 个分区(swap、/var)

我创建了以 UEFI 启动的 VM,带有 2 个 scsi 磁盘:

  • 8G,GPT,2 个分区(/boot 512M FAT32 标志=boot、efi、/7.5G ext4)
  • 60G,GPT,2 个分区(交换 4G,/var 56G ext4)

使用 gparted livecd 创建分区,然后我使用 alpine-virt iso 重新启动。

我启动setup-alpine脚本,直到它要求磁盘(我按 Ctrl+C)。然后我安装磁盘布局并启动安装:

swapon /dev/sdb1
mount /dev/sda2 /mnt
mkdir -p /mnt/boot /mnt/var
mount /dev/sda1 /mnt/boot
mount /dev/sdb2 /mnt/var
apk add grub-efi efibootmgr
export BOOTLOADER=grub
export USE_EFI=1
setup-disk -m data /mnt

然后我看到此消息:You might need fix the MBR to be able to boot.当我尝试重新启动时,它无法在硬盘上启动。

我错过了什么样的魔法?

答案1

首先:MBR在这种情况下,该消息毫无意义。当安装到现有分区时,它始终会显示,但仅在使用 MBR 时才相关(呃)。

关键部分是 Alpine 期望 EFI 分区安装在/boot/efi 不是 /boot否则,安装脚本会混淆并用 syslinux 覆盖 grub,导致系统无法启动。

因此,请修改命令以执行以下操作:

mkdir -p /mnt/boot/efi
mount -t vfat /dev/sda1 /mnt/boot/efi

它应该可以工作。

相关内容