I always partitioned my hard drive like this.
I went to do a manual partition of my nvme to install EOS Plasma, but calamares crashed on me so i went back started over let it do its thing automatically and this is how it turned out.
[dad@dad-EndeavourOS ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme1n1 259:0 0 476.9G 0 disk
├─nvme1n1p1 259:1 0 512M 0 part /boot/efi
├─nvme1n1p2 259:2 0 467.6G 0 part /
└─nvme1n1p3 259:3 0 8.8G 0 part [SWAP]
nvme0n1 259:4 0 465.8G 0 disk
└─nvme0n1p1 259:5 0 465.8G 0 part
Have i been partitioning my drives all this time wrong, or can it be done either way & it doesn’t matter? Thanks.
The partition ordering is personal choice.
Traditionally, OS files were placed towards the start of a disk as that was the fastest part of a spinning HDD. Swap, therefore, was placed towards the end as it made little difference - if you started swapping heavily on an HDD then it’s already too late.
Now, it doesn’t make any difference on an SSD or NVMe drive.
However, I might put a swap partition at the start of the drive to protect against a
dd onto the wrong device. As long as I stop the
dd in time (or don’t write more than the swap space) and remember the layout (or have it saved) then I can easily re-create the partition table and lose no data.
I wonder why the EFI partition is 512M? That seems big. All my EFI partitions (3 desktops & 1 laptop) are only 100MB. Is 100MB the Windows 10 default? I install W10 first and then install Linux alongside it.
Arch wiki recommends 512. Windows default ESP size depends on your disks physical sector size. Normally it is 100 and can be as much as 260 maybe even 300. You can create a custom-sized ESP by side-stepping out of Windows Setup and into the Command Line for a minute to partition the disk to your liking. You have to use the advanced install method with the command line to use the diskpart tool in Windows to accomplish this.
On this current system, where partitions were made manually, I have a 100 MB EFI system partition. Only 2.09 MB of it is used.
I use Grub as bootloader so I wonder if the recommendation of 512 MB is for having enough space for the kernels in the case the user wants to use systemd-boot.
Had a look at ArchWiki’s reommendation. It says:
To provide adequate space for storing boot loaders and other files required for booting, and to prevent interoperability issues with other operating systems the partition should be at least 260 MiB. For early and/or buggy UEFI implementations the size of at least 512 MiB might be needed.
And refers to
for the 512 MB recommendation:
Although the EFI specification is mute on the subject of the ESP’s size, most OSes make it fairly small—Macs ship with 200MiB ESPs, and the Windows 7 installer creates one of just 100MiB. (That value has been raised to a bit over 200MiB on newer versions of Windows.) Some users, however, have found that some EFIs have bugs that cause problems with FAT32 ESPs that are under 512MiB (537MB) in size. One very common problem is files that can’t be read by the EFI. The Linux mkdosfs command defaults to using FAT16 for partitions of up to 520MiB (546MB). Therefore, adding a margin of safety to protect against MiB/MB confusion and rounding errors, I recommend creating an ESP that’s at least 550MiB in size. If you must use a smaller ESP and if you encounter mysterious problems, try converting it to FAT16; most ESPs will work fine with this, and it may eliminate your problems. On the other hand, this may cause the Windows installer to fail should you need to install this OS.
that`s a complete information research !
And yes the reason why i do set default to 512MB
Not needed in all cases but it will help in some cases, we see already users here having issue with “no space left”