add files for unattended setup of windows 10
1
.gitattributes
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*.png binary
|
136
docs/Windows 10 - Custom-ISO erstellen.md
Normal file
|
@ -0,0 +1,136 @@
|
|||
|
||||
Anleitung zur Vorbereitung einer Windows10-ISO für eine (fast) automatische Installation
|
||||
|
||||
benötigte Software:
|
||||
|
||||
+ Windows 10 ISO in neuester Version
|
||||
+ Rufus: [https://rufus.ie/](https://rufus.ie/)
|
||||
+ ImgBurn: [http://www.imgburn.com/](http://www.imgburn.com/)
|
||||
+ autounattend.xml [hier aus dem repo runterladen](../windows/autounattend.xml)
|
||||
+ Powershell-Script für die Installation [hier aus dem repo runterladen](../windows/Setup.ps1)
|
||||
+ USB-Stick mind. 8GB
|
||||
+ Einen Rechner auf dem Windows installiert ist
|
||||
|
||||
Nachdem alle notwendige Software installiert ist können wir beginnen.
|
||||
|
||||
a) Entpacke die Windows 10-ISO an einen Ort wo du sie wiederfindest
|
||||
|
||||
1. die Windows 10 kann unter Windows sehr einfach als Laufwerk gemountet werden. Entweder indem man einen Doppelklick auf die ISO macht oder einen Rechtsklick auf die ISO macht und dann „Bereitstellen“ auswählt. 
|
||||
|
||||
Die Windows-ISO wird damit als neues Laufwerk gemountet und in einem Fenster geöffnet. (In meinem Fall ist der Laufwerkbuchstabe H:)
|
||||
|
||||

|
||||
|
||||
2. Kopiere den gesamten Inhalt der Windows-ISO. Mit Strg+A kann der gesamte Inhalt markiert werden. Dann Rechtsklick → Kopieren auswählen
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
3. Füge das kopierte an der vorher gewählten Stelle wieder ein. In meinem Fall ist der Ordner "Win 10"
|
||||
|
||||

|
||||
|
||||
b) Kopiere die vorher runtergeladene autounattend.xml in das Stammverzeichnis der entpackten ISO, sodass es aussieht wie hier:
|
||||
|
||||

|
||||
|
||||
c) Als nächstes muss noch das Powershell-Script an die passende der ISO kopieren, dies ist allerdings etwas aufwändiger und braucht eine Powershell. Bitte der Anleitung an dieser Stelle Schritt für Schritt folgen und die Pfade mit den korrekten Pfaden ersetzen:
|
||||
|
||||
1. Öffne eine Administrator-Powershell. Dazu kann einfach mit derWindows-Suche im Startmenü nach Powershell gesucht werden. Mit einem Rechtsklick kann eine Administrator-Powershell geöffnet werden:
|
||||
|
||||

|
||||
|
||||
2. Prüfe nochmals dass du in einer Administrator-Powershell bist. Wenn alles korrekt ist, sollte „system32“ im Pfad zu sehen sein:
|
||||
|
||||

|
||||
|
||||
3. Wechsle nun in das Hauptverzeichnis der Systemplatte (in meinem Fall ist dies C:). Dazu kannst du den „cd“-Befehl nutzen. Für meinen Fall lautet das Command also:
|
||||
|
||||
cd C:\
|
||||
|
||||
4. Erstelle dort ein Verzeichnis. Das wirst du später brauchen. Ich hab meines „iso“ genannt. Um das Verzeichnis zu erstellen lautet der Befehl:
|
||||
|
||||
mkdir iso
|
||||
|
||||
5. Nutze jetzt das Tool DISM in der Powershell um die install.wim der ausgepackten ISO zu inspizieren. Dazu kommt folgender Befehl zum Einsatz (der Pfad ist entsprechend anzuspassen):
|
||||
|
||||
dism /Get-WimInfo /WimFile:C:\Users\Stefan\Desktop\test\Win10\sources\install.wim
|
||||
|
||||
Dies zeigt alle in der ISO vorhandenen Installationsmöglichkeiten, wie hier zu sehen:
|
||||
|
||||

|
||||
|
||||
6. Mounte den entsprechenden Index (Nummer der Installationsmöglichkeit aus der Liste zuvor) in in Nr. 4 erstellten Ordner. In meinem Beispiel habe ich Windows 10 Home gewählt, deshalb ist meine Index-Nummer 1. Für Windows 10 Pro müsste Index-Nummer 5 gewählt werden. Gemountet wird die install.wim mit folgendem Befehl:
|
||||
|
||||
dism /Mount-Wim /WimFile:C:\Users\Stefan\Desktop\test\Win10\sources\install.wim /index:1 /MountDir:C:\iso
|
||||
|
||||
wenn der Vorgang abgeschlossen ist befindet sich unter C:\iso die Systemfestplatte die bei einer neuen Windows-Installation kopiert wird. Dies bedeutet wenn wir dort eine Datei hineintun und die install.wim wieder schließen. Bei einer neuen Installation mit dem modifizierten ISO ist die Datei dann in der neuen Installation auch an der gleichen Stelle zu finden.
|
||||
|
||||
7. Kopiere nun die am Anfang runtergeladene Setup.ps1 (Powershell-Script) in das Verzeichnis C:\iso sodass es aussieht wie hier (für das Kopieren ist eine Bestätigung als Administrator erforderlich.):
|
||||
|
||||

|
||||
|
||||
8. Sobald dies erledigt ist musst du nur noch die Änderungen „commiten“ und die install.wim unmounten. Stelle vorher sicher dass kein Fenster des Windows-Explorer mehr geöffnet ist! Dies erledigt dieser Befehl:
|
||||
|
||||
dism /Unmount-Image /MountDir:C:\iso /Commit
|
||||
|
||||
9. (optinal) Die Schritte 5 – 8 müssen nun noch für alle anderen Indexe wiederholt werden, die das Script ebenfalls enthalten sollen. Statt Index 1 für Windows 10 Home kann dann bsw. Index-Nummer 5 für Windows 10 Pro verwendet werden. Wenn alle gewünschten Indexe modifiziert sind kann mit der Anleitung fortgefahren werden.
|
||||
|
||||
d) Im nächsten Schritt erstellen wir aus unserem Ordner mit der entpackten ISO wieder eine Windows 10-ISO die auf einen USB-Stick kopiert werden kann und für eine Installation verwendet werden kann.
|
||||
|
||||
Dazu startest du einfach das Programm ImgBurn und folgst den Screenshots:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
e) im letzten Schritt kann die ISO dann mithilfe des Programms Rufus auf einen USB-Stick kopiert werden. Starte dazu das Programm Rufus und folge der Anleitung:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Bei der Erstellung des Sticks darauf achten ob das Zielsystem BIOS oder UEFI nutzt und die Einstellungen entsprechend anpassen. (siehe Screenshot 31-UEFI oder 31-BIOS)
|
||||
|
||||
BIOS:
|
||||
|
||||

|
||||
|
||||
UEFI:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Sobald Rufus die ISO auf den Stick geschrieben hat kann der USB-Stick für die Installation von Windows 10 verwendet werden.
|
BIN
docs/images/01.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
docs/images/02.png
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
docs/images/03.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
docs/images/04.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
docs/images/05.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
docs/images/06.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
docs/images/07.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
docs/images/08.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
docs/images/09.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
BIN
docs/images/10.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
docs/images/11.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
docs/images/12.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
docs/images/13.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
docs/images/14.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
docs/images/15.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
docs/images/16.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
docs/images/17.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
docs/images/18.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
docs/images/19.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
docs/images/20.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
docs/images/21.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
docs/images/22.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
docs/images/23.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
docs/images/24.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
docs/images/25.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
docs/images/26.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
docs/images/27.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
docs/images/28.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
docs/images/29.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
docs/images/30.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
docs/images/31-BIOS.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
docs/images/31-UEFI.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
docs/images/32.png
Normal file
After Width: | Height: | Size: 29 KiB |
18
windows/Setup.ps1
Normal file
|
@ -0,0 +1,18 @@
|
|||
Write-Host Richte arabisches und persisches Tastatur-Layout ein... -ForegroundColor Yellow
|
||||
|
||||
$LanguageList = Get-WinUserLanguageList
|
||||
|
||||
#Adds arabisch-Egypt, Persisch to layouts:
|
||||
$LanguageList.Add("ar-EG")
|
||||
$LanguageList.Add("fa-IR")
|
||||
|
||||
#sets the entries we added above.
|
||||
Set-WinUserLanguageList $LanguageList
|
||||
|
||||
Write-Host Installiere chocolatey und weitere Software für das System -ForegroundColor Yellow
|
||||
|
||||
#Install Chocolatey
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
||||
|
||||
#Install Software with choclatey
|
||||
choco install vlc 7zip gimp libreoffice-fresh keepass inkscape firefox thunderbird foxitreader --yes
|
64
windows/autounattend.xml
Normal file
|
@ -0,0 +1,64 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<unattend xmlns="urn:schemas-microsoft-com:unattend">
|
||||
<settings pass="windowsPE">
|
||||
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<SetupUILanguage>
|
||||
<UILanguage>de-DE</UILanguage>
|
||||
</SetupUILanguage>
|
||||
<InputLocale>de-DE</InputLocale>
|
||||
<SystemLocale>de-DE</SystemLocale>
|
||||
<UILanguage>de-DE</UILanguage>
|
||||
<UserLocale>de-DE</UserLocale>
|
||||
<UILanguageFallback></UILanguageFallback>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<UserData>
|
||||
<AcceptEula>true</AcceptEula>
|
||||
<Organization>computertruhe</Organization>
|
||||
<ProductKey>
|
||||
<Key></Key>
|
||||
<WillShowUI>Always</WillShowUI>
|
||||
</ProductKey>
|
||||
</UserData>
|
||||
</component>
|
||||
</settings>
|
||||
<settings pass="oobeSystem">
|
||||
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<InputLocale>de-DE</InputLocale>
|
||||
<SystemLocale>de-DE</SystemLocale>
|
||||
<UILanguage>de-DE</UILanguage>
|
||||
<UILanguageFallback></UILanguageFallback>
|
||||
<UserLocale>de-DE</UserLocale>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<OOBE>
|
||||
<HideEULAPage>true</HideEULAPage>
|
||||
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
|
||||
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
|
||||
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
|
||||
<ProtectYourPC>3</ProtectYourPC>
|
||||
</OOBE>
|
||||
<UserAccounts>
|
||||
<LocalAccounts>
|
||||
<LocalAccount wcm:action="add">
|
||||
<Description>ein Test</Description>
|
||||
<DisplayName>User</DisplayName>
|
||||
<Group>Administrators</Group>
|
||||
<Name>User</Name>
|
||||
</LocalAccount>
|
||||
</LocalAccounts>
|
||||
</UserAccounts>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="wow64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<FirstLogonCommands>
|
||||
<SynchronousCommand wcm:action="add">
|
||||
<CommandLine>powershell -ExecutionPolicy Unrestricted -F C:\Setup.ps1</CommandLine>
|
||||
<Description>adds keyboard layouts</Description>
|
||||
<Order>1</Order>
|
||||
<RequiresUserInput>false</RequiresUserInput>
|
||||
</SynchronousCommand>
|
||||
</FirstLogonCommands>
|
||||
</component>
|
||||
</settings>
|
||||
<cpi:offlineImage cpi:source="wim:c:/users/stefan/desktop/test/win10/sources/install.wim#Windows 10 Home" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
|
||||
</unattend>
|