FreeNAS support forums drink their own special brand of cool aid, so I've decided to try Windows, which, whilst being part of their own borg collective has a much wider base of users and obviously native integration with my client base. So I'm piloting Windows Server 2016 with its various storage capabilities to see how it compares.
I've got a HP Microserver G8 which as well as 4 disk trays, supports a fifth SATA device via an additional ODD port, an internal USB and a MicroSD port, as well as various external USBs.
My FreeNAS is a previous N54L Microserver, which installs and boots easily to a USB drive, but Windows is a bit more pig-headed at booting from USB/MicroSD devices.
However, with the help of Daniels Tech Blog https://www.danielstechblog.info/how-to-deploy-windows-server-2016-tp3-onto-an-sd-card/ I have managed to get my Microserver booting from the MicroSD Card
Daniels instructions are more or less spot on, except for one change.
diskpart list disk select disk x clean create partition primary format quick fs=ntfs label="SD" active assign letter=C exit dism /Apply-Image /ImageFile:D:\sources\install.wim /index:2 /ApplyDir:C: bootsect /nt60 C: /force /mbr bcdboot C:\Windows
I couldn't get that final line to write to the MicroSD. I kept getting errors about BCDBOOT not being able to write the files, or unable to find the source location. However, I read the documentation about BCDBOOT at Microsofts MSDN site https://msdn.microsoft.com/en-gb/windows/hardware/commercialize/manufacture/desktop/bcdboot-command-line-options-techref-di and happened upon the command for writing to USB devices.
bcdboot C:\Windows /s C: /f ALL
This seems to work fine, and a reboot allows Windows 2016 to boot.
bcdboot C:\Windows /s C: /f ALL
This seems to work fine, and a reboot allows Windows 2016 to boot.