Solved Can't boot typical VM install of FreeBSD13, 12 is fine

I install ISOs to VirtualBox frequently. Trying to install FreeBSD13 to VM using the amd64 iso and it's going nowhere.

First boot results in "os missing"

Using default FreeBSD install options, and zfs. Using VMDK drive. 20GB.

Just for reference, I tested a 12.1 iso (which i've used many times) and it installs with no problem using default VirtualBox settings.

Also tested a Linux ISO and it's fine too.

What's changed with that FreeBSD13 ISO?
 
If the host is freebsd i would advice vm-bhyve
Linux host.

I suppose you're using a MBR scheme?
If yes, see here.
I suspected MBR, so I tested UEFI. One issue was that VirtualBox refused to respect the boot order once EFI was enabled in the motherboard settings. The main result was that even after deactivating the boot options other than the VMDK drive, I consistently received a "can't find bootable disk" error.

But before going down this rabbit hole, I want to see if this is solvable. It sounds like maybe not right now.
 
To use the UEFI boot option in the install ISO, I had to go into the EFI menu and boot from file. Then it went through for installation. I've had to do this with other OS's too on Virtual Box.
 
To use the UEFI boot option in the install ISO, I had to go into the EFI menu and boot from file. Then it went through for installation. I've had to do this with other OS's too on Virtual Box.
Can you elaborate? When you say the "EFI menu" what are you referring to?
 
Linux host.li


I suspected MBR, so I tested UEFI. One issue was that VirtualBox refused to respect the boot order once EFI was enabled in the motherboard settings. The main result was that even after deactivating the boot options other than the VMDK drive, I consistently received a "can't find bootable disk" error.

But before going down this rabbit hole, I want to see if this is solvable. It sounds like maybe not right now.
This is not how it works with FreeBSD VM EFI client:
1) uncheck EFI boot option in VM manager
2) install FreeBSD.
3) at the end of the installation select shell instead of reboot.
4) poweroff
5) in VM Manager check EFI option
6) start FreeBSD in EFI

this is much better than linux installation in EFI:
linux once installed in EFI, will not let you change boot options (unless you know how to get to VM client "BIOS" - not difficult but not obvious and missing from VirtualBox manual)
 
This is not how it works with FreeBSD VM EFI client:
1) uncheck EFI boot option in VM manager
2) install FreeBSD.
3) at the end of the installation select shell instead of reboot.
4) poweroff
5) in VM Manager check EFI option
6) start FreeBSD in EFI

this is much better than linux installation in EFI:
linux once installed in EFI, will not let you change boot options (unless you know how to get to VM client "BIOS" - not difficult but not obvious and missing from VirtualBox manual)
Thank you, this is a simple solution and it worked. I now have a perfectly working FreeBSD13 vm
 
Can you elaborate? When you say the "EFI menu" what are you referring to?
Whenever I choose EFI on virtualbox, it always goes to an EFI shell. I type "exit" then it goes to what looks like a system BIOS setup screen. From there, I can go through the menu to "boot from file" and then the installer works.
This is not how it works with FreeBSD VM EFI client:
1) uncheck EFI boot option in VM manager
2) install FreeBSD.
3) at the end of the installation select shell instead of reboot.
4) poweroff
5) in VM Manager check EFI option
6) start FreeBSD in EFI

this is much better than linux installation in EFI:
linux once installed in EFI, will not let you change boot options (unless you know how to get to VM client "BIOS" - not difficult but not obvious and missing from VirtualBox manual)
This is much simpler than the method I've been using. Thanks!
 
You could also set a GPT installation with legacy BIOS booting (or EFI + BIOS). You'd better avoid MBR scheme.

There is a bug in virtual box since several versions. It has some problems to boot on an EFI "el torito" block.
 
Back
Top