Meet netboot xyz - Network Boot Any Operating System (2024)

Imagine all of your favorite operating systems in one place, available anywhere on your network, and you’ll never need to use your flash drive again. That’s the promise of netboot.xyz, a network boot service that lets you install or boot to any operating system simply by booting to the network.

πŸ“Ί Watch Video

Disclosures:

  • Nothing in this video was sponsored

Don’t forget to ⭐ netboot.xyz on GitHub!

Requirements

  • docker (and compose)
  • docker machine has a static IP
  • dhcp server & access to settings (or install your own)

Docker Setup

See this post on how to install docker and docker compose

Install

create folders netboot_xyz, netboot_xyz/assets, netboot_xyz/config

1234
mkdir netboot_xyzcd netboot_xyzmkdir assetsmkdir config

Copy yaml to server or portainer, etc

Container Images

linuxserver.io container image

Parameter Docs

123456789101112131415161718192021
---version: "2.1"services: netbootxyz: image: lscr.io/linuxserver/netbootxyz:latest container_name: netbootxyz environment: - PUID=1000 #current user - PGID=1000 #current group - TZ=Etc/UTC # - MENU_VERSION=1.9.9 #optional, sets menus version, unset uses latest - PORT_RANGE=30000:30010 #optional - SUBFOLDER=/ #optional volumes: - ./config:/config - ./assets:/assets #optional ports: - 3000:3000 - 69:69/udp - 8080:80 #optional restart: unless-stopped

Official container image

Parameter Docs

12345678910111213141516
---version: "2.1"services: netbootxyz: image: ghcr.io/netbootxyz/netbootxyz container_name: netbootxyz environment: # - MENU_VERSION=2.0.47 # optional, sets menus version, unset uses latest volumes: - ./config:/config # optional - ./assets:/assets # optional ports: - 3000:3000 - 69:69/udp - 8080:80 #optional restart: unless-stopped

Running

bring up stack

1
docker compose up -d

check to be sure it’s running

123
➜ netboot_xyz docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES83e6c5192156 lscr.io/linuxserver/netbootxyz:latest "/init" 14 seconds ago Up 12 seconds 0.0.0.0:69->69/udp, :::69->69/udp, 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp, 0.0.0.0:8080->80/tcp, :::8080->80/tcp netbootxyz

should see something like:

Check the logs

123456789101112131415161718192021222324252627282930313233343536
➜ netboot_xyz docker logs netbootxyz[migrations] started[migrations] no migrations found─────────────────────────────────────── β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β•šβ•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•β•β•šβ•β• β•šβ•β•β•β•β•β• Brought to you by linuxserver.io───────────────────────────────────────To support the app dev(s) visit:netboot.xyz: https://opencollective.com/netbootxyz/donateTo support LSIO projects visit:https://www.linuxserver.io/donate/───────────────────────────────────────GID/UID───────────────────────────────────────User UID: 1000User GID: 1000───────────────────────────────────────[netbootxyz-init] Downloading Netboot.xyz at 2.0.73[custom-init] No custom files found, skipping...crontab: can't open 'abc': No such file or directorylistening on *:3000[ls.io-init] done.4Lg88gNm_wqDORftAAAB connected time=1699460581160

Configuring

You can now browse to the container’s homepage

http://192.168.10:3000/

You should see a list of pxe boot menu items and the option to cache the pre boot environment locally

Local Mirror

If you want to serve the files from a local mirror, you can edit the boot.cfg file from the boot menus

change:

set live_endpoint https://github.com/netbootxyz

to:

set live_endpoint http://192.168.10.125:8080

Keep in mind that you will not be able to boot from any environments you haven’t downloaded.

DHCP Configuration

Since I cannot cover configuring every DHCP service out there, I will cover the basics. Fortunately linuxserver.io has many routers covered as well as the official netboot.xyz docs.

UniFi UDM Pro / SE

Settings > Network > Choose Network > DHCP Service Management > Show Options

Here you’ll want to check β€œNetwork Boot” and fill in the server IP and the file name

For me, it’s:

Server IP: 192.168.10.125 Filename: netboot.xyz.kpxe (this is the default BIOS option)

Save.

Preferably we would like to offer a PXE boot per architecture, and UDM supports it however not in the UI. Follow these instructions to do it via CLI

If you’re up to it, here’s my config:

123456789101112131415161718192021
## Generated automatically by ## Configuration of PXE boot for '# The boot filename, Server name, Server Ip Addressdhcp-boot=netboot.xyz.kpxe,netboot.xyz,192.168.10.125# inspect the vendor class string and match the text to set the tagdhcp-vendorclass=BIOS,PXEClient:Arch:00000dhcp-vendorclass=UEFI32,PXEClient:Arch:00006dhcp-vendorclass=UEFI,PXEClient:Arch:00007dhcp-vendorclass=UEFI64,PXEClient:Arch:00009# Set the boot file name based on the matching tag from the vendor class (above)dhcp-boot=net:UEFI32,netboot.xyz.efi,netboot.xyz,192.168.10.125dhcp-boot=net:BIOS,netboot.xyz.kpxe,netboot.xyz,192.168.10.125dhcp-boot=net:UEFI64,netboot.xyz.efi,netboot.xyz,192.168.10.125dhcp-boot=net:UEFI,netboot.xyz.efi,netboot.xyz,192.168.10.125

Verify

1
cat /run/dnsmasq.conf.d/PXE.conf

Copy file to /run/dnsmasq.conf.d/PXE.conf on UDM

run

1
kill `cat /run/dnsmasq.pid`

You’ll have to do this on each reboot

If you don’t want to do this, you’ll have to change the image file each time.

Booting to network

To boot to the network you’ll need a BIOS and NIC that supports it

  • enable in BIOS
    • enable EFI PXE Boot
    • enable Legacy (BIOS) PXE Boot
  • Figure out boot override or network boot key
  • Power on and boot to network (BIOS of EFI)

See the boot menu, choose OS and go!

Word of caution, there might be some that do not work. This is a moving target. e.g. Ubuntu 23.10 isn’t working for me now, but could soon. Other OS are fine. You may need to try different NICs if you are using virtualization

What about Windows?

Requirements

  • Windows 10/11 machine
  • Windows ISO
  • Windows ADK for Windows 10/11
  • Windows PE add-on for the Windows ADK

Windows 11 ADK downloads here

Install Windows ADK for Windows 10/11.

Install Windows PE add-on for the Windows ADK.

Run Deployment and Imaging Tools Environment as administrator from the start menu.

Navigate to folder

1
cd "..\Windows Preinstallation Environment\amd64"

Mount the Windows PE boot image.

12
md C:\WinPE_amd64\mountDism /Mount-Image /ImageFile:"en-us\winpe.wim" /index:1 /MountDir:"C:\WinPE_amd64\mount"

Copy files

12
Xcopy "C:\WinPE_amd64\mount\Windows\Boot\EFI\bootmgr.efi" "Media\bootmgr.efi" /YXcopy "C:\WinPE_amd64\mount\Windows\Boot\EFI\bootmgfw.efi" "Media\EFI\Boot\bootx64.efi" /Y

Unmount the WinPE image, committing changes.

1
Dism /Unmount-Image /MountDir:"C:\WinPE_amd64\mount" /commit

Delete the temp folder that was created earlier (so we don’t get an error when copying)

1
rmdir /s C:\WinPE_amd64

Create working files

1
copype amd64 C:\WinPE_amd64

Create a bootable WinPE ISO

1
MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso

Then copy the contents of WinPE_amd64.iso to netboot.xyz container’s /assets/WinPE/x64/ folder (need to create folders first)

Then you’ll want to create an SMB share named Windows in your environment. You can create or download a Windows ISO by visiting Microsoft’s site

Once you have created your Windows ISO, you can then extract the files to the root of the Windows share you just created above.

Now we need to configure netboot.xyz

In netboot.xyz UI, update boot.cfg to set win_base_url http://192.168.10.125:8080/WinPE and save.

Now you can PXE boot to the network (be sure you are using the EFI boot image and your device supports UEFI) and then choose Windows from the netboot.xyz menu.

This should boot to a DOS prompt in the Windows Pre-boot Environment

Type

1
wpeinit

then type

1
net use F: \\<server-ip-address>\<share-name> /user:<server-ip-address>\<username-if-needed> <password-if-needed>

If you want it to prompt for a username and password, remove the user argument

1
net use F: \\<server-ip-address>\<share-name>

This will map the F: drive to your Windows share that the Windows ISO extracted

then type

1
F:\setup.exe

Then hit enter and Windows installer should launch!

I’d love to also automate the mounting of the share however I haven’t found a clean way to do it yet. If you know, let me know in the comments below and I can add it!

Join the conversation

Back in my tech support days I thought that if I had PXE network boot at home, that I "made it". We'll, that day has come! This past week I learned all about netboot xyz! I can now boot and install any operating system over the network!

Check it out! https://t.co/PzPmYzKWLH pic.twitter.com/FQr4W4TPtp

β€” Techno Tim (@TechnoTimLive) November 11, 2023

Links

πŸ›οΈ Check out the new Merch Shop at https://l.technotim.live/shop

βš™οΈ See all the hardware I recommend at https://l.technotim.live/gear

πŸš€ Don’t forget to check out the πŸš€Launchpad repo with all of the quick start source files

Meet netboot xyz - Network Boot Any Operating System (2024)

FAQs

What is netboot xyz? β€Ί

netboot. xyz enables you to boot into many types of operating systems using lightweight tooling to get you up and running as soon as possible.

What is the use of netboot? β€Ί

netboot. xyz lets you PXE boot various operating system installers or utilities from a single tool over the network. This lets you use one media for many types of operating systems or tools.

What does BIOS Network Boot do? β€Ί

Network booting, or booting from LAN as it is also called, is a process which allows a computer to start up and load an operating system or other program directly from the network without any locally attached storage device, like a floppy, CDROM, USB stick or hard drive.

What is the PXE Network Boot function? β€Ί

A Preboot Execution Environment (PXE), often pronounced as "pixie" or "pixie reboot" is a client-server interface that enables the computers in a network to be booted from a server. Using PXE boot, the OS can directly be loaded into the computers from a server instead of a CD or hard disk.

How do I get out of Network Boot? β€Ί

Steps to disable:
  1. Enter the BIOS setup via F2.
  2. Go to Boot Maintenance Manager > Delete EFI Boot Option.
  3. Select all of the Network Boot options and scroll down to Save Changes.

How to Network Boot a computer? β€Ί

Now, let's see how to boot from onboard LAN.
  1. Press F2 continuously when you power up your machine until it enters its BIOS Setup.
  2. Navigate to the Boot menu.
  3. Enable Boot to Network.
  4. Press F10 to save changes and exit the BIOS setup.
  5. Restart your computer and press F12 during POST to boot from a remote server within LAN.
Nov 22, 2023

What is booting a computer system? β€Ί

To boot (to boot up, to start up or booting) a computer is to load an operating system (OS) into the computer's main memory or RAM. Once the OS is loaded (for example, on a PC, you will see the initial Windows or Mac desktop screen), it's ready for users to run applications.

What is the key for Network Boot? β€Ί

To access the Network Boot option that allows the computer to boot directly from the network, turn on the computer and immediately press the esc key to display the Startup Menu, and then press the F12 key.

Why is my PC doing a PXE boot? β€Ί

Preboot Execution Environment (PXE) errors occur when the system BIOS cannot boot to the system's hard disk drive or a network boot environment.

What happens when the BIOS loads the OS? β€Ί

The BIOS then starts the boot sequence. It will look for the operating system. If you don't change any of the settings, the BIOS will fetch the operating system from the hard drive and load it into the RAM. The BIOS then transfers control to the operating system.

Should network boot be enabled or disabled? β€Ί

It should be disabled unless the PC is part of a network that requires it. When it is enabled, it is possible for a determined hacker to boot your PC remotely and access it. It is not very likely to happen, but it pays to err on the safe side. Consider updating the BIOS to the latest version.

What are the benefits of network boot? β€Ί

A network boot, also known as a preboot execution environment (PXE boot), allows a computer to boot from a network location instead of relying on local storage devices. In a network boot, the computer contacts a network server that hosts the necessary boot files and operating system images.

How does netboot work? β€Ί

Network booting, shortened netboot, is the process of booting a computer from a network rather than a local drive. This method of booting can be used by routers, diskless workstations and centrally managed computers (thin clients) such as public computers at libraries and schools.

How to install the OS using PXE? β€Ί

Install an Operating System Using PXE Network Boot
  1. Press the F2 key to access the BIOS Setup Utility.
  2. In the BIOS Setup Utility, select Advanced in the top menu bar.
  3. In the BIOS Setup Utility Advanced screen, select Network Stack. ...
  4. If necessary, set the appropriate PXE Support setting (IPv4 or IPv6) to Enabled.

Where would you use a PXE boot? β€Ί

The primary use of PXE is to install a fresh OS on new or malfunctioning computers. This can be a client OS, such as Windows 10 or Ubuntu Linux, or a server OS, like Windows Server 2019 or Arch Linux. PXE can replace using USB drives or CD-ROMs as installation media.

What is the PXE boot option? β€Ί

The Preboot Execution Environment or PXE (commonly pronounced as pixie) is a client-server environment that enables network computers to boot over the network interface card (NIC), instead of from a CD-ROM or hard disk.

How to disable Network Boot in vmware? β€Ί

To remove Network boot from appearing in a virtual machine's BIOS:
  1. Power off the virtual machine.
  2. Open the virtual machine's configuration (/vmfs/volumes/{datastore UUID}/{VM Dir}/{VM Name}. ...
  3. If the virtual machine is using a VMXNET device, ensure you append the corresponding line's depending on the VMXNET device used.
Sep 29, 2020

How to NetBoot a Mac? β€Ί

Just plug in the power cord and Ethernet cable and hold down the β€œn” key. NetBoot in Mac OS X Server takes care of the rest. The system boots, connects to the network, finds the default NetBoot disk image, and starts up fully configured.

What does start PXE mean? β€Ί

PXE is short for Preboot execution environment. It was created by Intel and refers to a set of standards (or instructions) that enable a computer to download network boot programs.

References

Top Articles
Best Outback Steakhouse Recipes - TheFoodXP
Classic Steak Tartare Recipe (Beef Tartare)
Spasa Parish
Rentals for rent in Maastricht
159R Bus Schedule Pdf
Sallisaw Bin Store
Black Adam Showtimes Near Maya Cinemas Delano
Espn Transfer Portal Basketball
Pollen Levels Richmond
11 Best Sites Like The Chive For Funny Pictures and Memes
Things to do in Wichita Falls on weekends 12-15 September
Craigslist Pets Huntsville Alabama
Paulette Goddard | American Actress, Modern Times, Charlie Chaplin
Red Dead Redemption 2 Legendary Fish Locations Guide (β€œA Fisher of Fish”)
What's the Difference Between Halal and Haram Meat & Food?
R/Skinwalker
Rugged Gentleman Barber Shop Martinsburg Wv
Rogers Breece Obituaries
Ems Isd Skyward Family Access
Elektrische Arbeit W (Kilowattstunden kWh Strompreis Berechnen Berechnung)
Omni Id Portal Waconia
Kellifans.com
Banned in NYC: Airbnb One Year Later
Four-Legged Friday: Meet Tuscaloosa's Adoptable All-Stars Cub & Pickle
Model Center Jasmin
Ice Dodo Unblocked 76
Is Slatt Offensive
Labcorp Locations Near Me
Storm Prediction Center Convective Outlook
Experience the Convenience of Po Box 790010 St Louis Mo
Fungal Symbiote Terraria
modelo julia - PLAYBOARD
Poker News Views Gossip
Abby's Caribbean Cafe
Joanna Gaines Reveals Who Bought the 'Fixer Upper' Lake House and Her Favorite Features of the Milestone Project
Tri-State Dog Racing Results
Navy Qrs Supervisor Answers
Trade Chart Dave Richard
Lincoln Financial Field Section 110
Free Stuff Craigslist Roanoke Va
Wi Dept Of Regulation & Licensing
Pick N Pull Near Me [Locator Map + Guide + FAQ]
Crystal Westbrooks Nipple
Ice Hockey Dboard
Über 60 Prozent Rabatt auf E-Bikes: Aldi reduziert sÀmtliche Pedelecs stark im Preis - nur noch für kurze Zeit
Wie blocke ich einen Bot aus Boardman/USA - sellerforum.de
Infinity Pool Showtimes Near Maya Cinemas Bakersfield
Dermpathdiagnostics Com Pay Invoice
How To Use Price Chopper Points At Quiktrip
Maria Butina Bikini
Busted Newspaper Zapata Tx
Latest Posts
Article information

Author: Trent Wehner

Last Updated:

Views: 6846

Rating: 4.6 / 5 (56 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Trent Wehner

Birthday: 1993-03-14

Address: 872 Kevin Squares, New Codyville, AK 01785-0416

Phone: +18698800304764

Job: Senior Farming Developer

Hobby: Paintball, Calligraphy, Hunting, Flying disc, Lapidary, Rafting, Inline skating

Introduction: My name is Trent Wehner, I am a talented, brainy, zealous, light, funny, gleaming, attractive person who loves writing and wants to share my knowledge and understanding with you.