Last weekend I found myself in the unfortunate position where my Windows 10 installation was no longer stable and I couldn’t figure out how to save it. After 2 days of failing attempts to rescue it I decided to set it up from scratch.
Since Infrastructure as Code (IaC) is a vital part of DevOps I decided to apply it in this case as well. In my working life I already rely on Chocolatey to install most of my software. Boxstarter builds on top of Chocolatey and supports the fully automated setup of a new Windows machine.
Below you’ll find the steps I followed to set up my new Windows machine.
Back Up Files
Before starting any work make sure to back up your files! Using the backup feature of Windows 10 allows the restoration of the original system if anything goes wrong with the new installation.
Preparation for Installation
- Create a Windows 10 boot drive
- Copy the following files to a USB stick:
- Download the latest version of Boxstarter from GitHub and unzip the package (e.g.
boxstarter-2.13.zip > [usb_stick]:\Boxstarter). - List with Chocolatey packages for Boxstarter to install. You can use my list with software for pipeline and tools development to directly install it or to use it as the starting point for your own list (e.g.
[usb_stick]:\SoftwareList.txt).
- Download the latest version of Boxstarter from GitHub and unzip the package (e.g.
- [Optional] Set up RAID in BIOS for primary volume
Installation of Windows 10
There is nothing special about the installation of Windows 10. However, below you’ll find a list of the most important steps.
- Put the Windows 10 boot drive into a USB 2.0 slot on the motherboard
- Hit F8 at boot time to access the boot device selection menu
- Select UEFI
- Install Windows 10
- [Optional] Create image of clean Windows 10 installation
Automated Installation of Software
After Windows has been installed, Boxstarter can be directly executed from the USB stick.
[usb_stick]:\Boxstarter\Boxstarter.bat [usb_stick]:\SoftwareList.txt
This call will prompt you to elevate the process to admin mode. It will automatically install all software from the provided list, including including Chocolatey.
The machine will be restarted whenever necessary. In order to avoid the process from stalling it will ask for your user credentials. That way the entire software list will installed automatically.
Manual Installation of Software
Some software packages don’t have Chocolatey packages and need to be installed manually. Furthermore some services require a manual setup.
For my personal setup I installed the following software and services manually:
- Software
- Autodesk Maya
- Unreal Engine
- Franz
- Settings:
%userprofile%\AppData\Roaming\Franz\Partitions
- Settings:
- Mailbird
- Settings:
%userprofile%\AppData\Local\Mailbird
- Settings:
- Splashtop
- Shotgun Desktop App
- Windows Updates
- Services
- LastPass Google Extension
- VPN
- Settings
- Git
- OpenVPN
- Settings:
%userprofile%\.ssh
- Settings:
Additional Resources
- Official Chocolatey Website
- Official Boxstarter Website
- Easily Script Machine Reinstalls with Boxstarter
- This is a blog post from Matt Wrock, project founder of Boxstarter, that describes the idea behind Boxstarter.
Leave a Reply