Singular file system
The simplest, most basic partitioning scheme in any Linux operating system consists of 3 partitions:
Type | File System | Description |
---|---|---|
EFI System Partition | vfat | Stores boot loaders and bootable OS images in .efi format |
Root File System | ext4, btrfs, XFS, or other | Stores the Linux OS files (kernel, system libraries, applications, user data) |
Swap | Swap partition or file | Stores swapped memory pages from RAM during high memory pressure |
This guide assumes the following:
- There is only 1 disk that needs partitioning
-
/dev/nvme0n1
is the primary disk
Preparing the disk
Determine the disks that are installed on your system. This can easily be done with fdisk
:
fdisk -l
It outputs a list of disk devices with one or more entries similar to this:
Disk /dev/nvme0n1: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: Samsung SSD 840
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
The first line starting the device file with /dev/
is the relevant one. Start partitioning the disk with cfdisk
:
cfdisk /dev/nvme0n1
If the disk has no partition table yet, cfdisk
will ask you to specify one. MostThe default partition table format for UEFI systems of the past 10 years are UEFI-capable, so you should chooseis gpt
. Continue to create the following layout:
Size | FS Type |
---|---|
1G | EFI System |
(RAM size) | Linux Swap |
(remaining) | Linux root (x86-64) |
You can check that the partitions have been created by running fdisk
one more time:
Disk /dev/nvme0n1: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: Samsung SSD 840
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 2099199 2097152 1G EFI System
/dev/nvme0n1p2 2099200 35653631 33554432 16G Linux swap
/dev/nvme0n1p3 35653632 488396799 452743168 215.9G Linux root (x86-64)
AsThis youtime canfdisk
see, itwill also nowlist liststhe partitions present on the diskdisk.
Formatting devicespartitions
Format the partition with the appropriate mkfs
subcommand:
mkfs.fat -F 32 /dev/nvme0n1p1 # EFI System Partition
mkswap /dev/nvme0n1p2 # Swap space
mkfs.ext4 /dev/nvme0n1p3 # ext4 root file system
Next mount the file systems:
mount /dev/nvme0n1p3 -o noatime /mnt
mount /dev/nvme0n1p1 --mkdir /mnt/boot
swapon /dev/nvme0n1p2