Installing Windows from a Hard Drive
1. Installation options
There are 2 installation options to consider:
-
UEFI + GPT + FAT32 file system.
-
BIOS + MBR + NTFS.
- The maximum partition size is 2 TB.
We are considering the option with UEFI.
2. Disk Partitions
Table 1: Recommended partition structure for Windows
| Section | Size | File System |
|---|---|---|
| EFI System Partition (ESP) | 512 MB | FAT32 |
| Microsoft Reserved Partition (MSR) | 128 MB | |
| Windows (C:) | >60 GB | NTFS |
| Recovery image (optional) | 10 GB | NTFS |
If the size sources\install.wim exceeds 4 GB, you must use a FAT32 + NTFS partition because the FAT32 file system does not support files larger than 4 GB.
Table 2: Partition structure for storing Windows Installer files.
| Section | Size | File System |
|---|---|---|
| Windows FAT32 Installer | 8 GB | FAT32 |
| Windows NTFS installer | 10 GB | NTFS |
3. Preparing Files
Copy files from the Windows Installer ISO image to your hard drive.
- If you’re using a single FAT32 partition (most likely not), simply copy all ISO files to that partition.
Using FAT32 + NTFS partition.
In the case where installer files > 4GB (FAT32 alone is not enough).
- The FAT32 partition is used to boot the installer, then the installer will try to find
install.wimand other files on the NTFS partition.
It’s important that the directory, sources, of the FAT32 partition contains only the file boot.wim and no other files.
If Already on Windows
Let’s pretend that:
- Windows ISO disk is mounted in
X:; - FAT32 partition is mounted in
E:; - NTFS partition is mounted on
F:.
Copy the files:
robocopy /s /xd:Sources X: E:
md E:\Sources
copy X:\Sources\boot.wim E:\Sources\
robocopy /s X: F:
If you’re on Linux
Let’s pretend that:
- Windows ISO disk is mounted on
/media/cdrom/; - FAT32 partition is mounted on
/mnt/fat/; - The NTFS partition is mounted on
/mnt/ntfs;
Copy the files:
rsync -ai --exclude='sources/' media/cdrom/ /mnt/fat/
mkdir /mnt/fat/sources
cp /media/cdrom/sources/boot.wim /mnt/fat/sources/
rsync -ai /media/cdrom/ /mnt/ntfs/