bootloader-crimes
bootloader-crimes copied to clipboard
Bootstrap disposable Windows VMs configured through a web app
Bootloader Crimes
A web-based utility for building disposable Windows VMs
Demo Instance - Talk at CCCamp23
This utility allows you to configure a Windows VM using a web UI, then download a tiny disk image which contains a Linux-based stager and your configuration. If run, it will bootstrap an OS installation according to the configuration. It will deploy Windows 11 on a MBR partition with BIOS boot, which is somewhat cursed but functional and easy to use in hypervisors.
This repo contains both the frontend code for the web application, as well as the scripts that make up the bootstrap disk image.
Building
The disk image(s) are built by the ./utils/mkdisk.sh
script.
Besides some usual command line utilities, this script requires guestfish
, syslinux
and qemu-img
.
Once finished, images are output to ./build/images
.
The web UI is kept in ./webapp
and can be built by installing dependencies with
npm i
and then running webpack with npm run pack
.
When deploying on a server, make sure to also add the vmdk image and its manifest to the webroot.