You are not logged in.
EDIT - The solution was actually pretty simple, I'll write it at the bottom of this post.
I'm on step 2.2 of the wiki installation guide. I ran
arch-chroot /mntto get into the system, then installed the packages base, linux, and linux-firmware. I'm looking at the bullet list of recommended installations, and I'm stuck on the first one. I ran
pacman -S intel-ucodeThis gave me an error: Partition /boot too full: 18055 blocks needed, 0 blocks free. I'm installing Arch after already having Windows and Mint on my system, so I'm using the EFI partition that was already there. Its size is 100M. I found that I can use
df -h /bootto analyze the space. It says the size is 100M, used is 100M, and available is 0. Can I make the partition bigger from this environment? Would it be possible and/or easier to boot back to Mint and use the Disks menu to make the partition bigger?
If this is possible, how much space should I give it? intel-ucode said it needed 27.03 MiB, so maybe 30 would be plenty?
If this is not possible, what should I do from here?
Thanks for the help!
EDIT - There were lots of suggested solutions to this, but I ended going with the simplest, which was to clean up the ESP. I deleted the following files:
initramfs-linux-fallback.img
initramfs-linux.img
Altogether, this cleared 35M from the ESP, which was plenty of space for intel-ucode, which only needed about 27M.
Being a beginner at this, I don't really know what those files are for. If you're reading this after the fact, make sure it's safe for your system to delete them.
Last edited by TySpicer (2025-09-03 18:54:56)
Offline
first: look up what the ESP is for: bootloaders!
second: lookup what bootloaders require: for most (including microsofts stuff) up to but usually less than 30MB
third: you don'T need multiple bootloaders - aside from the windows crap to boot windows and ONE linux capable bootloader like grub, refind, systemd-boot - resulting in about half of the 100MB ESP used
fourth: place ALL other files either in /boot ON root - NOT /boot on ESP! - or use an additional XBOOTLDR for linux which then can be mounted at /boot - while ESP mounted to /efi (note: /boot/efi is outdated and discouraged)
TL;DR: you use your ESP as /boot instead of just /efi - and hece run out of space - if you want an additional /boot then use XBOOTLDR - or just use /boot as a regular folder on your root partition
and clean out your ESP (clear all except the Microsoft folder and re-install ONE linux bootloader)
Offline
If you're using GRUB you don't need to mount the EFI system partition under /boot/.
Otherwise consider an XBOOTLDR partition instead: https://wiki.archlinux.org/title/System … g_XBOOTLDR
EDIT: ninja'd by cryptearth...
Last edited by Head_on_a_Stick (2025-08-31 20:31:37)
Jin, Jîyan, Azadî
Offline
I am using GRUB already, are you saying I shouldn't mount my EFI partition at all? Is there somewhere else I should mount it? Does this mean I don't need to install intel-ucode?
Sorry, I'm still quite the beginner at this. I appreciate the help!
Offline
For GRUB you can mount the ESP under /efi/ and use the --efi-directory option for the grub-install command to point to that directory.
EDIT: you will still need to install the relevant µcode package and ensure it is loaded.
Last edited by Head_on_a_Stick (2025-08-31 20:42:39)
Jin, Jîyan, Azadî
Offline
Sorry, I'm still a bit confused. A couple things:
You said to mount the ESP under /efi/ - Should I create this directory if it's not there?
grub-install command - Do I do this in the live environment or inside Arch itself? I may need some more specific instructions, if you don't mind.
Offline
Yes, you need to create the directory yourself, it is not supplied by the filesystem package. Also add an entry for it in /etc/fsab, either manually or with genfstab(8).
The grub-install command can be run from your normal system, it should create a fresh NVRAM boot entry with top priority.
Remember to remove any unwanted contents from the ESP to make some space, reinstall the kernel & grub packages with /boot/ as part of the main root filesystem, and also re-generate or edit grub.cfg to reflect the new configuration.
Jin, Jîyan, Azadî
Offline
note: when you use grub to manage multiple linux installs I would recommend to install grub onto the ESP by also using the --boot-directory parameter
why is this important: when not given grub-install defaults to /boot and builds the grubx64.efi in a way that it will load grub.cfg and all modules from the root of the system you installed grub from
this is fine for a single linux install
but when you have multiple linux installs you want grub to be independent of them - hence either install grub on the ESP or use an additional xbootldr partition
grub-install --target=x86_64-efi --efi-directory=/efi --boot-directory=/efi --bootloader-id=grub
grub-mkconfig -o /efi/grub/grub.cfgnote: to discover other linux installs (and windows) you need to install os-prober and uncomment the last line in /etc/default/grub
Offline
I would recommend to install grub onto the ESP
That's an interesting idea but it does come with some additional complications.
Check out my Debian forums post on the method and pay particular attention to the comments by p.H, who is the most expert user I have ever encountered in all my time on forums (sorry seth):
Jin, Jîyan, Azadî
Offline
Well, I do agree that several options exists. But they depend on either planing ahead or dealing with what's given.
When planing a new system with windows and at least one or more linux installs on it I would design a different layout than if like here I have to deal with the few options I have.
In the case of OP here I would try to first clean up as best as possible without breaking anything (would likely do that from a live media) and then see what's possible. From the initial post I get that windows and another Linux install are already on the system and OP wants to add arch along. To prevent reinstall windows and the other linux the best is likely to wipe the fresh arch install and its partition and add a xbootldr partition to store everything linux related on and then install any linux bootloader onto the esp.
My point is this: It's the simplest way with the least damage (if OP not want to reinstall arch they can shrink the root partition and add a xboitldr at the end) without touching either windows or the other linux and restore the esp to what the uefi spec intends it for: the bootloaders with thier configs.
Windows does the same: although a bit bloated all that windows puts on the esp is the bootloader and its config. All together about 25mb give or take. Grub is similar in size with other bootloaders even smaller. So reusing the 100mb windows esp is fine as long as you do it right.
The proper os files (kernel, initrd) don't belong on the esp anyway but either on a xbootldr or the root partition.
Another option could be to ditch any linzx bootloader but use efi-stub/uki and use the firmwares boot selector. Although this requires these files stored on a filesystem the firmware can read (often fat32 only).
There're several options op can try - from wiping the entire drive and starting from scratch over minimal edits like xbootldr to even full blown additional drive. I'd just gave my opinion based on my own experience. I do respect other solutions and many others here run setups I wouldn't even dream about. But given from all those many topics about boot issues often caused by too complicated setups I try to keep it simple.
How to manage one grub config from multiple linux distros? Best: not at all but each install only manages itself - as far as possible. But I also see it this way: Someone dual booting should have the required knowledge to deal with it. Otherwise the good old "ditch it and start over" is at least a recommendable option.
Offline
I definitely want the simplest option that doesn't delete anything I had before. It sounds like XBOOTLDR might be a good choice.
I made another partition with the correct type for XBOOTLDR. I mounted the old ESP to /mnt/efi. I attempted to mount the new partition to /mnt/boot based on the instructions for systemd-boot, and it gave me an error: "wrong fs type, bad option, bad superblock on /dev/sda10, missing codepage or helper program, or other error."
Am I on the right track? Again, I'm quite the beginner here. It would be helpful if you gave specific commands to type in, or a step-by-step guide. Of course, everyone's system is different, so I understand that's probably difficult, but I'm having trouble understanding your instructions. Hopefully that makes sense.
Offline
I'm attempting to figure this out a bit more, but I don't want to break anything. I'm following the instructions for systemd-boot - https://wiki.archlinux.org/title/Systemd-boot
EDIT - This is based on the main instructions. I scrolled down to section 3.1, and realized that's what I was looking at before. So, I'm back to my other issue: I can't mount my XBOOTLDR partition to /mnt/boot.
---
I got to the step where I run
bootctl install --esp-path=/dev/sda10which gave me the error "File system "/dev/sda10" is not a FAT EFI System Partition (ESP) file system."
When I made the new partition, I set it to the type "Linux extended boot," since that's what it sounded like you were saying. Should my new partition be a FAT EFI System Partition, or a Linux extended boot?
I'm trying to stick to the main wiki instructions as close as possible. This issue arose at step 2.2, but it feels like we're discussing step 3.8 now. Does it matter that we're doing it out of order?
Last edited by TySpicer (2025-09-02 00:50:33)
Offline
Did you format the XBOOTLDR partition? You can use any filesystem but for non-FAT remember to add the EFI filesystem driver to EFI/systemd/drivers/ on the EFI system partition.
Jin, Jîyan, Azadî
Offline
Did you format the XBOOTLDR partition?
Ah, that's a good point, I wondered if I needed to format it.
You can use any filesystem
I found the list of file systems. Any suggestions for a particular file system? The only one I recognize is ext4, but I feel like that would be too complicated (but maybe it doesn't matter).
remember to add ... to EFI/systemd/drivers/ on the EFI system partition.
Is this on the old ESP or on the XBOOTLDR partition? The issue before was that the ESP was too full, can it go on the XBOOTLDR partition instead? You mentioned before that I could clean off unwanted files from the ESP: how would I go about doing that?
Offline
unless you format the xbootldr with fat32 you have to place the FS driver along systemd-boot onto the esp
reason: the uefi firmware often can read fat32 only
this leaves you with either use fat32 for the xbootldr, too - or if you want a different filesystem you have to place a driver at a place where systemd-boot can load it from - best on the esp along systemd-boot
as you already noted: it doesn't matter if you use grub, systemd-boot or any other bootloader - most modern bootloaders can all do the same (with a bit of trickery even the microsoft bootloader can be abused to boot linux)
as you see yourself as a beginner I recommend one OS bare metal with additional OS in a vm unless you got the required expertise to properly do it bare metal
from the 100mb windows esp I guess windows was the first and likely still is your main OS
dual boot with linux is fine - but if it's just for learning I recommend a vm until you advenced some more
the very simple point is: if a mishap in a vm happens you can just throw it away and start over - on bare metal you risk your system not able to boot aanymore
Offline
Any suggestions for a particular file system?
Anything but FAT. I would use XFS but that's just because everybody uses ext4 and I'm a contrarian.
The issue before was that the ESP was too full
The fileystem drivers are very small, even the ZFS bloat monster only accounts for ~300KiB with the rest coming in at the 100KiB mark.
You mentioned before that I could clean off unwanted files from the ESP: how would I go about doing that?
mount /dev/sdXY /mnt
rm /mnt/$unwanted_crap
umount /mntEDIT: replace $unwanted_crap with the actual crap you don't want.
Last edited by Head_on_a_Stick (2025-09-02 15:51:44)
Jin, Jîyan, Azadî
Offline
The fileystem drivers are very small, even the ZFS bloat monster only accounts for ~300KiB with the rest coming in at the 100KiB mark.
Just to confirm - This sounds like the drivers go on the original ESP, not the XBOOTLDR partition. Is that right?
Also, how do I install the drivers? Would this be with Pacman? In the live environment or actually in Arch?
As for cleaning up the ESP, how do I know what files to remove and which files I should keep?
replace $unwanted_crap with the actual crap you don't want.
I figured, but I appreciate the clarification. :)
Offline
Not sure why no one has suggested it, but you can simply replace the existing EFI system partition with a larger one.
Online
you can simply replace the existing EFI system partition with a larger one.
This actually sounds like a really simple option! I'm looking at the instructions in section 5.1.2 of the article you linked. It looks like the instructions are saying to do the following:
1) Back up the files on the ESP
2) Delete the ESP
3) Create a new partition
4) Copy from the backup to the new partition
I wonder if there's a simpler way to do this. Can I simply create a new partition, format it, and copy the contents over, then remove the old ESP? I guess those are technically the same steps, but skipping the backup step. I figure if I just copy everything over directly, there's no need for a temporary backup location.
If I should follow the wiki instructions directly, can the backup directory be on my Mint root partition? I assume it's just files to copy over, so I can probably put them anywhere.
Lastly, can I handle this from my Mint "Disks" GUI, or should I do everything from the live environment? I feel like it would be easiest in the GUI if it's possible.
Offline
the drivers go on the original ESP, not the XBOOTLDR partition. Is that right?
Yes, that's right.
Also, how do I install the drivers?
First install the efifs package (with pacman) then copy the required driver from /usr/lib/efifs-$arch/ to EFI/systemd/drivers/ on the ESP (replace $arch with either ia32 or x64, depending on the content of /sys/firmware/efi/fw_platform_size).
As for cleaning up the ESP, how do I know what files to remove and which files I should keep?
If you were using the ESP for /boot/ in the Arch system then you should remove the kernel & initramfs images from the top level directory on the partition, they will be taking up the most space. You can also remove the grub/ directory but leave the EFI/ directory alone and do not touch anything to do with Mint, the directories for which should be under EFI/ but perhaps they do something unusual there (I've never used Mint, their devs don't issue security advisories).
EDIT: we cross-posted...
Can I simply create a new partition, format it, and copy the contents over, then remove the old ESP?
That will break your Windows system.
Last edited by Head_on_a_Stick (2025-09-02 17:09:13)
Jin, Jîyan, Azadî
Offline
That will break your Windows system.
Ah, that's good to know. Well, I think I'll try to follow the article to replace my ESP with a larger one. Hopefully tonight, if I have time, but I may or may not have time for another few days, we'll see.
I'll post here again if I have more questions, or if I got it working. I appreciate all of your help!
Offline
Not sure why no one has suggested it, but you can simply replace the existing EFI system partition with a larger one.
because it will likely kill the windows install
Offline
because it will likely kill the windows install
Really, is this true in general?
Offline
Removing the ESP that Windows created (or just uses) will delete the Windows bootloader.
You could create another ESP but I think some machines can have problems with multiple ESPs and an XBOOTLDR partition is only slightly trickier to set up.
EDIT: but with GRUB you don't need to mount the ESP under /boot/ and you don't need an XBOOTLDR partition.
Last edited by Head_on_a_Stick (2025-09-02 19:42:12)
Jin, Jîyan, Azadî
Offline
Hmm, so it looks like I don't want to move the ESP, then.
I'm currently using GRUB to boot Mint/Windows. Now that I think about it, the original issue was that I didn't have enough space on my ESP to install intel-ucode. So maybe I just need to clean up the ESP? Especially since I already have GRUB, I don't think I should need another bootloader. Going back to the main wiki installation instructions, it says under section 1.9 not to create another ESP if I already have one.
Is it that simple? Do I just need to clean up my ESP?
Offline