虛擬機器 UEFI 上的 Alpine 設定無法啟動

虛擬機器 UEFI 上的 Alpine 設定無法啟動

我正在嘗試在虛擬機器(Proxmox)上設定 Alpine linux 以複製實體硬體(樹莓派)的佈局。真正的佈局是樹莓派3,安裝為“數據”模式(基於維基百科) 和 :

  • SD卡:2個分區(/boot、/)
  • USB硬碟:2個分割區(swap、/var)

我建立了以 UEFI 方式啟動的 VM,帶有 2 個 scsi 磁碟:

  • 8G、GPT、2 個分區(/boot 512M FAT32 flags=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

它應該有效。

相關內容