Gola Bootlace: Install Any Operating System Over the Network, No USB Stick Needed
Date Published

Today we're publishing Gola Bootlace, a free, open-source program that turns a folder of ISO files into a boot menu for every PC on your network. Plug a PC into the network cable, choose "boot from network", pick Windows 11, Ubuntu or a rescue tool from the menu, and it starts. No USB stick, and no drawer full of them.
Bootlace is free and open source, and it is young: we are looking for testers and contributors. You will find how to help at the end of this post.
Why we built it
Installing and repairing computers is our daily work, so we know the USB stick routine well: find the right stick, find out it holds last year's Windows, rewrite it, wait, plug it in, wait again. Do that for twenty PCs and ten different systems and you end up with a drawer of sticks, half of them out of date, and installations that run only as fast as the slowest stick in the drawer.
Booting from the network is the old fix, and every modern PC supports it. What we wanted was a version a workshop technician can run without being a network engineer: drop ISO files in a folder, see them in a menu, start them exactly as they are. We couldn't find one that does that for Windows and Linux alike, so we wrote it, and we are releasing it as open source so that anyone who installs PCs can use it, check it and improve it.
What it does, in plain words
Bootlace runs on one computer that stays on: a small server, a spare PC, a Proxmox container. It looks in a folder of ISO files and, when a PC on the same network asks to boot from the network (this is called PXE), it answers with a menu of everything in the folder. Choose an entry and that PC runs it, reading the ISO from the server across the network.
• One folder instead of a drawer. Add an ISO by copying the file in, remove it by deleting the file.
• The same menu on every PC, UEFI or older BIOS, with no change on the PC beyond "boot from network".
• ISOs start as they are. Nothing is unpacked, edited or written to the PC's disks on the way.
• Nothing to change on the router. Bootlace answers only PCs that ask to network-boot and leaves the network's own DHCP server alone.
• Stop the program and nothing is left behind on the PCs.
What it can start
Windows 11 and Windows Server: Setup reads its installation files from a small read-only share that the server runs itself, so the PC installs straight from the network. Most Linux installers and live systems: Ubuntu, Debian, Fedora, Arch, Alpine, Kali, Proxmox VE, TrueNAS and many more. Rescue and maintenance tools: SystemRescue, Clonezilla, GParted, Rescuezilla, memory tests.

Live Linux systems read their ISO from the server as they go (as a network disk) instead of copying it into the PC's memory, so the PC does not need room for the whole ISO. An ISO that Bootlace does not know by name is not refused: it reads the ISO's own boot menus to work out what it is and, failing that, hands it to the PC as a network CD-ROM.

We only mark an ISO as working after we have seen it reach its installer or desktop in our test lab. The list of what we tried, with the results, is public: the compatibility list. Some do not work yet (pfSense on UEFI, for example) and the list says so.
The management page
Everything is managed from a web page on the server; once the program runs, there is no command line to use.
See what is going on
The Dashboard shows what is running and how a PC reaches the server.

Know it works before you walk to the PC
The Server page shows every service and has a one-click self-test that checks each step a PC goes through: the menu, the ISO download, TFTP, the Windows share and the network disk. It also measures the speed of the library's disk, and looks for other servers on the network that would answer PXE too, the most common reason a network boot fails.

Know your ISOs and your PCs
The Library page takes your ISOs (an upload that is interrupted resumes where it stopped) or downloads and checks a file itself from a web address. On the ISOs page you rename an entry, hide it, protect it with a boot password, add kernel arguments, switch on a verbose or serial-console start for debugging, or see the exact commands a PC receives.

The PCs page lists every PC that asked for a menu, with the name you give it, its history (exportable to CSV), a button to wake it over the network, and rules by model, manufacturer or platform ("every HP boots from its own disk").

Shape the menu
The Menu page sets how long the menu waits, what starts by itself, which files to keep out of the menu and, for installing Windows 11 on older PCs, which Setup checks to skip.

What is new in 0.2.0
• A log file on disk, which you can download from the web page.
• A failed start no longer leaves the PC stuck: it comes back to the menu with a message.
• Names for PCs, a history for each PC with CSV export, and Wake-on-LAN.
• Rules by model, manufacturer or platform, on top of the rules for a single PC.
• A boot password per ISO, and switches for a verbose or serial-console start.
• A self-test, a library speed test, and a look for other PXE servers on the network.
• Backup and restore of the settings (a copy is also kept in the library), and a first-start guide.
• Resumable uploads, and a cache that drops the least recently used entries when it fills.
• Tuning: patterns to keep files out of the menu, TFTP block size and window, and a switch to skip the Windows 11 Setup checks.
• An answer for PCs that boot with UEFI HTTP boot.
• .deb and .rpm packages.
• Fuzz testing of the ISO and boot-menu readers, which found and fixed several crashes.
Run it in a few minutes
The quickest way, if you have Proxmox: run this one command on the Proxmox host. It makes a small Debian container, installs Bootlace in it and prints its address and password.
1bash -c "$(curl -fsSL https://raw.githubusercontent.com/ghazichaieb/gola-bootlace/main/tools/proxmox/bootlace-lxc.sh)"
No Proxmox? Pick what fits the computer you have: all the ways give the same program and the same web page.
• Docker (on a Linux host): the image ghazichaieb/gola-bootlace with host networking. The README has a ready-made compose file.
• A Linux package: download the .deb or .rpm from the releases page and run apt install ./bootlace-*.deb; it installs a systemd service.
• Windows: unzip it and run bootlace.exe serve -iso-dir D:\isos for a quick job.
Then restart a PC and choose boot from network (usually F12, F11 or Esc at power-on): the menu appears. The first time, Bootlace makes up a password for the web page and shows it once in its log.
Good to know
• It is early. Version 0.2.0 was tested in a lab of virtual machines (Proxmox and Hyper-V) and on a handful of real PCs. On one 2012 motherboard it works in legacy BIOS mode but not yet in UEFI mode; we are looking into it. That is exactly why we need testers.
• The PC needs a cable. Network boot does not work over Wi-Fi.
• Secure Boot has to be off on the PC, except for Windows and Ubuntu, which have a way through.
• The library folder must be writable: Bootlace keeps a hidden .bootlace folder in it.
• A network install is as fast as the network. Gigabit is fine.
• It is for a local network. It answers only private addresses, and its network disk and iSCSI services have no login, so never forward its ports to the internet; use a VPN to reach the network from outside.
• A system run from the network does not behave exactly like one started from a disc: the network has to stay up, and a few features that need the stick itself (Tails's persistent storage, for example) are missing. This page lists them.
Open source: try it, break it, improve it
Bootlace is released under the GPL-3.0-or-later licence. Every release is signed, with instructions to check the signature, and comes as Linux and Windows downloads, .deb and .rpm packages and a multi-architecture Docker image.
• Source code and issues: github.com/ghazichaieb/gola-bootlace
• Download version 0.2.0: the release page
• Docker image: Docker Hub
• Documentation: the web interface, how it works, what it needs
We would love your help, whatever your level:
• Test it on your own hardware and tell us what happened, good or bad: which PC or motherboard, UEFI or BIOS, which ISO. Real PCs are where it needs the most testing.
• Report ISOs that do not start, or that start differently from what you expect: open an issue with the name of the ISO and what you saw. That is how the compatibility list grows.
• Contribute: fixes, support for another system, documentation, translations of the web interface. Pull requests are welcome, and the contributing guide explains how.
• Spread the word to anyone who installs PCs for a living or for fun.
Would you like it set up for your office or workshop, or want us to handle the installations for you? Get in touch.