WOW, much basic, but not intuitive. For servers, check whether the motherboard can support Windows 10 first. Brute forcing an uncertified Operating System installation can lead to incompatability issues. For Windows, most notably, the infamous BSOD (Blue Screen of Death).
Trying to install Win 10 Pro to M.2 drive. System/MB supports the OS, but noting the difference in steps whether the M.2 drive is seen in BIOS, boot is on UEFI/Legacy/Both, and the NVMe Firmware Source setting for SMC systems.
BIOS Optimized defaults
Non-UEFI USB Boot Media installation - selecting M.2 drive to install Win10 Pro
Stops here.
UEFI USB Boot Media installation - selecting M.2 drive to install Win10 Pro
Works.
After it finishes installation, it warns that it is automatically rebooting. Windows Boot Manager and the M.2/NVMe drive shows up at the top of Boot priority.
On default settings, it will not list the M.2/NVMe drive as a bootable disk, but it will be seen in the Win10 Pro installer. After installing, it will show up as 'Windows Boot Manager' with the full part number of the M.2/NVMe drive.
After selecting the Windows Boot Manager right after the Win10 Pro installation rebooted the system, it will run a disk check and repair that will look like below screen.
This takes about 3-4 minutes, and will reboot once more. Without interrupting system boot to visit BIOS Menu, it will boot straight into Windows 10 Pro Basics and Welcome screens.
Language, Keyboard Layout (Skip). It did not list any available Network ports, so I used 'I don't have internet'.
After Account, Password, and declining all services, it will take seconds to finally bring me to a desktop.
Welcome to Windows 10
Missing Drivers
On a fresh Windows 10 install from ISO (not triggered from a Win7 upgrade or restored with whatever Boot Media comes with your original system), there are no drivers installed. Since there are no drivers installed, that means the network ports will not work natively, and that you cannot have Windows 10 search online and auto-update to fill in the drivers needed for installed hardware.
With Windows, It cannot fully detect installed hardware from a fresh installation, so I have to yet again plug a USB into another computer- this time to load drivers onto it, and then plug that USB to spoonfeed this Windows 10 Pro
Windows 10 drivers are limited on servers, and heavily varies from manufacturer to manufacturer on their respective resource page from their websites.
Obtaining drivers for remaining hardware
- Visit your system motherboard website's driver page
- Filter the drivers for Windows 10
- Locate and download chipset drivers
- Locate and download network drivers
- Load both drivers' .zip files onto USB drive, then unpack them
- Plug USB into your Win10 Pro system, first install Chipset drivers using the 'application' file
- Restart system
- Install Network drivers using the 'application' file
- Once network drivers are installed, connect to a network
- Scan for Windows Update, reboot system after every completed batch of updates; repeat if necessary until Win10 system is up-to-date
Example
- My system is an Exxact <whatever nomenclature at the time> that uses a Supermicro SYS-7049GP-TRT. Supermicro's website is here, and I click on their Drivers & Utilities link below the system image.
Filter and download drivers for chipset and LAN for Windows 10, then download both
Unpack both zip files onto a USB drive
Plug USB drive containing the Drivers onto the newly installed Win10 Pro system, install Chipset drivers first
- Reboot system when it asks after the Chipset driver installation - VERY IMPORTANT TO DO BEFORE INSTALLING NETWORK DRIVERS
Install Network drivers
Check for Windows Updates, reboot as necessary
Check Device Manager for any hardware missing drivers
I used the latest Windows ISO available on Microsoft's website, so it only took one round of updates to install and update all drivers for installed hardware for my system. Main ones to check are Graphics Card and LAN. If you installed any additional hardware to your system, then you should know what type of component it is to search the dropdown categories. If Windows cannot find your hardware driver via network, then you will need to visit that respective hardware component manufacturer's website to obtain drivers and install them manually.
Windows 10 Install Notes
For servers that are expected to be on 24/7, disable hibernation. Make sure Windows does not hibernate or power off installed hardware components after a period of time, or that any of the system's front panel (power/reset) buttons hibernate the system. Linux or Windows, hibernation mode messes with the hardware initialization of installed components, and typically results in blank screen while system remains powered on, missing devices (GPU/PCI-e), or remote connectivity issues when attempting to wake the system back up; rebooting would be necessary to have the system properly initialize hardware again.
Enable remote desktop in settings if you plan on installing this system at a remote location - Remote Desktop Connection (RDC/RDP). Alternatively, make sure your preference of remote dekstop connection app works with this system before racking or installing remotely.
System IT/Admin will have their security protocols or workflows that would need to be applied to the system immediately before handing off to users. If this is a home system, Windows Security is enabled, and is usually all you need. Any off-the-store-shelf computer may come with bloatware that disables Windows Security (e.g. McAfee/Norton).
Snide remarks
Benefit of Linux, right after fresh installation, is that the onboard network ports are highly likely of already being detected, and are already work if I enabled them through Linux OS installer, or even in the settings without updating the OS at all. I could also query the installed hardware without drivers.
- Taking this into account, that is giving another point of failure for each hardware
- Exxact doesn't make Windows, nor Linux. Exxact assembles HPC's and servers using various hardware components, and then apply Operating System installations towards HPC/servers
- Why Linux is used in >90% of supercomputer
- "Supercomputers seek to maximize performance. Usually supercomputers are assigned with jobs that require computation at a very high speed. When compared to Windows, Windows has number of extraneous processes that are unnecessary and only degrade the supercomputer performance However as Windows is proprietary the code cannot be altered to cut off unnecessary processes. With Linux it is certainly possible which gives a performance boost to computers."