03-22-2019 10:05 AM
I'm using a Win10v1809x64 PE with a simple startup script that invokes a diskpart script that selects and cleans disk 0, then dumps an image onto it.
All previous SATA, NVME, PCIe controller based system I've encountered enumerate devices on these storage controllers the same way; as DISK 0, BEFORE the USB controller I just booted from which gets DISK 1.
The eMMC (embedded Multi-Media Controller) on the Lenovo 300e Windows 2nd Gen Notebook is being enumerated after the standard storage controllers and after the USB controller.
So using select disk 0 in diskpart will select the USB key because it is enumerated as a disk BEFORE the eMMC is.
In other words, DISK 0 is the USB key and the eMMC storage becomes DISK 1.
The diskpart script happily erases disk 0... which is the booting USB key.
I can set up a manual method that forces the tech to choose which disk to clean, but I'm looking for an automated external script that could be used to enumerate the disks as diskpart would see it. It would then eliminate the USB boot drive's disk #, and choose the only other choice. Save that number (0 or 1) as a variable that I can then access by including it in the diskpart script. eg: select disk variable
Or, the boffins at Lenovo somehow change the controller enumeration of USB vs eMMC in a BIOS update.