
Я пытаюсь настроить Alpine linux на виртуальной машине (Proxmox), чтобы повторить схему физического оборудования (raspberry pi). Реальная схема — это raspberry pi 3, установленная в режиме «data» (на основевики) с :
- SD-карта: 2 раздела (/boot, /)
- Жесткий диск USB: 2 раздела (swap, /var)
Я создаю виртуальную машину, загружающуюся как UEFI, с двумя дисками 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). Затем монтирую разметку диска и запускаю install:
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
. В противном случае скрипты установки будут сбиты с толку и перезапишут grub на syslinux, что сделает систему незагружаемой.
Поэтому измените свои команды так, чтобы они выполняли следующее:
mkdir -p /mnt/boot/efi
mount -t vfat /dev/sda1 /mnt/boot/efi
и это должно работать.