Windows 10 Pro Installation
Windows 10 installation is straightforward most of the time, but not intuitive on Servers. For starters, first check whether the motherboard can support Windows 10. Brute forcing an uncertified Operating System installation can lead to incompatability issues. For Windows, most notably, the infamous BSOD (Blue Screen of Death).
Starting with BIOS Optimized defaults
I am installing Windows 10 Pro on an M.2 drive. System/MB supports the OS. For starters, I used the 'Restore Optimized Defaults' in BIOS, and will make changes after finishing the Windows 10 installation.
Note: Using 'Restore Optimized Defaults' post-Win10 installation
Windows would not boot without Splash screen/BIOS intervention.
Step 1 - Create Windows 10 Bootable USB Installer tool
On a separate computer, plug in a blank USB drive, or one that you are willing to part ways with the data for, and visit the link below- AND THEN click 'Download Now' under 'Create Windows 10 installation media'
https://www.microsoft.com/en-us/software-download/windows10
Step 2 - Boot Windows 10 Installer via UEFI
Non-UEFI USB Boot Media installation - selecting M.2 drive to install Win10 Pro
Difference between UEFI and non-UEFI Boot Media installation selection BIOS is whether the USB drive is prefixed with 'UEFI'.
Example:
Stops here.
Step 3 - Install Windows 10
UEFI USB Boot Media installation - selecting M.2 drive to install Win10 Pro
Unlike the non-UEFI USB option, it will now let you choose your desired Windows 10 OS from a list after selecting the drive. For this article, we are installing Windows 10 Pro.
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 will instead be identified within the Win10 Pro installer. After Windows 10 Pro finishes installing, it will show up as 'Windows Boot Manager' in BIOS 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.
Windows 10 and drivers for servers
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.
You will need to plug in a USB to a computer that can download the drive files, load those driver files onto the USB drive, and then plug that USB drive back into this newly installed Windows 10 system to install the drivers.
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 (if there are no chipset drivers available, just skip to network/LAN drivers)
- Locate and download network/LAN 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 if you have it (if not, skip to network/LAN drivers in step 6)
- 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 Onboard/Offboard display channels and Graphics Card interactions
Coming from default 'Optomized' BIOS settings, Windows will display the Onboard VGA as a display option. I can also use both the onboard VGA and offboard PCI-e display device (Graphics Card) simultaneously. To avoid integrated CPU graphics from being used for display or calculation, you will need to set the system to use Offboard video display in BIOS.
Onboard/Offboard channels for servers
Whole article about it here: System boot times, and Onboard and Offboard video display channels
Graphics Card interactions with Onboard/Offboard display channels
BIOS Onboard - Single display - Onboard VGA
BIOS Onboard - Dual display - Onboard VGA and Graphics Card
GPU Burn-in with Onboard/Offboard video display channels
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).
- ninite.com is my go-to after fresh Win10 installations, and after updates. Exxact mainly ensures that Windows 10 is installed and fully up-to-date, but you can visit ninite to add-on helpful tools and developer packages, such as:
- (Google) Chrome
- Teamviewer
- Developer Tools (Python)
- Java
- Blender
- WinRAR
- Online Storage (Dropbox/Google Drive/OneDrive)
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, Windows having drivers is adding another point of failure for each piece of hardware that relies on them
- 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."