Description:

Recently I took notice of videos on YouTube which had a label "360° 4K", I did a quick research about VR technologies state and about available media contents for VR, now I can say for sure - I want to dive in the VR world.

From time to time I use Windows for some technologies overview (Docker for Windows, Linux subsystem), but it happens not so often. Now I need a Windows for VR, because Windows have a better support from manufactures.

I have a server which is a massive poligon for different things and automation. I choose which operating system or service should boot with help of PXE. All worked fine until that time when I needed to boot Windows.

Watch on YouTube

Problems:

  1. Windows operating systems cannot be installing if ... there are many disk devices in a server. I had to disconnect all other disk devices and controllers for installing Windows to a blank SSD (solution link).
  2. I had to disconnect all disk devices and controllers for installing a service pack, because Windows should work only with an active partition (solution link).
  3. There is no way to programatically choose Windows boot menu. Windows keep all boot information inside BCD storage and booting cannot be invoked with external parameters. You can install Windows on separate disks, if you can afford to have a dedicated disk for every Windows installation.

Solution:

I don't want to describe all things I have tried to do for solving this issue, just should mention - many things.

I save transitional states of a BCD database (when I choose what Windows operating systems should boot by default) and I boot those databases through wimboot/syslinux.


ui menu.c32
menu title multiboot
timeout 30
default hydra

label hydra
menu label hydra
com32 chain.c32
append hd0 2

label openstack
menu label openstack 
com32 chain.c32
append hd0 8

label ovirt
menu label ovirt 
com32 chain.c32
append hd0 3

label w2016
menu label w2016 
com32 chain.c32
append hd1

label w7
menu label w7
com32 linux.c32
append wimboot initrdfile=boot/bootmgr.exe,boot/BCD