The smart way to install Linux requires the user to partition the disk, mainly to isolate possible future problems in each partition. The directory containing vital files for the boot process is part of this partitioning. In such a scenario, before a boot problem related to files located under /boot, the user can reinstall the partition keeping the rest of the system untouched. Another reason to dedicate the /boot directory to its own partition would be the use of encryption methods. If you encrypt your / (root) partition, you will need to partition the /boot directory, so the needed files to boot remain accessible for the MBR (Master Boot Record, where GRUB is stored).
Of course, the same applies for other partition types; for example /var, a directory we may want to dedicate its own partition to avoid logs from taking over our disk space. The same applies to the /tmp directory. Other partitions may be chosen just because the user considers different and specific file systems that would benefit his system. Other users decide to dedicate the home directory to its own partition to prevent users from taking over the disk with personal files.
Before continuing with this article, the answer on the recommended boot partition size on Debian (Or any other Linux distribution) is 256 MB. Some users choose to leave up to 512 MB to the boot partition, more than that is indeed (unless for some reason you want to keep a kernels collection).
It is important to clarify the main disadvantage of partitioning storage devices is you don’t know how much space you will need in the future. If your calculation fails or your needs change, you may need to reinstall your system or storage devices. That’s why many users decide to install only two partitions: The root partition for system files and the swap partition for the virtual memory.
While this article focuses on the /boot partition, let’s use this opportunity to analyze the most common Linux partitions. The following table depicts Linux would be partitioned, their recommended minimum size, and usage.
|PARTITION||MINIMUM RECOMMENDED SIZE||USAGE|
|/||10 GB||System files / all files|
|/boot||256 MB / 512 MB||Boot files|
|/home||100 MB||User files|
|/tmp||50 MB||Temporal files|
|/usr||8 GB||Program files|
|/var||400 MB||Dynamic data|
- / (Root): The root partition stores all the systems when the system isn’t partitioned. When the system is partitioned, the root partition stores system files and all files belonging to directories that were not assigned a dedicated partition.
- /boot: As said previously, the boot partition contains the necessary files to boot the system.
- /home: The home directory or partition stores user files, such as profile configuration files and all content created by the user. Dedicating a partition to the /home directory will ease backup tasks.
- /tmp: The tmp partition stores temporary files; dedicating the /tmp directory its own partition is useful to limit the disk space for temporary files.
- /usr: The /usr partition stores read-only program files, such as executables, libraries, etc. This is similar to the Windows “Program Files” directory.
- /var: This partition is used for dynamic data, such as log files, cached data, etc. Files located under the /var partition are related to the /usr partition but stored in this different partition since /usr is read-only.
The boot partition on Debian 11 and other Linux distributions:
The boot partition in Linux includes vital files to boot the system, including the kernel and bootloader configuration files. You can check the content of the boot partition using the ls command, as shown in the example below.
As you can see, there are a few files and directories detailed below.
- config-x.x.x-x-amd64: This file includes needed components for the Debian kernel building.
- efi: This directory contains necessary files when the computer has UEFI (Unified Extensible Firmware Interface) instead of BIOS (basic input/output system).
- grub: This directory contains grub configuration files such as grub.cfg.
- initrd.img-x.x.x-x-amd64: initrd.img* (Initial Ram Disk) allows the bootloader (GRUB) to load kernel executable into the ram memory before running the kernel.
- System.map-x.x.x.-amd64: Despite being located under the /boot directory, System.map* files are not necessary to boot the system. Such files are useful for debugging kernel problems.
- vmlinuz-x.x.x-x-amd64: vmlinuz files are booteable compressed kernel images.
As you can see, the recommended minimum size for the /boot partition on Debian 11 or other Linux distributions is between 256 MB and 512 MB.
In many scenarios, a dedicated /boot partition may benefit your system by isolating possible problems.
Partitioning the disk is a process done during the installation phase any Linux level user can carry out, even when partitioning seems a difficult task. The /boot partition does not require a considerable disk space amount. While partitioning may imply disadvantages in many cases (Since your needs may change in the future, and you can’t guess how much space you’ll need), this is not the case of the /boot directory, whose recommended size does not vary and is mandatory when you deal with encrypted storage devices. It is important to keep all files contained within the /boot partition, but you must not accumulate compressed kernel versions (vmlinuz) that are not compatible with your system. Also, it is worth clarifying that most domestic Linux systems don’t have a dedicated /boot partition, but only a root (/) and swap (virtual memory) partition without a problem.
Thank you for reading this article explaining the proper size for the /boot partition on Debian 11. Keep following us for additional Linux tips and tutorials.