Installing A Windows Desktop
|
|
|
Pre-Setup
BIOS Time Set To UTC vs Local Time
Windows 8 and 10 have support for setting the time to UTC and may even detect if the system time is in UTC or local time.
There are still a couple of bugs as noted below, but the trade-off may be worth it to you. Every other OS expects the clock to be set to UTC.
- Windows will not sync to time servers if told that the BIOS clock is UTC.
- Windows may hang if running during the switch to and away from DST if told that the BIOS clock is UTC.
If you are unsure of how UTC relates to your time zone, you can use Google to query UTC time.
Partitioning
Please read Drive Partitioning first as it contains a lot of good information.
BIOS+MBR vs UEFI+GPT
Windows falsely ties GPT with UEFI and MBR with BIOS.
It's strongly suggested to use UEFI with GPT when possible as it allows for at least 128 partitions. In general, you can let Microsoft (and OEMs) do whatever they want to your hard drive as it's nearly impossible to deplete the alotment of partitions.
If your system uses legacy BIOS with MBR, you may wish to partition the drive yourself, especially if you plan on installing a second OS onto the drive.
- Any bootable Windows parition must occur on a primary partition
- MBR is limited to 4 primary paritions
- One of which can be an extended partition (which then lets you create unlimited logical partitions)
Parition Alignment
Starting with Vista, Windows will align partitions to 1MiB boundaries, so basic partitioning via Windows Setup is OK.
Shrinkinng NTFS Partitions
Windows Vista introduced the ability to shrink NTFS partitions, even those currently in use. This can be incredibly useful on OEM PCs if you want to make room for a second OS.
If you're trying to end a Windows partition at a particular boundary, you may want to under-allocate and then use something like GNU parted to re-create the Windows partition at the boundary you want and then use diskpart
with expand filesystem
when you get back into Windows.
Microsoft Reserved Partition
Starting with 7, Windows will create a Microsoft Reserved partition when given a GPT disk with no partitions:
- Windows 7 & 8: 128MiB
- Windows 10: 16MiB
Windows Recovery Parition
Starting with 8, Windows will create a Windows Recovery partition:
- Windows 8: 300MB as the first partition, shown during volume selection
- Windows 10: 450MB as the last partition, hidden during volume selection
This partition is different from an OEM recovery partition.
Pre-Download
Starting with Windows 10, Microsoft keeps its ISO updated.
You may also wish to download video card drivers before hand, as AMD and NVIDIA usually offer drivers that are more up-to-date than what's available via Windows Update. Download either AMD Driver Auto-Detect or NVIDIA GeForce Experience
Use Windows Updates Downloader to download security updates for your version of Windows.
- Use FOR %U IN (*) DO START /W %U /QUIET /NORESTART to execute all security updates in a given folder.
Download Anti-virus such as Avira or Kaspersky if Windows' built-in Defender isn't enough for you.
During Setup
Administration
The default in Windows is that the first user created is part of the Administrators group and subsequent accounts are Standard Users. This wiki recommends you choose one of the following:
- Create one account not named Administrator that will be part of the Administrators group and use that for administrative duties while creating Standard User accounts for daily use. This allows you to have laxer password complexity on the account that acts as an Administrator.
- Create an account for yourself that you will later drop to Standard User after re-enabling the Administrator account using net user administrator /active:yes. This route requires that you know full-well that people will try to attack the Administrator account but you feel confident in your password complexity.
Use a short name rather than a full name when creating user accounts to get short directory names. (E.g., john
instead of John Smith
) You can use netplwiz
to change full details. Changes to the name in User Accounts in Control Panel only affect the full name.
Microsoft Account
Starting with Windows 10, Microsoft really, really wants you to use a Micrsoft Account to log into Windows. While the prospect of not having to tune settings on every individual machine you own might be a nice prospect for some, others won't like the privacy implications of tying your Windows usage to an account under Microsoft's complete purvue.
Privacy implications aside, one useful feature of using a Microsoft Account is that Microsoft allows you to manage your Windows licenses. To tie a Windows license for a machine to your Microsoft Account, use your Microsoft Account as the first account created during Windows Setup. Should something go horribly wrong, Microsoft Tech Support will be looking for this tie. Once the Windows license is associated with your account, you can stop using and delete the Microsoft Account from the machine if you want.
Post Setup
Common Configuration Options
DPI settings
For HTPC setups, 96 DPI is unreadable from 9 feet away.
- Control Panel → Appearance and Personalization → Display → Set Custom text size (DPI)
This will only affect your login. To make this change to the login screen, you need to edit the registry.
NB: word values are hexadecimal, not decimal. 0x60 is 90 decimal, 0x78 is 120 decimal, and 0x90 is 144 decimal.
reg add "HKEY_USERS\.DEFAULT\Control Panel\Desktop" /v LogPixels /d 90 /t REG_QWORD /f
Replace QWORD
with DWORD
for 32-bit Windows.
Re-Enable the Administrator Account
net user administrator /active:yes net user administrator <new-password>
Configure/Disable Password Expiration
Starting with Windows 11, Windows enables password expiration after 42 days.
The age at which passwords expire can be changed:
net accounts /maxpwage:<days>
Password expiration can also be disabled altogether:
wmic UserAccount where Name="<username>" set PasswordExpires=False
Disable Search Indexing
- Control Panel > Indexing Options
- Control Panel > File Explorer Options > Search
- Drive Properties > Uncheck Allow files on this drive to have contents indexed in addition to file properties
sc config wsearch start=disabled sc stop wsearch
Temporarily Disable System Restore
Internet Explorer, Windows Media Player, some Hotfixes, and some third-party installers will all create a restore point. No sense having this running during the initial setup of Windows as you're so close to sqaure one anyway.
rstrui.exe
Hibernation
For desktop computers, or computers with SSDs, you may not want to hibernate.
powercfg -h off
Power Management
For at least the duration of setting up Windows, you may want to keep the computer fully awake.
Page File
With the RAM that most computers have nowadays, it makes little sense to have much of a swap file. You still want some space so that Windows can swap out parts of memory that aren't really being used. Some Windows programs will balk with the lack of a swap file.
wmic pagefileset where name="C:\\pagefile.sys" set InitialSize=512,MaximumSize=512
Disable Fast Startup
Windows Fast Startup does a hybrid sleep where everything is closed down on the software side, but the hardware is put into a sleep state before shutdown. If you multi-boot, this can be more of a hindrance than a feature. The major cause of concern is that mounted filesystems in Windows remain in a "in-use" state (the "dirty bit") and unsafe to mount.
- Control Panel > Hardware and Sound > Power Options > (left pane) Choose what the power buttons do > uncheck Turn on fast startup
Set Windows to use RTC in UTC
Only do this if your BIOS clock is set to UTC instead of local time!
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_QWORD /f
Replace QWORD
with DWORD
for 32-bit Windows.
Tweaks
- Disable Homegroups
- Leave the homegroup
- Disable HomeGroup services
- Edit registry
- Take ownership of HKEY_LOCAL_MACHINE\SOFTWARE\Classes\{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}
- Add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}\System.IsPinnedToNameSpaceTree=qword:0
Other Programs
It's recommended to rely on Chocolatey (Windows 10 and earlier) or winget
(pre-installed in Windows 11) for program installation and to keep your programs updated. However, some applications are auto-updating and it's best to install them directly.
- AMD Adrenaline (Radeon and AMD chipset drivers)
- Discord
- NVIDIA GeForce Experience
- Steam
- Partition Tool
- AOEMI Partition Assistant (for functionality)
- Active@ Partition Manager (for information)
- Avoid EaseUS Partition Master and Mini-Tool Partition Wizard as they're bundleware.
- Windows Terminal
- GitHub (users must update manually)
- Microsoft Store (updates automatically)
Chocolatey
In PowerShell:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
WinGet
winget
comes pre-installed in Windows 11.
WinGet used to default to machine
(system) scope when run as Administrator and user
scope otherwise. WinGet now defaults to user
scope all the time. This can be changed by running winget settings
and specifying installBehavior.preferences.scope = user
:
"installBehavior": { "preferences": { "scope": "user" }
GSudo
Windows Terminal is a per-user application (installed in C:\Users\$USER
) not a system application (installed in C:\Program Files
). This breaks the Run As Administrator
function.
choco install gsudo
winget install gerardog.gsudo
Applications
Standard Utilities
These are basic utilties recommended for every user.
choco install 7zip.install [ cdburnerxp | imgburn | '''infrarecorder''' ] chocolateygui greenshot kdeconnect-kde keepass.install vscodium.install
winget install 7zip.7zip [ Canneverbe.CDBurnerXP | LIGHTNINGUK.ImgBurn | '''ChristianKindahl.InfraRecorder''' ] Greenshot.Greenshot KDE.KDEConnect DominikReichl.KeePass VSCodium.VSCodium
Power-User Utitlies
choco install hxd ultravnc windirstat winmerge
winget install uvncbvba.UltraVnc WinDirStat.WinDirStat WinMerge.WinMerge
winget
does not have a package for HxD.
GNU/Linux Utilities (Windows Native Ports)
choco install git.install gnuwin32-coreutils.install wget xming
winget install Git.Git Xming.Xming
winget
does not have a package for GnuWin32. It does have a small subset of individual utilities that can be found with winget search gnuwin32
.
Audio
choco install audacity audacity-ffmpeg audacity-lame eac mediamonkey
Cloud Storage
choco install dropbox google-backup-and-sync sugarsync
winget install Dropbox.Dropbox Google.GoogleDrive
winget
does not have packages for SpiderOak services nor SugarSync
Neither client has a package for pCloud Drive.
Fonts
choco install jetbrainsmono lato robotofonts sourcecodepro ubuntu.font
winget
does not have packages for any font.
Grpahics
choco install gimp inkscape paint.net
winget install GIMP.GIMP Inkscape.Inkscape paint.net
Edit with GIMP
If you want to keep the association with Windows' Photos for image viewing but be able to get a right-click option to edit with GIMP:
edit-with-gimp.reg
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\Edit with GIMP] "Icon"="\"C:\\Program Files\\GIMP 2\\bin\\gimp-2.10.exe\"" [HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\Edit with GIMP\command] @="\"C:\\Program Files\\GIMP 2\\bin\\gimp-2.10.exe\" \"%1\""
reg import edit-with-gimp.reg
Hardware
choco install amd-ryzen-chipset crystaldiskmark cpu-z hwinfo.install hwmonitor intel-chipset-device-software
winget install CrystalDewWorld.CrystalDiskMark CPUID.CPU-Z CPUID.HWMonitor REALiX.HWiNFO
winget
does not have packages for AMD chipset drivers nor Intel chipset drivers.
Internet
choco install [ chromium | firefox | googlechrome | ungoogled-chromium ] nextcloud-client qbittorrent syncthing thunderbird
winget install [ Hibbiki.Chromium | Google.Chrome | eloston.ungoogled-chromium | Mozilla.Firefox ] Nextcloud.NextcloudDesktop qBittorrent.qBittorrent SyncTrayzor.SyncTrayzor Mozilla.Thunderbird
Communication
choco install mumble pidgin skype
winget install Mumble.Mumble Pidgin.Pidgin Microsoft.Skype
Office
choco install dia foxitreader librecad libreoffice-fresh libreoffice-help onlyoffice
winget install gnome.Dia LibreCAD.LibreCAD TheDocumentFoundation.LibreOffice TheDocumentFoundation.LibreOffice.HelpPack ONLYOFFICE.DesktopEditors
Virtualization
choco install qemu virtualbox virtualbox.extensionpack
winget install SoftwareFreedomConservancy.QEMU Oracle.VirtualBox
winget
does not have a package for the Virtualbox Extension Pack.
Video
choco install handbrake.install mpvnet.install obs-studio.install vlc
winget install HandBrake.HandBrake KDE.Kdenlive mpv.net OBSProject.OBSStudio VideoLAN.VLC
Not Taken Care Of With Chocolatey
CPU Burn-in | Joystick2Mouse 3 | LADSPA for Audactiy | Lightscribe
Ongoing
Extend Evaluation Periods
If you are using an Enterprise Evaluation edition of Windows, you can re-arm the 90-day evaluation period up to 3 times:
slmgr /rearm