waterlemon0108 / nexboot
git clone https://github.com/waterlemon0108/nexboot.git
v1.0.2 · 18d ago
A lightweight diskless boot platform built with Go, featuring iPXE, ZFS, iSCSI, and Web-based management. 基于 Go 的轻量级无盘启动平台,支持 iPXE、ZFS、iSCSI 和 Web 管理。
+-209
stars, 24h · #62,612
+~-226
stars, 7 days · #62,690
+30
stars, 30 days · #18,725
30
★ total · -88% this week
4
forks · 1 open issues
Star history (as recorded here)
LanguageGo
LicenseAGPL-3.0
Created2026-10-02 (20d ago)
Last push18d ago
Watchers3
OwnerUser
GitHub topics
Links
README excerpt
# NexBoot: diskless boot server for Windows and Linux **Boot a whole internet cafe, LAN center or computer lab from one master image. PXE + iSCSI + ZFS in a single Go binary, with a web console and an optional HA cluster.** **English** · 简体中文 ## Why NexBoot Keeping 50 or 500 PCs on the same Windows build is a chore. Every game patch, driver update or bad install means walking from seat to seat. With NexBoot the PCs have no system disk of their own. They boot over the network, and each one gets its own writable copy of a master image. You update the image once. Every PC picks it up on the next reboot, and a reboot always brings a PC back to a clean state. | Without NexBoot | With NexBoot | |---|---| | Patch every PC by hand | Patch one image, reboot the room | | A broken PC needs a reinstall | A reboot restores it | | Disks fail, PCs go down | No local system disk to fail | | No easy way back after a bad update | Apply an earlier restore point in one click | ## Quick start On an Ubuntu 22.04 / 24.04 server with a spare disk for the ZFS pool: [code] Then open `http:// :8080`, sign in as `admin` and follow the setup wizard: 1. Pick the network card that faces the clients. 2. Create a storage pool on the spare disk. 3. Import a Windows or Ubuntu image (`.vmdk`, `.vhdx`, `.qcow2`, `.raw` or an exported `.zfs` stream). 4. Create a group (IP range + image) and register the clients by MAC address. 5. Set the clients to boot from the network. Done. No internet at the site? Use the offline bundle: `sudo ./install.sh` from `nexboot-offline-ubuntu24.04-amd64.tar.gz`. See Install for all options. ## How it works [code] - **Copy-on-write clones.** Each PC boots from a ZFS clone of a restore point. Clones cost almost no space and take a second to create. - **Images, configs and restore points.** One image can have several configs (for example "esports" and "office"), and each config keeps its own history of restore points. - **Super machine.** Boot one PC in edit mode, install your updates, shut it down and save the result as a new restore point. - **Data plane stays local.** DHCP, `/boot` and iSCSI go to the node that hosts the PC. Nothing is proxied through a central controller. ## Features | Area | What you get | |---|---| | Delivery | One static binary with the web UI built in; `.deb` package and an offline bundle for sites without internet | | Client OS | Windows (BIOS and UEFI) and Ubuntu, including Ubuntu Server's default LVM layout | | Image import | `.vmdk` / `.vhd(x)` / `.qcow2` / `.raw` / `.zfs` streams; Windows and Linux images are adapted for iSCSI boot automatically | | Image management | Configs, restore points, one-click apply, save as new image, export, overwrite base image, health check | | Groups and clients | Fixed IP per MAC via DHCP, data disks per group, client status matrix, cross-subnet groups via DHCP relay | | Drivers | Driver pack import with INF parsing, applied to images through the super machine | | Storage | ZFS pools with mi