Debian 13, headless, on two disks
A minimal Debian install with no desktop, on the OS disk only, leaving the data disk untouched for later.
Names and addresses are placeholders. The list says what each one stands for.
What it does here
The OS gets its own disk so it can be wiped and reinstalled without touching data. The installer only ever sees disk 1; disk 2 is set up after first boot.
Canonical setup
Debian's installer from the netinst image. Write the image to a USB stick with dd, balenaEtcher or Ventoy, boot from it, and work through the screens in order: locale and keyboard, hostname, users, partitioning, software selection, then the boot loader.
Before you start: note both drives' sizes and models so you can tell them apart, have a wired network connection, and check the firmware's boot order.
Upstream: Debian trixie Installation Guide.
In this build
- Hostname devbox, domain blankMagicDNS supplies the real name later.
- Root password left blankThe installer then installs sudo and adds your user to the sudo group.
- Manual partitioning on disk 1 onlyA 512 MB EFI system partition, an ext4 root on the rest, and a few GB of swap. Disk 2 is not formatted or mounted.
- No desktop environmentOnly SSH server and standard system utilities are ticked.
- Power on after AC loss, in firmwareThe box comes back by itself after an outage.
Before the installer writes anything, the partitioning summary should list changes on disk 1 only. Install GRUB to disk 1, reboot, and remove the USB stick.
Seams
Where this meets the rest of the build. Each one leads with what you will actually see.
Symptomsudo: command not found
Setting a root password tells the installer you'll use root, so it skips sudo. Fix it once: su -, then apt update && apt install -y sudo && usermod -aG sudo youruser, then exit. Log out and back in so the group applies.
Symptomthe summary lists changes on both disks
Go back before writing. Disk 2 is set up after first boot on the data volume card, so an OS reinstall never touches it.
Verify
lsblk # disk 2 has no mountpoint yet
systemctl get-default # multi-user.target, no desktop
sudo whoami # root- 17 Oct 2026First written. Verified on Debian 13.6.