03b.Partitionning T480s laptop - Jubijub/arch-config GitHub Wiki
This part follows closely the Arch wiki Installation Guide, and covers the part called Pre-installation link in the wiki.
The goal of this section is to partition the drives of the computer to be
able to Install Arch, and to mount the drives to start the chroot
environment.
Note
|
It is always assumed that Windows has been installed before Linux. |
-
Linux EFI partition size recommendation (ESP size guide)
-
Windows (UEFI/GPT-based hard drive partition)

This is a traditional dual boot on one single drive.
The linux bootloader offers the OS selection at boot time, and the /boot
partition is shared between Linux and Windows.
Important
|
Windows has to be installed first. |
Warning
|
By default windows boot size is 100mb, which is enough for one
linux kernel.
You can work around this at Windows setup time by using diskpart to delete
the boot partition and create a larger one instead.
|
Capacity | Model | Name | Device path | OS | Usage |
---|---|---|---|---|---|
477 GiB |
Samsung PM981 SSD 512 GiB NVME |
Disk 0 |
/dev/nvme0n1 |
Windows + Linux |
/ + C: |
My laptop has 16GiB of ram, so I am also using 16GiB of swap.
Linux Path | Size | Type | Usage |
---|---|---|---|
/dev/nvme0n1p1 |
499MiB |
Windows recovery environment |
|
/dev/nvme0n1p2 |
1024MiB |
EFI System partition (ef00) |
/boot |
/dev/nvme0n1p3 |
16MiB |
Windows reserved |
|
/dev/nvme0n1p4 |
194.7GiB |
Microsoft basic data |
C: (Windows 10) |
/dev/nvme0n1p5 |
16GiB |
Linux Swap 8200 |
/swap |
/dev/nvme0n1p6 |
50GiB |
Linux Filesystem (8300) |
/ |
/dev/nvme0n1p7 |
* |
Linux Filesystem (8300) |
/home |
Note
|
the standard EFI partition created by windows is usually 100MiB. I configured it to be 550MiB during the Windows setup. |
Warning
|
Do not wipe the partitions or you will delete Windows |
This follows exactly the partition structure given in the tables above.
cgdisk /dev/nvme0n1
-
The Windows partition structure will appear, leave it alone.
-
Create swap partition (
/dev/nvme0n1p5
)-
Select free space (the large one), choose
[new]
option -
-16GiB
(to set first sector, from the end of the drive) -
[Enter] (default value for end sector)
-
8200
(partition type = Linux swap 8200) -
swap
(partition name) -
The partition will appear at the end of the list
-
-
Create root partition (
/dev/nvme0n1p6
)-
Select free space (the large one), choose
[new]
option -
[Enter] (to set first sector)
-
50GiB
(default value for end sector) -
[Enter] (partition type = Linux Filesystem 8300)
-
root
(partition name)
-
-
Create home partition (
/dev/nvme0n1p7
)-
Select free space (the large one), choose
[new]
option -
[Enter] (to set first sector)
-
[Enter] (default value for end sector to use the*remaining size of the disk)
-
[Enter](partition type = Linux Filesystem 8300)
-
home
(partition name)
-
-
Select
[write]
-
Confirm by typing
yes
-
Select
[Quit]
mkfs.ext4 /dev/nvme0n1p6 -L ArchLinux # (1)
mkfs.ext4 /dev/nvme0n1p7 -L JubiHome # (2)
mkswap /dev/nvme0n1p5 -L Swap # (3)
swapon /dev/nvme0n1p5 # (4)
-
formats / <.> formats /home <.> declares /swap <.> enables swapping
ls -l /dev/disk/by-partuuid
lsblk -o name,fstype,parttype,mountpoint,label,size,uuid
-
Standard Linux partition should have parttype
0FC63DAF-8483-4772-8E79-3D69D8477DE4
-
Swap Linux partition should have parttype
0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
mount /dev/nvme0n1p6 /mnt # (1)
mkdir /mnt/home # (2)
mount /dev/nvme0n1p7 /mnt/home
mkdir /mnt/boot # (3)
mount /dev/nvme0n1p2 /mnt/boot
-
Mount / <.> creates the
home
mounting point and mounts /home <.> creates theboot
mounting point and mounts /boot-
Verify that
/mnt/boot
contains a folder calledEFI
(this is the pre-existing Windows bootloader)
-