scottmuc / infrastructure

Documentation / Automation for personal third-party infrastructure
The Unlicense
11 stars 2 forks source link

Rebuild Windows PC - Hardware and BIOS Upgrades Too #57

Closed scottmuc closed 1 year ago

scottmuc commented 1 year ago

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing all the previous repave issues. Have fun!

Prep

  • [x] prepare USB device with a Windows installer.

    Instructions

    Here's the latest documentation I followed to make a USB installer.

  • Repave

  • [x] wipe old partitions.

  • [x] run Windows installer.

  • Post Paving

  • [x] Install BoxStarter

    Instructions
    • choco install Boxstarter
  • [x] Install Boostrap BoxStarter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Boxstarter Shell with elevated privileges:

    Install-BoxstarterPackage -DisableReboots -PackageName https://raw.githubusercontent.com/scottmuc/infrastructure/main/homedirs/windows/boxstarter.bootstrap.ps1

  • [x] Windows update

  • [x] Install Main BoxStarter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Boxstarter Shell with elevated privileges:

    Install-BoxstarterPackage -DisableReboots -PackageName $(Join-Path -Path $Env:USERPROFILE -ChildPath "workspace/infrastructure/homedirs/windows/boxstarter.ps1")

  • [x] Install 1 Password

  • [x] Configure Brave

    Instructions

    Do the following:

    • Ensure 1 Password extension works
    • Getpocket installed
    • Unhook extension is installed (and support the author)
    • Set searrch engine to DuckDuckGo
  • [x] Install and configure Google Drive

  • [x] Setup Radeon Software

    Instructions

    I'm not sure what to do here. Here are a couple helpful links:

  • [x] Install and configure Samsung Magician

    Instructions

    Download the installer and run it. Enable the performance profile.

  • [x] Unpin items for TaskBar

  • [x] Pair speakers and XBox controller

  • [x] Configure 2nd monitor (TV)

  • [x] Make this template slightly better

  • scottmuc commented 1 year ago

    This repave is going to be a bit more significant because I'm planning on doing a BIOS upgrade as well as installing a new NVMe drive for the OS install, and use a separate SATA drive for persistent files (game installs, etc...).

    While preparing for this, I found it useful to have the following resources handy, and should be added to the repave template:

    The BIOS updates include new versions of AMD AGESA which looks like something I should better understand. Will be interesting to see how the benchmarks differ after this repave.

    scottmuc commented 1 year ago

    Interestingly, my GPU score went up but my Storage score went down (disk is nearly full):

    image

    Previous post repave score recorded here: https://github.com/scottmuc/infrastructure/issues/47#issuecomment-1416773544

    scottmuc commented 1 year ago

    I installed the App Center software and accidentally had it update all my driver versions. Not sure how I got confused with the UI but unfortunately it means I don't know what versions I had. The UI showed all the drivers were available so I can tell that everything was out of date.

    It looks like I can install a BIOS tool via App Center so I'm going to give it a whirl. Having to install App Center to keep all the mainboard stuff up-to-date doesn't seem like too much of a compromise.

    image

    scottmuc commented 1 year ago

    BIOS tool was straightforward. Now running BIOS F36

    image

    scottmuc commented 1 year ago

    Interesting, as a result of the BIOS upgrade, my machine now meets the requirements for Windows 11. TPM was disabled (I don't recall seeing that setting in the BIOS before). I'm interested in Windows 11 because it allows me to run native X Server applications that are hosting in WSL.

    image

    scottmuc commented 1 year ago

    20230510_103800

    Installed the NVMe drive. It's so tiny!!! The BIOS and the USB Windows Installer recognized the drive without having to do anything else. Something to note is that I was lucky that the mainboard had the mount screw already there. I would have had to delay the install if It wasn't there.

    The plan now will be to install Windows onto the NVMe drive. I'm going to replace my 500GB SSD (and won't format it) with the 2TB SSD. This way, I have an escape plan if none of this works.

    scottmuc commented 1 year ago

    At the point where Windows is installed on the NVMe drive (it felt quick, but have no data to back that up). A couple issues came up:

    scottmuc commented 1 year ago

    Benchmark after the repave:

    image

    Surprised the disk is roughly the same performance.

    scottmuc commented 1 year ago

    Configuring Steam to store data on the separate SSD was smooth and easy. Was able to play Baba is You with a working "Couching Gaming" automation without issues. Thanks for riding along @willoleary6!

    willoleary6 commented 1 year ago

    ❤️

    scottmuc commented 1 year ago

    TODO:

    scottmuc commented 1 year ago

    While reading about how to use BoxStarter more effectively, I stumbled upon another Windows automation repo that has some useful snippets to try out. Given that it lacks updates, either the developer of it never changes their system, or they've abandoned it. Still, there appears to be some interesting ideas explored in it.

    This is another reminder how much I stress that good automation is frequently used automation. I would have loved to see an evolution of that persons repository towards a BoxStarter implementation. I also disagree with the suggestion to fork and customize. I'd prefer to see some form of upstream repository of general purpose functions and copy+pasted application and customization.

    Continuing down the Windows automation rabbit hole, I stumbled upon Debloat-Windows-10, which has a lot of interesting scripts.

    scottmuc commented 1 year ago

    Repave Learnings

    This went smoothly, even with the multiple changes going on. It highlighted a lot of knowledge that's been lost around core hardware fundamentals. I've already highlighted that the PC I have now is my first build in 20 years. During the course of the last 2 decades, I didn't learn about:

    I can't say I completely understand all of these things. What I wrote above probably isn't totally accurate either, but it's what my current understanding is at the moment.

    Loose Ends

    Since I have the case apart, I'm going to reseat all the hardware. I got some new thermal paste and will apply that to the CPU (and observe what the current state of paste looks like). Then a bit more dusting, and put it all back together.

    Thank You

    Now that my windows repaving automation is becoming a bit more hardened after reuse, I have to give a huge shout out to @mwrock (for starting BoxStarter), @ferventcoder (for starting Chocolatey and now maintainer for BoxStarter), and @bitcrazed (for their BoxStarter gist that got things started for me). Because of their work, I am repaving Windows without any stress and now have a suite of automation that is easy for me to extend as I find more automation itches to scratch.

    scottmuc commented 1 year ago

    Finishing Touches

    I took out the CPU and almost bricked my machine :D. Had the issue where the heatsink was glued to the CPU, and the CPU came out without unlocking the socket! After spending about 15min of gently putting twisting force on the CPU it came off. The result looked like this:

    20230511_143438

    It turns out this is a known issue and I should have spent at least 5min researching this before attempting it.

    After cleaning the CPU and heatsink (paper towel), I then reapplied thermal paste. I believe what was on there was the bit of thermal compound pre-applied to the heatsink. Getting the heatsink mounted back was more difficult than I remember. I takes quite a bit of force to get at least 1 screw to catch with the mountpoint.

    Thankfully the machine boots. I put all the panels back on the machine and will mark this repave as complete.

    Below are the games I've "cached" on my secondary drive that should persist across repaves (roughly 800GB). I think I'll make Time til Baba is You the repaving efficiency metric :D.

    image