SVBus

Install Windows 10 (Stage 1)

This page covers installing Windows 10 on UEFI or BIOS firmware. The instructions can be adapted to install other Windows NT 6.*/10.* operating systems including Windows 7/8/8.1/10/11 (NOTE - Windows 7 UEFI support is limited and may not install on UEFI firmware).

A second system is used to setup a GRUB4DOS/GRUB4EFI bootable USB and to create VHD files that will be copied to the target system. The target system has an empty/unpartitioned internal disk. This walkthrough will include using WinPE to prepare the target disk.


Setup\Requirements


Devices/Files/Paths (Host system)

The following table has been included as a reference to devices, files and paths that are used in the instructions in this page -

GRUB4DOS
Device + path
Windows
Mountpoint + path
Notes
N/A C:\ Windows 10 Host Operating System.
N/A D:\ Workspace on the host system.
N/A D:\windows.vhd Virtual Hard Disk (VHD) - this will be created in step 2 (see here).
N/A D:\SVBus\svbus.inf SVBus driver file(s) - these will be installed to the offline Windows installation in step 4 (see here).
N/A E:\ Mount point for Windows Installation Media .iso file (Windows 10 source)
N/A E:\sources\install.wim Source file containing sysprepped Windows installation. This will be required in step 3 (see here)
N/A R:\ USB boot partition.
N/A S:\ USB data partition.
N/A V:\ Mount point for Virtual Hard Disk partition 1 - target for UEFI/BIOS boot files.
N/A W:\ Mount point for Virtual Hard Disk partition 2 - target for Windows 10 operating system files.


Step 1 - Setup a GRUB4EFI bootable USB drive

Create a bootable USB drive - this process is covered in more detail here. Include WinPE as this will be required to prepare the target system in Stage 2.


Step 2 - Create Virtual Hard Disk

A VHD with two partitions is used as this supports booting the same file on UEFI and BIOS firmware. The first partition (FAT32 file system) will be used for the boot files required to load the operating system located in the second partition when the VHD is mapped using GRUB4DOS/GRUB4EFI (see here for more information).

For the Windows 10 tests, the following DiskPart commands were used to create a 20 GB virtual hard disk (change size, filename, path and mount point according to your own requirements) -


Step 3 - Apply install.wim to the mounted VHD

Use DISM to apply (extract) the contents of install.wim to W: (the second partition in the VHD file was mounted as volume W: in the preceding step).


Step 4 - Install SVBus to Offline Image

The SVBus driver can be installed to an offline system using the DISM tool. E.g. -

Output -

More detailed information about using DISM to install the SVBus, including errors linked to requiring the latest version of DISM, is available here


Step 5 - Create Boot Files

Use the bcdboot command to create boot files in Drive V:\ (the first partition in the virtual hard disk. See here for more information about bcdboot usage).

Specifying the /f ALL parameters will create BIOS and UEFI boot files, facilitating the use of the VHD on BIOS or UEFI firmware.


Step 6 - Unmount Virtual Hard Disk

Enter the following DiskPart commands to detach/unmount the virtual hard disk -


Step 7a - GRUB4DOS Menu.lst

Add the following entries to R:\menu.lst (if the instructions here were followed there should be an existing file with an entry for WinPE) -

Note the use of the map --top --mem command - see here for more information.

See here for more information about the configuration file \menu.lst, including potential issues with multiple configuration files on the same system.


Step 7b - GRUB4EFI Menu.lst

Add the following entries to R:\EFI\grub\menu.lst (if the instructions here were followed there should be an existing file with an entry for WinPE) -

Note the use of the map --top --mem command - see here for more information.

See here for more information about the configuration file \EFI\grub\menu.lst, including potential issues with multiple configuration files on the same system.


Step 8 - Copy VHD to USB

Create directory \VHD in the USB drive partition 2 (S:\)

Copy the VHD file to the directory created by the previous command -

In the next stage this file will be copied from the USB drive to the root of a partition on the target systems internal drive. The reason for copying windows.vhd to a sub-directory is to avoid GRUB4DOS/GRUB4EFI attempting to load it if it is copied to the USB drive root (in the next stage our menu.lst commands will locate the disk by searching for /windows.vhd).

The contents of the USB FAT32 partition should be similar to the following (there will be other sub-directories and files in R:\boot\ and R:\EFI\) -

Contents of the USB NTFS partition -

Proceed to Stage 2

Proceed to stage 2 after completing the steps listed above (see here)

Document date - 12th April 2023