Windows 10 installation guide¶
Pre-installation¶
-
Download Windows 10 64 bits version ISO image.
-
Generate a desktop from that media with the following virtual hardware:
- Viewers: SPICE
- vCPUS: 4
- Memory (GB): 8
- Videos: Default
- Boot: CD/DVD
- Disk Bus: Default
- Disk size (GB): 100
- Networks: Default
- Template: Microsoft windows 10 with Virtio devices UEFI
-
Edit desktop and assign more Media, so that it will end up with the following:
- Win10_22H2 - ES (installer)
- virtio-win-X (drivers)
- Optimization Tools (optimization software for Windows O.S.)
Installation¶
Windows 10 Pro¶
-
Send "Ctr+Alt+Supr" and press any keyboard key on second screen
-
Installation type
-
Load operating system drivers
System¶
-
Shut-down the desktop and edit it to modify virtual hardware Boot option from CD/DVD to Hard Disk
-
Start the desktop, it will take a few seconds to start the operating system:
-
Select the following options on agent following steps
-
Shut-down desktop and edit it to assign only the following media (if you want to skip this step, you will still have to shut down the desktop and restart it, do not reboot):
- virtio-win-X (drivers)
- Optimization Tools (optimization software for Windows O.S.)
Configuration¶
Update and install¶
-
Install virtio drivers from assigned desktop Media. Both installations are fast and have to only press Next button.
-
Check system updates, which will take a long time to download and install, in order to be up to date with the latest version of Windows Server (it may be necessary to reboot the system several times to check for new updates).
-
The following applications are installed and their installers are saved in the new admin folder in the path C:\admin.
- Firefox
- Google chrome
- Libre Office
- Gimp
- Inkscape
- LibreCAD
- Geany
- Adobe Acrobat Reader
User admin and privilege changes¶
In a Powershell with administrator privilege:
-
Create admin user in Administradores group
$Password = Read-Host -AsSecureString New-LocalUser "admin" -Password $Password -FullName "admin" Add-LocalGroupMember -Group "Administradores" -Member "admin"
-
Create user user in Usuarios group
New-LocalUser "user" -Password $Password -FullName "user" Add-LocalGroupMember -Group "Usuarios" -Member "user"
-
Change C:\admin folder privileges
Disable inheritance of the folder and check the first option
All other users with privileges are removed to leave only Administradores
Uninstall applications and modifying Microsoft settings¶
-
In a CMD with administrator privileges, uninstall Microsoft Edge:
cd %PROGRAMFILES(X86)%\Microsoft\Edge\Application\9*\Installer setup --uninstall --force-uninstall --system-level
-
In a Powershell with administrator privileges, uninstall the following packages and applications:
Get-AppxPackage -Name Microsoft.Xbox* | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.Bing* | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.3DBuilder | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.Advertising.Xaml | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.AsyncTextService | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.BingWeather | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.BioEnrollment | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.DesktopAppInstaller | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.GetHelp | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.Getstarted | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.Microsoft3DViewer | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.MicrosoftEdge | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.MicrosoftEdgeDevToolsClient | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.MicrosoftOfficeHub | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.MicrosoftSolitaireCollection | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.MicrosoftStickyNotes | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.MixedReality.Portal | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.Office.OneNote | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.People | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.ScreenSketch | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.Services.Store.Engagement | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.Services.Store.Engagement | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.SkypeApp | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.StorePurchaseApp | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.Wallet | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.WindowsAlarms | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.WindowsCamera | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.WindowsFeedbackHub | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.WindowsMaps | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.WindowsSoundRecorder | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.WindowsStore | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.XboxGameCallableUI | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.YourPhone | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.ZuneMusic | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Microsoft.ZuneVideo | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name SpotifyAB.SpotifyMusic | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name Windows.CBSPreview | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name microsoft.windowscommunicationsapps | Remove-AppxPackage -ErrorAction SilentlyContinue Get-AppxPackage -Name windows.immersivecontrolpanel | Remove-AppxPackage -ErrorAction SilentlyContinue
-
Open msconfig by pressing Windows + R or from a CMD, and disable the following services (restart the system if requested):
- Administrador de autenticación Xbox Live
- Centro de seguridad
- Firewall de Windows Defender
- Mozilla Maintenance Service
- Servicio de antivirus de Microsoft Defender
- Servicio de Windows Update Medic
- Windows Update
- Adobe Acrobat Update Service
- Servicio de Google Update (gupdate)
- Servicio de Google Update (gupdatem)
- Google Chrome Elevation Service
-
The Adminitrador de tareas is opened and in the Inicio tab disable (restart the system if requested):
- Cortana
- Microsoft OneDrive
- Windows Security notifications
-
The items that appear on the right in the Inicio, Productividad and Explorar menus are removed:
-
Windows notifications are disabled in Configuración - Sistema - Notificaciones y acciones
-
Connections via Remote Desktop are enabled. The first checkbox is enabled, and the second checkbox is disabled in Configuración avanzada.
-
Shut-down the desktop and edit it with the following virtual hardware:
- Viewers: RDP and Browser RDP
- Login RDP:
- User: isard
- Password: pirineus
- vCPUS: 4
- Memory (GB): 8
- Videos: Default
- Boot: Hard Disk
- Disk Bus: Default
- Networks: Default and Wireguard VPN
Autologon¶
-
To enable automatic login at system startup, the Autologon is installed.
-
Unzip the downloaded file and run Autologon64.
-
Enter the password pirineus.
Catalan (optional)¶
Before running Optimization Tools, change the language to Catalan by following the steps below; otherwise, you can skip this section.
-
In Configuración - Hora e idioma - Idioma add Idioma preferido Català (logout if requested)
-
The change is replicated throughout the system (reboot the system if requested).
Optimization tools¶
-
Run file from desktop assigned media
-
Press button Analyze and then Common options
-
Configure options as in images below
IF CATALAN LANGUAGE IS SET, IF NOT SKIP
Filter by the word language and deactivate the following 3 options.
Windows Defender¶
Maximum CPU Usage¶
By default, Microsoft Defender antivirus uses a maximum of 50% CPU. This can be verified with the PowerShell order:
Get-MpPreference | select ScanAvgCPULoadFactor
Windows 10 | Windows 11 |
---|---|
Specify maximum CPU usage in PowerShell¶
With the command Set-MpPreference -ScanAvgCPULoadFactor 25
(Microsoft Documentation) in administrator mode can be limited to 25% of the CPU. By changing the number, you can specify the maximum percentage with a number from 5 to 100 and 0 disabling it.
Results¶
CPU Usage in a Quick Exam¶
When performing a system scan, with a machine set to 100% (left) and a machine set to 5% (right) the results are the same and the quick scan uses 25% of the processor.
Exclusions¶
The following low-risk file types and directories should be added to the exclusion list:
Note
Windows does not allow swap files to be added to exclusions