Skip to content

Instantly share code, notes, and snippets.

@stamminator
Last active September 4, 2024 17:24
Show Gist options
  • Save stamminator/142640cca18df9289f377c77f26463ea to your computer and use it in GitHub Desktop.
Save stamminator/142640cca18df9289f377c77f26463ea to your computer and use it in GitHub Desktop.
Windows 11 clean install guide

New Windows 11 Install

This guide details how to set up a clean, decrapified Windows 11 install with as little of Microsoft's bullshit as possible. Most (maybe all) of this work for Windows 10 as well. Apps marked 🛍️ can be downloaded from the Microsoft Store.

  1. Run the Windows Installation Media Creation tool and create an ISO.

  2. Use latest version of Rufus to mount ISO to a fast USB drive and customize settings to enable local account and disable internet requirement.

  3. Use copy/paste (not cut/paste) to back up any files you want to bring to your new install to an external drive. Label them well so you know where to put them in the new install.

  4. Include the following apps/installers in the external drive as well:

    • These instructions :)
    • An installer for a Markdown viewer of some kind to make reading these instructions on your new install easier. Notepad++ with the Markdown Panel plugin should do the trick.
    • Device network/Wi-Fi drivers. The manufacturer's web page for your computer or motherboard should have an installer.
    • ShutUp10 installer
    • CCleaner (x64) portable (don't get the installable version, scroll down for the portable version)
    • Your device manufacturer's driver app, such as Lenovo Vantage, Dell SupportAssist (NOT "My Dell"), MyASUS, etc.
  5. Double check you've got everything you need, then run Reset This PC. Delete everything. Unplug your USB drives for good measure and, if you're using Ethernet for network access, disconnect that.

  6. After system is reset, plug in the installation USB boot into it.

  7. Install Windows with a local admin account, rejecting all the options for tracking/telemetry. Do not try to connect to Wi-Fi. Destroy all prior partitions and install to one giant, empty NTFS partition, allowing the Windows installer to create whatever additional partitions it wants.

  8. Copy your backup files from the external drive to wherever they should go in your new install. Any installers can go in Downloads so you can easily clean them up later, and by convention, I like to put any portable apps (ones that just run without an installer) into %USERPROFILE%\portable-apps.

  9. After installing and logging in, run ShutUp10 and disable Windows 11's bullshit with extreme prejudice. Reboot.

  10. Uninstall any Windows bloat programs. I find CCleaner portable's Tools > Uninstall screen works great. But don't use the other stuff in CCleaner.

  11. Now that we have a clean install, install the network drivers and, if applicable, reconnect your Ethernet cable. Then, run the manufacturer driver app and install any updates. Reboot.

  12. Run Windows Update. This may require more than one reboot to complete.

  13. Re-run ShutUp10 and CCleaner Portable to re-decrapify anything that Windows Update re-crapified. Reboot.

  14. Now it's time to customize your setup and install any apps/tools you like. I like:

    • 7-zip
    • Notepad++ - dark mode is at Settings > Preferences > Dark Mode.
    • Posy's cursors - better Windows cursor.
    • Nilesoft Shell - makes the Windows right-click context menus way better, and customizable. Canary version recommended. If dark mode doesn't work, in the imports\theme.nss file, set dark = true. If the menu items are too honkin big, set view = view.small in that same file.
    • Monitorian 🛍️ - easily control the brightness of all connected monitors using a slider
    • EarTrumpet 🛍️ - more powerful volume control. Not as necessary as it once was, but still better than the built-in Windows control. If you use this, drag the EarTrumpet 🔊 icon down to the tray and drag the Windows one into the hidden icons section so you're not constantly clicking on the wrong one
    • mpv 🛍️ or VLC - video player. VLC has an easier UI, but mpv has greater media format support.
    • XnView MP - lightning fast image viewer with a decent UI. Way better than the bloated Microsoft Photos app.
    • Various codecs from the Microsoft Store to make certain apps support more media formats:
    • ExplorerPatcher - dangerously powerful tool that allows using pieces of the UI from older versions of Windows, like start menu, taskbar, calendar, etc. I personally use it only to switch out the Windows 11 start menu for Windows 10's so I can have actual right-click "jump lists" that work and some customization, which Windows 11 still hasn't implemented.
    • In File Explorer Options, check "show hidden files", uncheck "hide extensions", and set the Navigation Pane settings how you like.
    • Sizer 4 - better window resizing capabilities. If after reboot this isn't starting up automatically, put a shortcut to sizer.exe in %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup, which is also just a useful directory to pin to your Quick Access menu in general.
    • ModernFlyouts (preview) - much better replacement for Windows 10 and 11 media control flyouts. Creating a Startup folder shortcut may also be necessary here.
    • The "Startup apps" page in Windows settings is worth configuring, but if you want more control or have an auto-starting app you want to axe which isn't appearing in this list, use Autoruns64.exe, which is part of SysinternalsSuite.
    • Other cool apps worth drawing attention to:
      • OpenHashTab - adds a Hashes tab to the right-click Properties window of files, which is good for verifying that the installer for an app is the one the author published and hasn't been tampered with by a third party. The next app, WinDirStat, is a good example of this being used.
      • WinDirStat - find out what files/folders are taking up so much goddamn space on your hard drive so you can delete them. Be careful.
      • WinSetView - customize the view settings in File Explorer for columns, thumbnails, etc. better than Windows natively allows (see WinSetView-Custom.ini file for my settings).
      • PowerToys 🛍️ - Various power user tools. Disable what you don't need.
      • ShareX - best free app for doing screen shots on Windows. Traditional installer recommended over MS Store version. Will require disabling the "Use the Print screen key to open screen capture" Windows setting and, if using OneDrive, the screenshot handling in OneDrive. May also require using PowerToys's Keyboard Manager to map the shortcuts you want to ShareX. Thanks for all the hotkey bullshit, Windows.
      • LockHunter - better than PowerToys's File Locksmith.
      • GIMP - open-source photo editor, alternative to Photoshop.
      • ScreenToGif - great for simple screen recordings and converting videos to gifs.
      • Custom Resolution Utility (CRU.exe) - useful for overclocking your monitor refresh rate to see if you can squeeze out more FPS, or for adding a lower refresh rate like 30hz for power savings when using a laptop on battery.
      • CPU-Z - shows you your machine's hardware and BIOS specs.
      • Shutdown Timer Classic 🛍️ - useful if you use your laptop to play a movie while you fall asleep.
      • Dimmer, by Nelson Pires - a hacky but functional way to reduce the display brightness below the minimum level. Useful for nighttime viewing.
      • Everything 1.5 - Windows search is actually pretty good once you disable the garbage Bing searching, but if you need more advanced searching features, this is it.
      • Meld - visualize the differences between two text files.
      • If you use Apple services, check out Apple Devices 🛍️ (modern replacement for iTunes on Windows), Apple TV 🛍️, and Apple Music 🛍️.
      • MagicPods 🛍️ - improves functionality of AirPods and other Bluetooth headphones on Windows. Worth the few bucks.
      • If using the Windows 10 style start menu via ExplorerPatcher, TileIconifier allows you to customize the start menu tiles' icons, text, color, etc.
      • Hurl - if you use more than one web browser, allows you to choose which web browser is used when opening a link.
    • (developer stuff from here on out)
    • Windows Terminal (check if settings in \machine-config)
    • Dev Home (use to install everything except Node.js)
    • Dev Drive (repoint %TMP% and %TEMP%, https://learn.microsoft.com/en-us/windows/dev-drive/), then reboot.
    • DevToys
    • nvm (install LTS and set as default)
    • If not installed by Dev Home:
      • PowerShell 7
      • VS Code
      • Visual Studio 2022
      • git
    • oh-my-posh (use settings in \machine-config, including for clink)
    • Git Extensions (use to config git globals)
    • Configure Everything 1.5 to allow searching ReFS dev drive if applicable
  15. Additional developer/power user setup steps:

    • Add .LNK files to system PATHEXT
    • Add %USERPROFILE%\path to user Path
    • In %USERPROFILE%\path, create npp shortcut to C:\Program Files\Notepad++\notepad++.exe.

Useful shortcuts

I like to use shortcuts (.lnk files) to make running scripts easy. In most cases, make sure the Properties > Shortcut tab's "Start in" is blank and "Run" is minimized.

  • Restart Explorer - pwsh.exe -c "stop-process -name explorer –force"
[Options]
ThemeIndex=3
Language=en-US
Font1=Consolas
Font2=Consolas
Size1=11
Size2=10
Scroll=1
Interface=2
Reset=0
ShowExt=1
CompView=1
Generic=0
SearchOnly=1
SetVirtualFolders=1
NoSuggestions=1
NoNumericalSort=0
Win10Search=0
Win11Explorer=0
LegacySpacing=0
NoFullRowSelect=0
LegacyDialogFix=0
ExplorerStart=1
ExplorerStartOption=4
ExplorerStartPath=C:\Users\jstamm\Downloads
Win10Explorer=0
NoFolderThumbs=0
UnhideAppData=1
ClassicSearch=0
HomeGrouping=0
LibraryGrouping=0
ClassicContextMenu=0
NoSearchInternet=1
NoSearchHighlights=0
ThisPCoption=1
ThisPCView=3
ThisPCNG=0
[Global]
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Downloads]
GUID={885A186E-A440-4ADA-812B-DB871B942259}
Include=1
Inherit=0
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=DateModified
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=-DateModified
[Generic]
GUID={5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Generic.Library]
GUID={5F4EAB9A-6833-4F61-899D-31CF46979D49}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[StorageProviderGeneric]
GUID={4F01EBC5-2385-41F2-A28E-2C5C91FB56E0}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Generic.SearchResults]
GUID={7FDE1A1E-8B31-49A5-93B8-6BE14CFA4943}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Documents]
GUID={7D49D726-3C21-4F05-99AA-FDC2C9474656}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Documents.Library]
GUID={FBB3477E-C9E4-4B3B-A2BA-D3F5D3CD46F9}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[StorageProviderDocuments]
GUID={DD61BD66-70E8-48DD-9655-65C5E1AAC2D1}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Documents.SearchResults]
GUID={36011842-DCCC-40FE-AA3D-6177EA401788}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Music]
GUID={94D6DDCC-4A68-4175-A374-BD584A510B78}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Music.Library]
GUID={3F2A72A7-99FA-4DDB-A5A8-C604EDF61D6B}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[StorageProviderMusic]
GUID={672ECD7E-AF04-4399-875C-0290845B6247}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Music.SearchResults]
GUID={71689AC1-CC88-45D0-8A22-2943C3E7DFB3}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Pictures]
GUID={B3690E58-E961-423B-B687-386EBFD83239}
Include=1
Inherit=0
View=8
IconSize=128
ColumnList=0,50,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,8,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=-DateModified
[Pictures.Library]
GUID={0B2BAAEB-0042-4DCA-AA4D-3EE8648D03E5}
Include=1
Inherit=1
View=8
IconSize=128
ColumnList=0,50,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,8,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=-DateModified
[StorageProviderPictures]
GUID={71D642A9-F2B1-42CD-AD92-EB9300C7CC0A}
Include=1
Inherit=1
View=8
IconSize=128
ColumnList=0,50,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,8,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=-DateModified
[Pictures.SearchResults]
GUID={4DCAFE13-E6A7-4C28-BE02-CA8C2126280D}
Include=1
Inherit=1
View=8
IconSize=128
ColumnList=0,50,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,8,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=-DateModified
[Videos]
GUID={5FA96407-7E77-483C-AC93-691D05850DE8}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Videos.Library]
GUID={631958A6-AD0F-4035-A745-28AC066DC6ED}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[StorageProviderVideos]
GUID={51294DA1-D7B1-485B-9E9A-17CFFE33E187}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Videos.SearchResults]
GUID={EA25FBD7-3BF7-409E-B97F-3352240903F4}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Contacts]
GUID={DE2B70EC-9BF7-4A93-BD3D-243F7881D492}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Contacts.Library]
GUID={524DDB2B-2A4F-43B8-B8FE-E91EF9D8BA69}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Contacts.SearchResults]
GUID={20338B7B-531C-4AAD-8011-F5B3DB2123EC}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[HomeFolder]
GUID={24CCB8A6-C45A-477D-B940-3382B9225668}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[UserFiles]
GUID={CD0FC69B-71E2-46E5-9690-5BCD9F57AAB3}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[UserFiles.SearchResults]
GUID={E053A11A-DCED-4515-8C4E-D51BA917517B}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
[Searches]
GUID={0B0BA2E3-405F-415E-A6EE-CAD625207853}
Include=1
Inherit=1
View=1
IconSize=
ColumnList=0,56,ItemNameDisplay;0,15,DateModified;0,15,DateCreated;0,12,Size;1,,ItemFolderPathDisplay;1,,ItemType
GroupBy=
GroupByOrder=-
FileDialogOption=0
FileDialogView=1
FileDialogNG=1
SortBy=+ItemNameDisplay
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment