The Windows installation ISO contains multiple Windows image files (WIM):
- boot.wim - this is used to boot the Windows Preinstallation Environment (WinPE) for a clean install
- install.wim - this contains the image(s) that will be installed.
The Windows Server 2016 ISO contains multiple versions in this single install.wim file which is why the same media can be used to install Standard or Datacenter editions, with the desktop experience or without it (core).
Mount the ISO & find the drive letter for it
PS 04/19/2017 21:39:52 C:\Users\Patrick\Source\packer-windows
>Mount-DiskImage (get-item 14393.0.161119-1705.RS1_REFRESH_SERVER_EVAL_X64FRE_EN-US.ISO).FullName
PS 04/19/2017 21:40:08 C:\Users\Patrick\Source\packer-windows
>get-volume
DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining Size
----------- ------------ -------------- --------- ------------ ----------------- ------------- ----
NTFS Fixed Healthy OK 91.64 MB 471 MB
NTFS Fixed Healthy OK 352.1 MB 869 MB
E SSS_X64FREE_EN-US_DV9 Unknown CD-ROM Healthy OK 0 B 6.49 GB
D NTFS Fixed Healthy OK 38.08 GB 237.67 GB
NTFS Fixed Healthy OK 434.6 MB 450 MB
C NTFS Fixed Healthy OK 57.91 GB 445.73 GB
NTFS Fixed Healthy OK 319.84 MB 333 MB
Find the WIM files
PS 04/19/2017 21:40:12 C:\Users\Patrick\Source\packer-windows
>e:
PS 04/19/2017 21:40:15 E:\
>cd .\sources\
PS 04/19/2017 21:40:20 E:\sources
>dir *.wim
Directory: E:\sources
Mode LastWriteTime Length Name
---- ------------- ------ ----
--r--- 7/16/2016 9:49 AM 269613381 boot.wim
--r--- 1/6/2017 8:08 PM 6023286832 install.wim
Make directories to mount each WIM
PS 04/19/2017 21:40:22 E:\sources
>mkdir c:\mount\boot
Directory: C:\mount
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 4/19/2017 9:40 PM boot
PS 04/19/2017 21:40:53 E:\sources
>mkdir c:\mount\install
Directory: C:\mount
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 4/19/2017 9:40 PM install
Look at available images in each WIM
dism /get-imageinfo /imagefile:boot.wim
Deployment Image Servicing and Management tool
Version: 10.0.15063.0
Details for image : boot.wim
Index : 1
Name : Microsoft Windows PE (x64)
Description : Microsoft Windows PE (x64)
Size : 1,501,424,837 bytes
Index : 2
Name : Microsoft Windows Setup (x64)
Description : Microsoft Windows Setup (x64)
Size : 1,652,197,842 bytes
The operation completed successfully.
dism /get-imageinfo /imagefile:install.wim
Deployment Image Servicing and Management tool
Version: 10.0.15063.0
Details for image : install.wim
Index : 1
Name : Windows Server 2016 Standard Evaluation
Description : This option (recommended) reduces management and servicing by installing only what is needed to run most server roles and applications. It does not include a GU
I, but you can fully manage the server locally or remotely with Windows PowerShell or other tools. For more details see "Windows Server Installation Options."
Size : 9,235,873,810 bytes
Index : 2
Name : Windows Server 2016 Standard Evaluation (Desktop Experience)
Description : This option is useful when a GUI is required—for example, to provide backward compatibility for an application that cannot be run on a Server Core installation.
All server roles and features are supported. For more details see "Windows Server Installation Options."
Size : 15,305,218,110 bytes
Index : 3
Name : Windows Server 2016 Datacenter Evaluation
Description : This option (recommended) reduces management and servicing by installing only what is needed to run most server roles and applications. It does not include a GU
I, but you can fully manage the server locally or remotely with Windows PowerShell or other tools. For more details see "Windows Server Installation Options."
Size : 9,234,074,002 bytes
Index : 4
Name : Windows Server 2016 Datacenter Evaluation (Desktop Experience)
Description : This option is useful when a GUI is required—for example, to provide backward compatibility for an application that cannot be run on a Server Core installation.
All server roles and features are supported. For more details see "Windows Server Installation Options."
Size : 15,316,399,667 bytes
The operation completed successfully.
Mount each WIM:
- Boot.wim for windows setup
- install.wim with the index of the Windows SKU you want
dism.exe /mount-wim /wimfile:boot.wim /index:2 /mountdir:c:\mount\boot /readonly
Deployment Image Servicing and Management tool
Version: 10.0.15063.0
Mounting image
[==========================100.0%==========================]
The operation completed successfully.
PS 04/19/2017 21:44:05 E:\sources
>dism.exe /mount-wim /wimfile:install.wim /index:3 /mountdir:c:\mount\install /readonly
Deployment Image Servicing and Management tool
Version: 10.0.15063.0
Mounting image
[==========================100.0%==========================]
The operation completed successfully.
Check out the files inside the WIMs:
cd C:\mount\boot\
PS 04/19/2017 21:46:05 C:\mount\boot
>cd .\windows\system32\drivers\
PS 04/19/2017 21:46:11 C:\mount\boot\windows\system32\drivers
>dir *sd*
Directory: C:\mount\boot\windows\system32\drivers
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---l 7/16/2016 5:10 AM 187232 dumpsd.sys
-a---l 7/16/2016 5:11 AM 62816 fsdepends.sys
-a---l 7/16/2016 5:11 AM 75776 mpsdrv.sys
-a---l 7/16/2016 5:10 AM 279904 sdbus.sys
-a---l 7/16/2016 5:10 AM 95584 sdport.sys
-a---l 7/16/2016 5:10 AM 95072 sdstor.sys
PS 04/19/2017 21:46:13 C:\mount\boot\windows\system32\drivers
>cd C:\mount\install\
PS 04/19/2017 21:46:28 C:\mount\install
>cd .\Windows\system32\drivers\
PS 04/19/2017 21:46:36 C:\mount\install\Windows\system32\drivers
>dir *sd*
Directory: C:\mount\install\Windows\system32\drivers
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---l 7/16/2016 6:09 AM 62816 fsdepends.sys
-a---l 7/16/2016 6:10 AM 75776 mpsdrv.sys
-a---l 7/16/2016 6:12 AM 123232 WdNisDrv.sys
Unmount WIMs
PS 04/19/2017 21:53:45 E:\sources
>dism.exe /unmount-wim /mountdir:c:\mount\install /discard
Deployment Image Servicing and Management tool
Version: 10.0.15063.0
Image File : E:\sources\install.wim
Image Index : 3
Unmounting image
[==========================100.0%==========================]
The operation completed successfully.
Compare to another SKU (desktop experience)
PS 04/19/2017 21:55:11 E:\sources
>dism.exe /mount-wim /wimfile:install.wim /index:4 /mountdir:c:\mount\install /readonly
Deployment Image Servicing and Management tool
Version: 10.0.15063.0
Mounting image
[==========================100.0%==========================]
The operation completed successfully.
PS 04/19/2017 21:57:45 E:\sources
>dir C:\mount\install\Windows\system32\drivers\*sd*
Directory: C:\mount\install\Windows\system32\drivers
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---l 1/6/2017 7:57 PM 187232 dumpsd.sys
-a---l 7/16/2016 6:18 AM 31744 dumpsdport.sys
-a---l 7/16/2016 6:18 AM 62816 fsdepends.sys
-a---l 7/16/2016 6:18 AM 75776 mpsdrv.sys
-a---l 1/6/2017 7:57 PM 279904 sdbus.sys
-a---l 7/16/2016 6:18 AM 95584 sdport.sys
-a---l 7/16/2016 6:17 AM 95072 sdstor.sys
-a---l 7/16/2016 6:19 AM 123232 WdNisDrv.sys
Final conclusion - SD drivers are included in server with desktop but not core.
The install.wim for core could be mounted and modified to include the SD drivers, then a new ISO can be built to handle the install.
These threads have some hints to what's needed for the Up board. The steps below try to implement them into a working install image.
- https://up-community.org/forum/ms-windows/1180-windows-server-2016-core-error
- https://up-community.org/forum/ms-windows/1198-autounattend-xml-problem-with-partitions#3626
mkdir c:\temp # Temporary copy of drivers to install
mkdir c:\slipstream # Working directory for customizing the Windows image
cd c:\slipstream
robocopy /s /e e:\ extracted
# Copy ISO contents to local directory
cd C:\slipstream\extracted\sources
# Mount server core datacenter installation media
dism.exe /mount-wim /wimfile:install.wim /index:3 /mountdir:c:\slipstream\mount\install
# Mount boot media
dism.exe /mount-wim /wimfile:boot.wim /index:2 /mountdir:c:\slipstream\mount\boot /readonly
# Copy drivers from boot media to temp
cd c:\slipstream\mount
copy .\boot\windows\inf\sd* c:\temp
copy .\boot\windows\system32\drivers\sd* c:\temp
# Add the latest cumulative update
dism.exe /image:install /add-package:"C:\Users\Patrick\Source\packer-windows\http\windows10.0-kb4015217-x64_60bfcc7b365f9ab40608e2fb96bc2be8229bc319.msu"
# Add drivers to server core media
dism.exe /image:install /add-driver /driver:"C:\temp" /forceunsigned /recurse
# Unmount images
dism.exe /unmount-wim /mountdir:c:\slipstream\mount\boot /discard
dism.exe /unmount-wim /mountdir:c:\slipstream\mount\install /commit
Over the last few years Windows has grown enough to make the install.wim files > 4GB. This is a problem because only UDF (DVD) and FAT32 drives are bootable from EFI-based systems. The workaround is that you need a FAT32 partition with the boot files or WinPE, and another NTFS partition to hold the Windows installation files.
Luckily, Windows 10 1703 can create multiple partitions per USB removable drive which wasn't possible on previous versions of Windows.
The Windows Assessment and Deployment Kit for Windows 10 1703 has a version of WinPE that can handle multiple partitions on USB removable drives.
Once you have a Windows 10 1703 machine ready, follow the steps here to build a multi-partition USB drive.
Boot from the USB drive, and you'll be at a command prompt in Windows PE. Run diskpart.exe
, and run list volume
. Find the other drive letter for the install media, and run setup there such as e:\setup.exe
. Install as normal and it will have the right drivers. The eMMC drive will show up just like any HDD or SSD.
Once it's installed, you can check the drive list and bus type:
Get-PhysicalDisk | ft FriendlyName, BusType, MediaType, PhysicalSectorSize, SpindleSpeed, Size -AutoSize
FriendlyName BusType MediaType PhysicalSectorSize SpindleSpeed Size
------------ ------- --------- ------------------ ------------ ----
TOSHIBA TransMemory USB Unspecified 512 0 31024349184
VID:11 032G72 SD SSD 4096 0 31268536320
- The VID:11 ... device is the eMMC drive in my Kangaroo PC.
- The TOSHIBA TransMemory is the USB drive with Windows PE and the Windows Server 2016 setup files on it
- WinPE Mount and Customize
- Service a mounted Windows image
- Add and Remove Drivers to an Offline Windows Image
@PatrickLang Thank you so much. Yes I have a Win10 1703, so I can walk through your guide and try it with one of the UP boards.