我正在尝试在虚拟机 (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
它应该可以工作。