Closed usvi closed 1 month ago
Pinging @NiKiZe . You told something about dropping ADK / WAIK earlier but I never got the chance to ask further :( If you have time, drop back in IRC.
You can do part of this with the logic in https://github.com/NiKiZe/wimboot-install/blob/main/win10.ipxe
That repo is still WIP, it also runs it own deployment process. But current logic in this repo could be greatly reduced.
Drop all boot.sdi Try to drop BCD as well.
In terms of drivers above linked script adds the needed nic drivers, once windows setup launches it can load drivers over SMB from settings in unattended file. These drivers should only be the ones required for disk access.
Some more info see https://github.com/NiKiZe/wimboot-install/tree/main/win10
Use win10 PE for all windows, you only need to match x32/x64. Download official ISO. Extract boot.wim Cleanup as described in link above, and you have a quite small PE wim file without the work of WAIK and friends.
And drivers added as described in post above, nothing is really added to the wim, other than at runtime.
Thanks, I'll dig in.
Edit: Holy shit, that is so ingenious. Mad props.
For my own records, a version of previous script:
Base boot.wim boots up. Need to experiment with winpe and startnet
@NiKiZe, I have a couple of questions. But only if you have time to answer.
startnet.php:
Why have this: cleandisk.cmd ECHO (ECHO select disk 0 ^&^& ECHO clean) ^| diskpart
Why install .Net 3.5 at all?
win10.ipxe:
E1D68
TODO 0d4f only installing drivers in winpe, not when getting into windows.
What kind of case is this? Does this mean that the final target .iso was in every case missing the drivers? So, putting the drivers to our template is only a band-aid to get the actual .iso / setup.exe running the first time? (This would result in installed Windows, but without network access.) I kind of never paid attention to this.
Thank you for your work again. I'm getting forward. Just fighting to get proper progress percentages for rest of wim operations.
Marking for posterity, use 39% as a rough convertion coeff for wim compression. So, wiminfo reports Total and Hardlink bytes. Final wim image size will be about (Total Bytes - Hardlink Bytes) * 0,39
Cleandisk is a helper script to clean the disk that I prefer to use over unattend, ignore it. Same with NET3.5 I prefer to have it installed, some software don't work without it, and it takes longer to install from inside windows. I do use some of that logic to add cumulative update packs.
Windows have drivers for most devices in the installed environment, but do miss them in PE, however if any drivers was added to the PE environment, you might want to make them available for the full install as well. Not sure how to read your question. If you lack drivers after installation then you need to copy them in PE step, but I would only do this for network, and let everything else be done thru win update. Iso is never modified.
Windows have drivers for most devices in the installed environment, but do miss them in PE, however if any drivers was added to the PE environment, you might want to make them available for the full install as well. Not sure how to read your question. If you lack drivers after installation then you need to copy them in PE step, but I would only do this for network, and let everything else be done thru win update. Iso is never modified.
Thank you! I think I finally get it.
Here you instruct the installation to not boot automatically:
@"s:\sources en\sources\setup.exe" /noreboot /unattend:"s:\extboot en\autounattend.xml"
Here you check what local drive we actually installed to:
@for %%a in (C D E F G H I J K L M N O P Q R S T U V W Y Z) do @if exist %%a:\$WINDOWS.~BT\ set DRIVE=%%a
Here you will actually add the same driver to installed drive with dism:
echo "Dism /Image:%DRIVE%:\ /Add-Driver /Driver:$drvload\r\n";
And you finally reboot here:
exit
This is pure genius man!
Marking for posterity, use 39% as a rough convertion coeff for wim compression. So, wiminfo reports Total and Hardlink bytes. Final wim image size will be about (Total Bytes - Hardlink Bytes) * 0,39
Actually make that 40%.
Boot template has been working for long time. Could retest though. But assuming fixed for now. Especially as startnet.php works.
I heard last year that it might be possible to drop ADK / WAIK template and boot without them with some magic. Need to be investigated.
Considerations: