22 January 2026

sles lvm xfs linux sysadmin

SLES 15/16: LVM + XFS Without a Separate /boot Partition

Quick one-liner: Install SLES with the entire disk as LVM β€” no separate /boot needed. GRUB2 supports it, and here's exactly how to set it up.


πŸ€” Why This Matters

The SLES installer wants to create a separate /boot partition by default. It's a legacy pattern β€” GRUB2 can boot from LVM just fine, so there's no need for it anymore.

With GRUB2, you can put everything inside LVM: - /boot as a logical volume - / as a logical volume - swap as a logical volume - Even /home, /var, /tmp β€” all on LVM

One disk, one partition table, everything on LVM. Cleaner, simpler, easier to resize later.


βœ… Prerequisites


πŸš€ How It Works

GRUB2 can read LVM partitions directly. But on BIOS systems (non-UEFI), GRUB needs a small "BIOS boot" partition to store its core image. That's the only special partition you need β€” about 8 MiB, unformatted, with the BIOS boot flag.

Everything else goes into LVM.


πŸ”§ Step 1: Boot the Installer and Open Expert Partitioner

During installation, when you reach the partitioning screen, choose:

Expert Partitioner β†’ Start with Existing Partitions

Do not use the guided partitioning β€” it will create a separate /boot for you.


πŸ”§ Step 2: Create a GPT Partition Table

Select your target disk and choose:

Create New Partition Table β†’ GPT

GPT is required because the BIOS boot partition needs a specific partition type GUID that MBR doesn't support.


πŸ”§ Step 3: Create the BIOS Boot Partition

Select Partitions tab β†’ Add Partition:

This is the only non-LVM partition on the disk. It holds GRUB's core image so the bootloader can find the LVM metadata and boot from it.


πŸ”§ Step 4: Create the LVM Partition

Add another partition using the remaining disk space:

This partition will hold your volume group and all logical volumes.


πŸ”§ Step 5: Set Up the Volume Group and Logical Volumes

Create your volume group β€” I'll call it system:

Volume Group: system
  Physical Volume: /dev/sda2  (the LVM partition)

Then create your logical volumes:

LV Name Mount Point Size Filesystem
boot /boot 1 GiB XFS
swap swap 4 GiB swap
root / Remaining XFS

Here's what it looks like in the installer:

system/boot   β†’   /boot   (XFS, 1 GiB)
system/swap   β†’   swap    (swap, 4 GiB)
system/root   β†’   /       (XFS, remaining space)

You can add more LVs as needed β€” /home, /var, /tmp, /var/log β€” whatever your environment needs.


πŸ”§ Step 6: Proceed with Installation

Once your partitioning is set, proceed with the rest of the SLES installation as normal β€” package selection, network, users, etc.

When installation completes, verify your layout:

$ lsblk
sda
β”œβ”€sda1    8M  BIOS boot (unformatted)
└─sda2    LVM
  β”œβ”€system-boot   1G   /boot   xfs
  β”œβ”€system-swap   4G   [SWAP]
  └─system-root  rest  /       xfs
$ pvs
  PV         VG     Fmt  Attr
  /dev/sda2  system lvm2 a--
$ lvs
  LV   VG     Attr   LSize
  boot system -wi-ao 1.00g
  root system -wi-ao <rest>
  swap system -wi-ao 4.00g

πŸ”’ Why This Is Better

Separate /boot All LVM
Fixed /boot size β€” can run out of space during kernel upgrades /boot is an LV β€” resize it anytime with lvextend
Two partition types to manage One partition table, one VG
Legacy pattern from GRUB 1 days Modern β€” GRUB2 reads LVM natively

The only caveat: if you're using UEFI, you still need an EFI System Partition (ESP) β€” that's non-negotiable. But the BIOS boot partition approach above works on legacy BIOS systems.