Installing A Windows Desktop

From The Brainwrecked Wiki
Revision as of 18:29, 5 July 2022 by BrainwreckedTech (talk | contribs) (Internet: Added winget command line)
Jump to navigation Jump to search

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:

  1. 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.
  2. 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>

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.

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.

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 onedrive spideroak sugarsync

Fonts

choco install jetbrainsmono lato robotofonts sourcecodepro ubuntu.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

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 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