We recently started to build the new surface pro 6 1TB using SCCM. When imaging the task sequence kept failing at the format and partitioning step. When I checked the SMSTS log I could see the below errors
Invalid disk number specified: 0
OSDDiskPart.exe failed: 0x80070490
From the error the problem was that there was no disk 0 available, I usually only see this when there are driver issues with the storage controller.
To check and see what disk where available, we can open a command prompt in the task sequence (As long as it’s enabled on the boot image) with F8 and run diskpart, once diskpart has opened use the list disk command to view available disk.
On the surface pro there was no disk 0 or 1 but instead the 1TB disk shows as disk 2 which is the reason the format is failing as by default the disk that is to be formatted and partitioned is disk 0.
I had a look online and the reason seems to be that the 1TB disk in the Surface Pro 6 is actually 2 x 512GB disk mirrored using Storage Spaces technology. See support KB below.
https://support.microsoft.com/en-us/help/4046108/disk0-not-found-when-you-deploy-windows-on-surface
This is why the disk shows as 2 and the default disk number is set to 0.
The support KB says to change the format task to use disk 2 but this would require a second task sequence which is not ideal as it means more management overhead.
To work around this I have created an additional format and partition step in my existing task sequence and use WMI query’s to apply the specific format step for the Surface Pro 6 1TB.
WMI query to exclude device with no disk 0
Disk index: SELECT * FROM Win32_DiskDrive WHERE Index = “0”
WMI query for surface pro 6 1TB
Disk index: SELECT * FROM Win32_DiskDrive WHERE Index = “2”
Select surface pro device: SELECT * from Win32_ComputerSystem WHERE Model LIKE “%Surface Pro 6%”
Once the query is set on the format and partition disk step in the task sequence, set the disk number to 2.Now I can image the surface pro 6 1TB model successfully.