Closed scottmuc closed 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:
Machine specs: https://pcpartpicker.com/b/wX9J7P
Motherboard Drivers and BIOS: https://www.gigabyte.com/Motherboard/X570-UD-rev-10/support#support-dl-bios
New NVMe drive Samsung 980 PRO 1TB PCIe 4.0
New SSD drive Samsung 870 EVO 2TB
[x] Run Novabench to see "before" stats.
[x] Record current driver versions of what's installed and what Gigabyte provides.
[x] Upgrade BIOS (current version is F1
which is the original BIOS version. Here are some instructions
[x] Install NVMe drive and ensure Windows can install onto it.
[x] Install new SATA drive and ensure it can be seen by the BIOS
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.
Interestingly, my GPU score went up but my Storage score went down (disk is nearly full):
Previous post repave score recorded here: https://github.com/scottmuc/infrastructure/issues/47#issuecomment-1416773544
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.
BIOS tool was straightforward. Now running BIOS F36
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.
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.
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:
Benchmark after the repave:
Surprised the disk is roughly the same performance.
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!
❤️
TODO:
Z:
drive as a validation stepWhile 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.
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.
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.
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.
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:
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.
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] backup stuff if you think you need it.
[x] prepare USB device with a Windows installer.
Here's the latest documentation I followed to make a USB installer.
Repave
[x] boot to the USB.
F12
while machine is rebooting to load boot menu.[x] wipe old partitions.
[x] run Windows installer.
Post Paving
[x] Set machine hostname
This can come in handy for all services that have recorded the machines hostname for security verification. The timestamp in the name and other metadata can make future auditing a bit easier.
The convention is YYYYMMDD-something meta.
Test if this can be done in powershell.
[x] Install Chocolatey
[x] Install BoxStarter
choco install Boxstarter
[x] Install Boostrap BoxStarter Package
Thanks Rich Turner for your excellent example!
Launch Boxstarter Shell with elevated privileges:
[x] Windows update
[x] Install Main BoxStarter Package
Thanks Rich Turner for your excellent example!
Launch Boxstarter Shell with elevated privileges:
[x] Install 1 Password
[x] Configure Brave
Do the following:
[x] Install and configure Google Drive
[x] Setup Radeon Software
I'm not sure what to do here. Here are a couple helpful links:
[x] Install and configure Samsung Magician
Download the installer and run it. Enable the performance profile.
[x] Run Novabench
Score should be around:
[x] Unpin items for TaskBar
[x] Pair speakers and XBox controller
[x] Configure 2nd monitor (TV)
[x] Make this template slightly better