
If you have ever set up a dual-boot system on Debian and found yourself manually digging through /etc/default/grub just to change the default boot entry, you already know the pain. Editing raw GRUB config files is error-prone, and one wrong character can leave your system unbootable. This guide shows you exactly how to install Grub Customizer on Debian 13 so you can manage your bootloader through a clean, visual interface without touching a single config file by hand. By the end, you will be able to reorder boot entries, set kernel parameters, apply themes, and save changes safely in under five minutes.
What Is GRUB and Why Does It Matter?
GRUB, which stands for Grand Unified Bootloader, is the first piece of software that runs when you power on a Linux machine. It is responsible for loading your operating system kernel into memory. On most Debian systems, GRUB2 is the default bootloader, and it reads its configuration from /boot/grub/grub.cfg.
The problem is that grub.cfg is not meant to be edited directly. Debian regenerates it automatically every time a new kernel is installed or update-grub runs. Any manual edits you make get wiped out. That is why tools like Grub Customizer exist.
Grub Customizer is a graphical interface tool developed by Daniel Richter that lets you configure GRUB2 and BURG without touching raw config files. It wraps the complexity of GRUB configuration into a three-tab GUI: List Configuration, General Settings, and Appearance Settings. The official package version available in the Debian 13 (Trixie) repository is 5.2.5-1, which has an installed size of approximately 3,571 KB on amd64 systems.
This is particularly useful in three real-world scenarios. First, you are running a dual-boot setup between Debian 13 and Windows, and you want Windows to boot by default. Second, you manage a development machine with multiple kernel versions and need to pick the right one without memorizing numbers. Third, you want to set a five-second timeout and a custom background image on a lab workstation for a cleaner experience.
What Is Debian 13 (Trixie)?
Debian 13 carries the codename “Trixie” and is the current release that follows Debian 12 (Bookworm) in the Debian release cycle. Debian follows a strict freeze-and-release process, which means packages in the official Trixie repository are tested for compatibility and stability before they land in your system.
The grub-customizer package is officially available in the Trixie repository at packages.debian.org/trixie/utils/grub-customizer, which means no PPAs, no third-party sources, and no compatibility headaches. The package supports eight architectures including amd64, arm64, i386, ppc64el, and riscv64.
Why Use Grub Customizer on Debian 13?
Managing GRUB manually works, but it is not the safest workflow for most users. Here is where the Grub Customizer on Debian 13 setup pays off:
- Dual-boot management: Reorder or change the default OS between Debian and Windows without editing raw config files
- Multi-kernel environments: Select the correct kernel version from a GUI list instead of memorizing menu entry numbers
- Kernel parameter control: Add or remove boot flags like
quiet,splash,nomodeset, oracpi=offfrom a settings panel - Visual theming: Apply background images, custom fonts, and text colors to the GRUB menu
- Safe MBR reinstall: Recover from a broken bootloader after a Windows installation overwrites GRUB, all from within the GUI
- Persistent changes: Entries customized with Grub Customizer remain updatable by future
update-grubruns, so kernel upgrades do not wipe your work
Key Features of GRUB Customizer
Before you install, here is a quick look at what the tool can actually do:
- Move, remove, or rename menu entries while keeping them updatable by
update-grub - Edit existing menu entry contents or create new custom entries (internally manages the
40_customfile) - Full support for both GRUB2 and BURG bootloaders
- Reinstall the bootloader to the Master Boot Record (MBR) directly from the GUI
- Configure default OS, kernel parameters, background image, text colors, and boot timeout
- Run change operations from a live CD, DVD, or bootable USB drive
- Uses polkit (
pkexec) for privilege escalation instead of running as root directly - Relies on
hwinfofor hardware identification during bootloader reinstall operations
Prerequisites
Before you start, confirm the following are in place:
- OS: Debian 13 (Trixie) with a working desktop environment (GNOME, KDE, XFCE, or similar)
- Bootloader: GRUB2 must be the system bootloader (the default on all standard Debian installations)
- User permissions: A non-root user account with
sudoprivileges - Internet access: Required to download the package and its dependencies from the official Debian repository
- Architecture: x86_64 (amd64) or any supported architecture listed at packages.debian.org
- Disk space: At least 4 MB free in
/(installed size is approximately 3,571 KB on amd64) - Backup: Recommended before making any bootloader changes, especially in production or VM environments
Step 1: Update Your System
The first thing to do before any installation on a Debian system is refresh the local package index. This step prevents APT from trying to install outdated package versions or running into broken dependency chains.
Open your terminal and run:
sudo apt update
You will see output similar to this:
Hit:1 http://deb.debian.org/debian trixie InRelease
Hit:2 http://security.debian.org/debian-security trixie-security InRelease
Reading package lists... Done
Now upgrade any outdated packages to keep your system consistent:
sudo apt upgrade -y
The -y flag auto-confirms all prompts so you do not have to type “yes” repeatedly. This step is optional but it is good practice on any server or workstation before installing new software.
Why This Matters
When you skip apt update, APT works from a stale package cache. This can cause it to pull incompatible library versions for Grub Customizer dependencies like libgtkmm-3.0, libssl3t64, and hwinfo. Running the update first takes 10 seconds and saves you 20 minutes of debugging later.
Step 2: Install Grub Customizer from the Official Debian Repository
This is the core of this Linux server tutorial. On Debian 13, you do not need to add any external PPA or third-party repository. The package is already in the official Trixie repo, which means the installation is a single command.
Run the following:
sudo apt install grub-customizer
APT will resolve and install all required dependencies automatically. These include:
hwinfofor hardware identification during bootloader reinstall operationslibgtkmm-3.0-1t64for the GTK-based GUI renderingpkexecfor privilege escalation via polkitlibssl3t64for secure operationslibarchive13t64for archive support
During installation, you will see output like this:
The following NEW packages will be installed:
grub-customizer hwinfo libarchive13t64 libatkmm-1.6-1v5
libcairomm-1.0-1v5 libglibmm-2.4-1t64 libgtkmm-3.0-1t64
libpangomm-1.4-1v5 libsigc++-2.0-0v5
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Do you want to continue? [Y/n]
Type Y and press Enter to confirm.
What About the PPA Method?
Some older guides and Ubuntu tutorials tell you to add the PPA ppa:danielrichter2007/grub-customizer before installing. Do not do this on Debian 13.
Debian does not support Ubuntu PPAs natively. Mixing Ubuntu PPA packages into a Debian system introduces Ubuntu-specific library versions that can break your APT dependency tree. Since Debian 13 already ships grub-customizer 5.2.5-1 in its official repo, there is zero reason to use a PPA here.
Verify the Installation
Once the installation finishes, confirm the binary is present and the correct version is installed:
grub-customizer --version
Expected output:
grub-customizer 5.2.5
Double-check with dpkg:
dpkg -l | grep grub-customizer
Expected output:
ii grub-customizer 5.2.5-1 amd64 GUI to configure GRUB2 and BURG
The ii prefix means the package is installed and in a healthy state.
Step 3: Back Up Your Current GRUB Configuration
This step takes 15 seconds and can save your system if something goes wrong. Before you change anything in Grub Customizer, create a backup of the current grub.cfg.
sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak
To restore the backup at any point, run:
sudo cp /boot/grub/grub.cfg.bak /boot/grub/grub.cfg
If you are running Debian 13 inside a virtual machine (VirtualBox, VMware, or KVM), take a snapshot before proceeding. This gives you a one-click rollback option if a configuration change causes a boot failure.
Keep in mind that update-grub can always regenerate grub.cfg from scratch using the scripts in /etc/grub.d/. But having a backup of the working config means you do not have to boot from a live USB just to recover.
Step 4: Launch GRUB Customizer
You can launch Grub Customizer two ways.
Option 1: From the application menu
Search for “GRUB Customizer” in your desktop environment’s app launcher (Activities in GNOME, Kickoff in KDE, or Whisker Menu in XFCE). Click the icon to open it.
Option 2: From the terminal
grub-customizer
Either way, pkexec will intercept the launch and ask for your sudo password via a graphical polkit dialog. This is the expected behavior. Grub Customizer uses polkit for privilege escalation rather than requiring you to run sudo grub-customizer, which is a cleaner and more secure approach.
Once authenticated, the main interface opens with three tabs at the top: List Configuration, General Settings, and Appearance Settings.
Step 5: Configure Grub Customizer on Debian 13
This is where you actually configure Grub Customizer on Debian 13 to match your needs. Each tab controls a different aspect of GRUB behavior.
The List Configuration Tab
This tab shows every bootable entry on your system: installed operating systems, kernel versions, recovery modes, and memory test options.
Key actions you can take here:
- Reorder entries by dragging them up or down, or using the arrow buttons
- Rename entries by right-clicking on one and selecting Rename
- Remove an entry to hide it from the boot menu (this does not delete the kernel or OS)
- Add a new custom entry manually (Grub Customizer writes this internally to the
40_customfile)
One important note: entries you reorder or rename here stay updatable by future update-grub runs. When a new kernel is installed, update-grub will add the new kernel entry without overwriting your customizations.
The General Settings Tab
This tab controls how GRUB behaves at boot time. Options you can set here:
- Default entry: Select which OS or kernel boots automatically when the timeout expires
- Boot timeout: Set how many seconds GRUB waits before auto-booting (e.g., 5 or 10 seconds; set to 0 for instant boot)
- Kernel parameters: Add or modify flags like
quiet,splash,nomodeset, oracpi=offwithout editing/etc/default/grubmanually - Reinstall bootloader: A dedicated button that reinstalls GRUB to the MBR, useful after a Windows installation overwrites GRUB
The Appearance Settings Tab
This tab handles the visual side of the GRUB menu:
- Set a background image (supported formats: PNG, JPG, TGA)
- Change font and font size for the menu text
- Customize text colors for normal entries, highlighted entries, and the selected entry
- Point to a pre-built GRUB theme directory from sites like Gnome-Look.org
- Adjust the gfxmode resolution to match your display
Step 6: Save Changes and Apply to GRUB
After making your changes across any of the three tabs, nothing is written to disk until you explicitly save.
Click the Save button in the toolbar (or press Ctrl + S).
When you click Save, Grub Customizer runs update-grub in the background. This rewrites /boot/grub/grub.cfg with your new configuration. You will see a progress bar while this runs.
Critical rule: Never edit /boot/grub/grub.cfg directly. This file is auto-generated, and any manual changes get overwritten the next time update-grub runs. Use Grub Customizer or edit the scripts in /etc/grub.d/ instead.
After saving, reboot your system to test the changes:
sudo reboot
Check that the GRUB menu appears as expected. If the default OS, timeout, or appearance did not apply correctly, open Grub Customizer again and review the settings before rebooting a second time.
Troubleshooting Common Issues
Even on a clean Debian 13 setup, you may run into a few bumps. Here are the most common issues and how to fix them.
Issue 1: Grub Customizer Will Not Open or Polkit Error
Symptom: The application closes immediately after the password prompt, or you see a polkit authorization error.
Fix: Ensure policykit-1 and pkexec are installed:
sudo apt install policykit-1
Then try launching Grub Customizer again from the terminal.
Issue 2: Changes Did Not Apply After Clicking Save
Symptom: You saved changes, rebooted, and the GRUB menu looks identical to before.
Fix: Verify that GRUB2 is correctly installed. Confirm which GRUB package you have:
dpkg -l | grep grub-pc
dpkg -l | grep grub-efi
If neither is installed, reinstall the appropriate one (BIOS: grub-pc, UEFI: grub-efi-amd64). Then run update-grub manually:
sudo update-grub
Issue 3: Blank Entry List in the List Configuration Tab
Symptom: Grub Customizer opens, but the List Configuration tab shows no entries.
Fix: This means grub.cfg is either missing or unreadable. Regenerate it:
sudo grub-install /dev/sda
sudo update-grub
Replace /dev/sda with your actual boot disk. Check with lsblk if you are unsure.
Issue 4: GRUB Menu Entries Disappeared After Saving
Symptom: After saving, your system boots directly into one OS without showing the GRUB menu.
Fix: Restore your backup immediately:
sudo cp /boot/grub/grub.cfg.bak /boot/grub/grub.cfg
Then reopen Grub Customizer, re-apply your changes one at a time, and save after each change to isolate what caused the issue.
Issue 5: Package Not Found During apt install
Symptom: Running sudo apt install grub-customizer returns “Unable to locate package grub-customizer.”
Fix: You likely skipped the apt update step, or your /etc/apt/sources.list does not include the main Debian 13 repository. Confirm your sources:
cat /etc/apt/sources.list
You should see a line like:
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
Then run sudo apt update and try installing again.
How to Uninstall Grub Customizer
If you no longer need Grub Customizer, removing it is clean and simple.
Remove the package while keeping config data:
sudo apt remove grub-customizer
Remove the package and purge all associated configuration files:
sudo apt purge grub-customizer
Clean up orphaned dependencies left behind:
sudo apt autoremove
Confirm it is gone:
dpkg -l | grep grub-customizer
No output means the package has been fully removed. Keep in mind that uninstalling Grub Customizer does not revert changes already saved to grub.cfg. Your GRUB menu will continue to reflect the last configuration you saved until you manually run update-grub or reinstall GRUB.
Congratulations! You have successfully installed Grub Customizer. Thanks for using this tutorial for installing the Grub Customizer on Debian 13 “Trixie” system. For additional help or useful information, we recommend you check the official Linux Mint website.