Я пытаюсь запустить существующую установку Archlinux внутри Virtualbox на хосте Windows. Linux использует EFISTUB, Windows - собственный загрузчик EFI.
- /dev /sda1 - раздел EFI, также смонтированный как /boot для linux на хосте. Он содержит vmlinuz-linux и initramfs. Диспетчер загрузки Windows тоже есть.
- /dev /sda2 - раздел Linux
- /dev /sda3 - раздел Windows
Я создал файл .vmdk, который представляет разделы sda1 & sda2, затем запустил Vbox с правами администратора. Прикрепил .vmdk к ВМ. Затем загрузился с live-DVD iso внутри виртуальной машины, выполнил
# efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux" -l /vmlinuz-linux -u "root=/dev/sda2 rw initrd=/initramfs-linux.img"
(я знаю, не самая лучшая идея, потому что Vbox удалит все переменные EFI после закрытия виртуальной машины. Но у меня нет никакого загрузчика, установленного в /sda1)
Опция загрузки Efi была успешно создана. Но это вызывает
Waiting 10 secs for device /dev/sda2 ...
ERROR: device '/dev/sda2' not found. Skipping fsck.
ERROR: Unable to find root device '/dev/sda2'.
You are being dropped to a recovery shell
Кому-нибудь удалось настроить EFISTUB в таком случае? Или мне стоит попробовать grub-efi?