docs update

This commit is contained in:
Michael H.G. Schmidt 2022-12-29 12:38:43 +01:00
parent d9164fc468
commit 080c25ffbe
2 changed files with 48 additions and 15 deletions

View File

@ -19,12 +19,14 @@ Finally, there is the problem of obesity. Modern systems are getting fatter, slo
- Provide an automated and unattended Windows 10 installation
- Remove Microsoft's Windows 10 telemetry (as far as possible)
- Remove other annyoing Microsoft "gimmicks" (for e.g.: "Hello" screen)
- Keep the installation *stable* (save install files to your local disk)
- Install the system OFFLINE (aka "airgapped")
- Install 3rd party software automatically
- Configure the system automatically
- Keep It Simple Stupid!
- Remove other annoying Microsoft "gimmicks" (for e.g.: "Hello" screen)
- Keep the installation *stable* and *reproducable*
(save all files to your local disk or upload the to a private ftp server)
- Install the system in OFFLINE mode (aka "airgapped" install)
- Download and install 3rd party software automatically
- Configure the system automatically
(and remove Microsoft crap as far as possible without breaking important functionalies)
- And finally obey the KISS principle: Keep It Simple Stupid!
---
@ -32,17 +34,19 @@ Finally, there is the problem of obesity. Modern systems are getting fatter, slo
# **Please read this to get started!**
**IMPORTANT:**
This whole thing was crafted and tested with Windows 10 version 20H2 v1 english, 64-bit.
This is actually the only *supported* version!
This whole thing was crafted and tested with Windows 10 version 20H2 v1 english, 64-bit.
This is actually the only *supported* version!
*What will you need to run this?*
- a working Windows 10 installation
- a working *commandline* GIT client
- a working *commandline* GIT client
- a windows ISO image or Windows Media creator
- some tools from Microsoft
- some other tools (curl, 7zip etc. pp.)
- some other tools (like curl, 7zip etc. pp.)
- Optionally: a *licensed* copy of "NTLite"
(this is only needed in case you want to modify the windows image)
# 1. Setup your workspace
@ -90,6 +94,7 @@ Unpack the MSI with:
cd /D %USERPROFILE%\Downloads
move /Y 7z*-x64.msi 7z-setup.msi
msiexec /a 7z-setup.msi TARGETDIR=%T%
cd ..
```
@ -99,6 +104,7 @@ move /Y %T%\Files\7-Zip\7z.exe %TOOLS%
move /Y %T%\Files\7-zip\7z.dll %TOOLS%
del /S /Q /A %T%\7z-setup.msi 1>nul 2>nul
rd /S /Q %T%\Files
```
@ -118,6 +124,7 @@ move /Y %T%\curl\libcurl*.dll %TOOLS%
move /Y %T%\curl\curl-ca-bundle.crt %TOOLS%
rd /S /Q %T%\curl
cd ..
```
@ -133,6 +140,7 @@ cd /D %USERPROFILE%\Downloads
move /Y Git-*64-bit.exe git-setup.exe
git-setup.exe
cd ..
```
Create the GIT configfile for the setup program (use notepad):
@ -159,6 +167,7 @@ UseCredentialManager=Disabled
PerformanceTweaksFSCache=Disabled
EnableSymlinks=Disabled
EnablePseudoConsoleSupport=Disabled
```
Save it as c:\temp\install-git.txt
@ -167,11 +176,13 @@ Execute the Git setup:
cd /D %USERPROFILE%\Downloads
git-setup.exe /LOADINF=c:\temp\install-git.txt /NORESTART /NOCANCEL /SILENT /SUPPRESSMSGBOXES /CLOSEAPPLICATIONS
cd ..
```
Cleanup:
```dos
del /S /Q /A c:\temp\install-git.txt 1>nul
```
@ -183,12 +194,14 @@ You need to extend your PATH variable with the following directories:
%TOOLS%
%TOOLS%\git\bin
%TOOLS%\git\usr\bin
```
Or (in case you are fine with our path settings) execute:
```dos
set PATH=%SYSTEMROOT%;%SYSTEMROOT%\system32;%SYSTEMROOT%\system32\wbem;%SYSTEMROOT%\system32\WindowsPowerShell\v1.0;%LOCALAPPDATA%\Microsoft\WindowsApps;%TOOLS%;%TOOLS%\git\bin;%TOOLS%\git\usr\bin
setx PATH %SYSTEMROOT%;%SYSTEMROOT%\system32;%SYSTEMROOT%\system32\wbem;%SYSTEMROOT%\system32\WindowsPowerShell\v1.0;%LOCALAPPDATA%\Microsoft\WindowsApps;%TOOLS%;%TOOLS%\git\bin;%TOOLS%\git\usr\bin
```
@ -200,6 +213,7 @@ mkdir workspace\github
cd workspace\github
git clone https://github.com/mhgschmidt/w10install.git
cd w10install
```
@ -211,6 +225,7 @@ To do this execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install
01_DownloadAll.cmd
```
@ -222,6 +237,7 @@ Execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install\software
download-from-source.cmd basic
```
Config file: basic.csv
@ -235,6 +251,7 @@ To download it execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install\software
download-from-source.cmd browser
```
Config file: browser.csv
@ -248,6 +265,7 @@ To download it execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install\software
download-from-source.cmd optional
```
Config file: optional.csv
@ -292,6 +310,7 @@ Just execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install
02_ExtractIso.cmd software\Win10_20H2_English_x64.iso
```
@ -311,6 +330,7 @@ FTP_SERVER=example.com
FTP_PATH=/path/to/directory/w10install/W1020H2v1
FTP_USER=myuser
FTP_PASS=mypass
```
The folder "personal" is also used by some other scripts in this project. You can place config files or license files in this folder (This will be described in detail in some other chapters). It may be a good idea to have this folder ("personal") as GIT repository on github or somewhere else - just my 50 cents.
@ -330,6 +350,7 @@ Execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install\software
upload-to-ftp.cmd browser
```
The script reads the file "browser.csv" in folder "software" and uploads all files to your ftp server. The files will be uploaded in any case (the script is not checking the size of the file in the target or whether it's already present. This is a really dumb script - but IMHO there's no smarter way to do this in dos batch ...). This is the reason why i have created a script to upload single files (see next chapter).
@ -343,6 +364,7 @@ Execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install\software
upload-to-ftp-singlefile.cmd WFC5210-setup.exe
```
HINT: You can use this also to upload the ISO file to the ftp server.
@ -359,6 +381,7 @@ download-from-ftp.cmd basic
download-from-ftp.cmd browser
download-from-ftp.cmd optional
download-from-ftp.cmd other
```
@ -372,6 +395,7 @@ To install it just execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install\scripts
install-adk.cmd
```
## 7.2 Other tools
@ -381,6 +405,7 @@ Creating a new windows image and removing "builtin" packages needs a tool called
```dos
cd /D %USERPROFILE%\workspace\github\w10install\scripts
unpack-zipfiles.cmd
```
@ -400,6 +425,7 @@ Execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install
03_MakeAll.cmd
```
Be patient: This whole process could run 1 - 3 hours.
@ -420,7 +446,8 @@ Please use a fast USB 3 stick. The size should be 16 GB or more (you could use 8
To create it execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install
04_FormatStick.cmd
06_FormatStick.cmd
```
Choose the correct drive (this should be drive 1 or 2)
@ -454,6 +481,7 @@ WARNING ! This will DELETE ALL data on disk number [ 1 ]
REALLY delete disk 1 (Y/N)? y
READY.
USB stick formatted.
```
@ -464,7 +492,8 @@ The next script needs the ISO file again and will prepare the boot media with al
Execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install
05_PrepareStick.cmd D: software\Win10_20H2_English_x64.iso
07_PrepareStick.cmd D: software\Win10_20H2_English_x64.iso
```
Example run:
@ -491,6 +520,7 @@ unmounting disk image (iso) ...
[...]
READY.
```
## 9.3 Copy custom image to boot media
@ -500,7 +530,8 @@ Now it's time to copy the custom windows image, alls scripts and additional 3rd
Execute:
```dos
cd /D %USERPROFILE%\workspace\github\w10install
06_Copy2Stick.cmd D:
08_Copy2Stick.cmd D:
```
IMPORTANT HINT: the script will ask for UEFI or BIOS mode. This means: In case you have a target machine that cannot boot in UEFI mode choose "BIOS" (or "B"). In all other cases UEFI may be a better choice. You can boot most modern boards in "BIOS" mode. Just enable "legacy" boot mode in you PC's firmware.
@ -544,6 +575,7 @@ copying folder [ optional ] to D:\tools ...
copying custom setup script to D: ...
1 file(s) copied.
READY.
```
*Congratulations!*
@ -557,7 +589,7 @@ In case you need an ISO image you can create it with the following command:
```dos
cd /D %USERPROFILE%\workspace\github\w10install
07_MakeIso.cmd D:
09_MakeIso.cmd D:
```
Example run:
@ -588,6 +620,7 @@ Final image file is 5699987456 bytes
Done.
READY.
```
Having an ISO image is useful for testing purposes or it maybe needed for a special use case - for e.g.: you want to install the system on some machine in the datacenter and the remote console needs an ISO image as boot media.

View File

@ -101,7 +101,7 @@ echo.
echo enabling OS feature "NetFx3" ...
dism /online /enable-feature /featurename:NetFx3 /All /Source:c:\sources\sxs /LimitAccess
echo .
echo.
call modify-path.cmd
echo.