Question about the 100 MB for EFI partition used for dual-booting with Windows
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Question about the 100 MB for EFI partition used for dual-booting with Windows
Hello,
When installing Arch Linux it's written that it's better to keep at least 512 MB or even 1 GB for the EFI partition, however, if you want to dual-boot with Windows, Windows automatically creates a 100 MB EFI partition and you're advised to use that 100 MB and share it with the Linux installation. My question is why suddenly 100 MB is enough for the EFI partition?
The simplest scenarios for mounting EFI system partition are:
mount ESP to /efi and use a boot loader which is capable of accessing the kernel(s) and initramfs image(s) that are stored elsewhere (typically /boot). See Arch boot process#Boot loader for more information on boot loader requirements and capabilities.
mount ESP to /boot. This is the preferred method when directly booting an EFISTUB kernel from UEFI or booting it via a boot manager like systemd-boot.
Tip:
/efi is a replacement[6] for the previously popular (and possibly still used by other Linux distributions) ESP mountpoint /boot/efi.
The /efi directory is not available by default, you will need to first create it with mkdir(1) before mounting the ESP to it.
When the efi partition is mounted at /boot for arch then yes you need the larger efi partition to house the kernels and initramfs. If you use /boot/efi or /efi as the mount point and use a bootloader such as grub, then 100Mb is large enough for the efi partition.
Last edited by colorpurple21859; 11-13-2020 at 11:00 AM.
When installing Arch Linux it's written that it's better to keep at least 512 MB or even 1 GB for the EFI partition, however, if you want to dual-boot with Windows, Windows automatically creates a 100 MB EFI partition and you're advised to use that 100 MB and share it with the Linux installation. My question is why suddenly 100 MB is enough for the EFI partition?
My windows 10 system used 250MB for the efi partition. I recently saw some discussion about size and the formatting of the efi partition as either fat16 or fat32, and there is a distinct minimum size required for the fat32 formatting. IIRC it was about 200MB. Smaller than that minimum partition size forced it to be formatted as fat16.
I have had no problems using the windows default 250MB size for my /boot/efi partition since the system images are in /boot which is an ext4 file system that is 500MB in size. My system, with 3 available linux kernels and the windows boot loader uses about 18% of 250MB in /boot/efi and about half of the 500M /boot.
Last edited by computersavvy; 11-13-2020 at 11:46 AM.
When the efi partition is mounted at /boot for arch then yes you need the larger efi partition to house the kernels and initramfs. If you use /boot/efi or /efi as the mount point and use a bootloader such as grub, then 100Mb is large enough for the efi partition.
Thank you. So if we create only a root partition (/mnt) and having a 100MB EFI partition, should we mount it as (/mnt/boot/efi) and it would be enough?
Yes you can do it that way. You will have to create the /boot/efi partition, and add the mount point to your fstab if you want it to mount at startup
I assume you mean there should be a separate partition to be mounted as /mnt/boot, and the 100MB EFI partition should be mounted as /mnt/boot/efi, and I should create another partition for the root directory or /mnt, right?
if your not using lvm or encryption, you don't need /boot on a separate partition, mount the root partition at /mnt and efi partition at /mnt/boot/efi.
Last edited by colorpurple21859; 11-13-2020 at 07:53 PM.
I have 8 or more of these operating systems installed on each sole 120G or 256G or 512G SSD or NVME in 4 PCs:
openSUSE Tumbleweed
openSUSE 15.2
openSUSE 15.1
openSUSE 15.0
Debian Bullseye
Debian Buster
*buntu 20.04
*buntu 18.04
Fedora 34 (Rawhide)
Fedora 33
Fedora 32
Mint 20
Mint 19.3
The ESP partition on each is 320M, and currently is 4% in use (11236 1024 1K-blocks) on the one currently booted. 100M is more than overabundant for an ESP mounted to /boot/efi/ on these, and the vast majority of other Linux distros.
if your not using lvm or encryption, you don't need /boot on a separate partition, mount the root partition at /mnt and efi partition at /mnt/boot/efi.
I'm going to use encryption, but not sure about LVM. Frankly, I don't know about LVM and I'm a bit lazy at the moment to read all the documents about LVM. Is LVM going to make things better or easier? I'd appreciate your comment on LVM.
One thing that is unclear for me is that when I'm not using LVM/Encryption, thus not having a boot partition, where would the /boot directory be located at? In the root directory?
I have 11 GB of RAM, is it necessary or recommended having a SWAP partition or file? Because some people say yes, some say no.
And the final question is that how much space should I give to the root and boot partitions if I want to use a separate partition to share files across Linux and Windows? I'm probably going to make a big partition for file sharing and encrypt it with VeraCrypt. Is it possible or recommended mounting it as the home directory inside Linux? It's a bit confusing for me.
I'm going to use encryption, but not sure about LVM. Frankly, I don't know about LVM and I'm a bit lazy at the moment to read all the documents about LVM. Is LVM going to make things better or easier? I'd appreciate your comment on LVM.
One thing that is unclear for me is that when I'm not using LVM/Encryption, thus not having a boot partition, where would the /boot directory be located at? In the root directory?
I have 11 GB of RAM, is it necessary or recommended having a SWAP partition or file? Because some people say yes, some say no.
And the final question is that how much space should I give to the root and boot partitions if I want to use a separate partition to share files across Linux and Windows? I'm probably going to make a big partition for file sharing and encrypt it with VeraCrypt. Is it possible or recommended mounting it as the home directory inside Linux? It's a bit confusing for me.
The root filesystem is "/". Thus /boot is by definition a subdirectory of /, whether mounted as a separate partition or contained within the / volume. When using either LVM or encryption for the system /boot should be a separate partition that is neither encrypted nor LVM.
The separate data partition would have no affect on the required size for / or /boot since it could have no affect on the linux system operation but would be only a data storage area. /home is also recommended to be a separate partition or LVM volume so that if a reinstall is required your personal data is unaffected.
If you do not have a swap partition (regardless of the size of your ram) the system will be unable to either suspend or hibernate. I usually have a swap equal to the size of my ram, even though the system with 16G ram almost never uses swap.
In sharing a directory with Windows, remember that windows can only access vfat or ntfs filesystems and as such has none of the ownership or extended attributes of linux. When looking at those files within linux all will have rwxrwxrwx permissions as well. I think that allowing bidirectional access and using it as /home or /home/username would be difficult if not impossible. It could possibly be mounted as a subdirectory of /home/username but will loose a lot of protections and simplicity that you have by default within linux. Essentially you will give up all the built-in security attributes of linux for the sole protection of the encryption. I see lots of comments by individuals about using encryption on their linux system but seldom see comments about wanting to routinely mount and share a windows volume. Not that it is impossible, but security is different.
With that said, to be able to use it for data only and have it encrypted would require a separate partition that is accessible to windows (possibly as drive D) so it could be used by both windows and linux.
You can easily access the files within your home directory on Windows by simply mounting that partition on linux with the file manager and navigating to the users home directory.
I like LVM for the flexibility of volume sizes. I have a 6TB raid array that I am using for /home and I presently have /home as a logical volume with 3TB allocated and about 2.5TB used (My entire media library is there, and grows constantly.) When I need more I simply expand the LV and gain the needed space. If I run out of space on the Volume Group physical space it is simple to add additional then adjust LV sizes as needed. With physical partitions it is much harder to manage. VGs can span multiple physical drives, arrays, etc., as can LVs. With physical partitions you are limited to exactly one physical device as the maximum size for any partition and filesystem.
Last edited by computersavvy; 11-15-2020 at 11:21 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.