Solved Is there a clean way to dual boot with UEFI Windows 10 and FreeBSD 11.1 (soon to be 11.2)?

I bought a new HP laptop. If FreeBSD supports the hardware, I would like to run FreeBSD as the main desktop OS. To make sure I'm comfortable with it, I would like to be able to dual-boot back to Windows 10. Are there any clean and simple instructions on how to do this yet or, as indicated in the post linked below, it is more of a hack?

https://forums.freebsd.org/threads/...multi-boot-of-freebsd-11-1-by-accident.65506/

I've done a few searches and found some insanely long (20 minute) videos that claim to be successful. I've similarly found some written instructions that are very complicated (like performing a manual installation of FreeBSD). None of that looks at all promising.

I have already:
1) made a Windows install USB drive (and tested it) for recovery.
2) removed the on-disk recovery partition.
3) shrunk the windows partition down to less than half of the SSD.
4) Installed FreeBSD 11.1 along side using the amd64 memstick image.

So, is there a way to add the FreeBSD to the Windows boot manager? It's UEFI; I would think there was a way.

The system in question is a recent HP Pavilion laptop (no touch screen).

If FreeBSD doesn't work, I'll go with Ubuntu Linux. If that doesn't work, I'll stick with Windows 10.
 
I have not done this but recalled the entry in the OpenBSD FAQ:
OpenBSD FAQ #Multibooting

The OpenBSD FAQ is dated: Windows Vista/2008 Server but a web search shows BCM dual-boot edits for Windows 10.
It looks like you can also edit the Windows Boot loader or Install another bootloader. sysutils/grub2 is available in FreeBSD and refit has extensive documentation. The grub install command varies with MBR vs GPT/UEFI. See the Arch wiki:
Arch wiki GRUB
A potential pitfall is the UEFI shim can occasionally be 32 bit rather than 64 bit. I would web search to see if anyone has set dual booting with your particular laptop model.
 
Thanks shepper. From that FAQ, I think the relevant part is:

The Boot Configuration Data (BCD) store allows multiple versions of Windows to be booted through bcdedit. A good introduction can be found in this article. If you want a GUI alternative, you may want to try EasyBCD.
You will need a copy of your OpenBSD install's Partition Boot Record (PBR). You can copy it to a file using a process similar to:
# dd if=/dev/rsd0a of=openbsd.pbr bs=512 count=1

where sd0a is your boot device, and you will need to get the
file openbsd.pbr to your Windows system partition.
Once OpenBSD's PBR is copied to the Windows system partition, you need a shell
with administrative privileges to run the following commands:
C:\Windows\system32> bcdedit /create /d "OpenBSD/i386" /application bootsector
The entry {0154a872-3d41-11de-bd67-a7060316bbb1} was successfully created.
C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} device boot
The operation completed successfully.
C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} path \openbsd.pbr
The operation completed successfully.
C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} device partition=c:
The operation completed successfully.
C:\Windows\system32> bcdedit /displayorder {0154a872-3d41-11de-bd67-7060316bbb1} /addlast
The operation completed successfully.

I'm thinking that the difference for FreeBSD would be the first part (openbsd.pbr). Would that be as simple as using /boot/boot1.efi (or would it be /boot/boot0)? I'm not at all clear about what is supposed to be put where in the UEFI partition for FreeBSD (or OpenBSD for that matter).​
 
If your goal is to trial FreeBSD, you may be able to run FreeBSD in a live mode to do a hardware check. A web search also finds some independent FreeBSD live cd's.
 
I'm a bit disappointed that I have to use a 3rd party tool for dual booting in UEFI mode. The FreeBSD boot loader in legacy mode handled it so simply.

Thanks everyone.
 
Alternatively, you can simply use your computer's UEFI boot menu to load the different EFI boot shells. In this way, you can multiboot anytthing you like, without the loaders being aware of each other. One of the advantages of UEFI.
 
I'm closing this with the conclusion "no". There is no "clean" way to do this. Options appear to be:
a) go through a very convoluted process to use the Window boot loader (maybe)
b) go through a less convoluted process to use a 3rd party tool that you will have to track for updates (separate from FreeBSD).
c) use the BIOS select alternate boot option.
 
IMHO, option c) works great if the UEFI implementation in that particular machine is sensible. And option b) using rEFInd works very well, and is low maintenance.
 
IMHO, option c) works great if the UEFI implementation in that particular machine is sensible. And option b) using rEFInd works very well, and is low maintenance.

I'm currently using c) HP isn't bad. I'll probably move to b) but I am trying to avoid having to track patches for yet another bit of software. I fear a) due to lack of clarity on what I actually need to put into the windows efi partition and how badly I could end up breaking things.

If 11.2 proves sufficiently good at a GUI, I may migrate to just FreeBSD but that kills Steam games and Netflix when travelling.
 
I'm closing this with the conclusion "no". There is no "clean" way to do this. Options appear to be:
a) go through a very convoluted process to use the Window boot loader (maybe)
b) go through a less convoluted process to use a 3rd party tool that you will have to track for updates (separate from FreeBSD).
c) use the BIOS select alternate boot option.
I'm using option c. it's so bad to me but i haven't find a better solution now. I'm tried rEFInd but I'm failed.
 
Back
Top