Published on

8 Mar 2009

Dual-booting OpenBSD and Vista

My (64-bit, "amd64") laptop came with (32-bit) Windows Vista. This is fine: despite all the horror stories online, Vista just worked. I much prefer OpenBSD, though. Since (non-technical) friends occasionally borrow my laptop, I wanted a user-friendly way to boot either OS.

Sadly, OpenBSD’s boot(8) doesn’t really handle other operating systems. I suppose I could install GRUB and have it chain-load OpenBSD’s or Vista’s boot loader, but such a setup seems unnecessarily complicated. Therefore, I tried to coerce Microsoft’s boot loader to load OpenBSD.

This is a conceptually simple task (just chain-load the OpenBSD bootloader from the Windows partition), but the configuration utilities are not terribly user-friendly. More importantly, this configuration does not work, and I never found out why.

EasyBCD to the rescue. The word “OpenBSD” does not occur in the documentation or the program itself, and it manages to confuse “BSD,” “FreeBSD” and even “Linux.” Nonetheless, EasyBCD 1.7.2 actually does allow me to boot OpenBSD/amd64 4.4, and has done so consistently for months: simply add an entry as shown below.

EasyBCD configuration: add a FreeBSD entry (under the \

As shown on boot, one Höchstatter created the bootsector which EasyBCD uses as an intermediate stage between the bootloader and OpenBSD. I don’t know, or particularly want to know, why this is necessary. Still, it does work, and once you know it does, it’s actually quite convenient.

(To any NetBSD or DragonFlyBSD users out there: if you try this and (can’t) make it work, I’ll happily add a note to this page…)