0

I've been having some trouble with my system when trying to install/update kernels, and similar operations; commands like # bootctl install result in no space left on the device.

I have tried deleting entries from the bootloader that are superfluous - using both the EFI Shell (bcfg), booted from USB, and efibootmgr - to no avail: as soon as the system reboots, I get a message that says Boot Manager has recovered from an error and I get the option to press Esc to continue or F1 to enter the (BIOS) menu. I have tried disabling Secure Boot, delete the entries, shut down the PC, removed the battery and waited for a couple of minutes, before booting up and getting the same message. I have even update the firmware, just to see if it might be a bug that kept the entries there.

Here is the output of # efibootmgr -v:

BootCurrent: 0019
Timeout: 0 seconds
BootOrder: 0017,0018,0019,001A,001B,001C,001D,001E,001F,0020,0021,0022
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
      dp: 04 06 14 00 66 8b 1c 72 6c 42 86 4e 8e 99 34 57 c4 6a b0 b9 / 7f ff 04 00
Boot0011  Boot Menu FvFile(126a762d-5758-4fca-8531-201a7f57f850)
      dp: 04 06 14 00 2d 76 6a 12 58 57 ca 4f 85 31 20 1a 7f 57 f8 50 / 7f ff 04 00
Boot0012  Diagnostic Splash Screen  FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
      dp: 04 06 14 00 a6 d9 d8 a7 b0 6a eb 4a ad 9d 16 3e 59 a7 a3 80 / 7f ff 04 00
Boot0013  Lenovo Diagnostics    FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
      dp: 04 06 14 00 5b 61 7e 3f 45 0d 80 4f 88 dc 26 b2 34 95 85 60 / 7f ff 04 00
Boot0014  Startup Interrupt Menu    FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
      dp: 04 06 14 00 f4 e6 6e f4 85 47 a3 43 92 3d 7f 78 6c 3c 84 79 / 7f ff 04 00
Boot0015  Rescue and Recovery   FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
      dp: 04 06 14 00 60 3f 5d 66 3e ad ad 4c 8e 26 db 46 ee e9 f1 b5 / 7f ff 04 00
Boot0016  MEBx Hot Key  FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
      dp: 04 06 14 00 6a d5 6f ac 41 3d fd 4e a1 b9 87 02 93 81 1a 28 / 7f ff 04 00
Boot0017* USB CD    VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
      dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 86 70 12 96 aa 5a 78 48 b6 6c d4 9d d3 ba 6a 55 / 7f ff 04 00
Boot0018* USB FDD   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
      dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 6f f0 15 a2 88 30 b5 43 a8 b8 64 10 09 46 1e 49 / 7f ff 04 00
Boot0019* NVMe0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a400)
      dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 00 1c 19 99 32 d9 4c 4e ae 9a a0 b6 e9 8e b8 a4 00 / 7f ff 04 00
Boot001A* NVMe1 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a401)
      dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 00 1c 19 99 32 d9 4c 4e ae 9a a0 b6 e9 8e b8 a4 01 / 7f ff 04 00
Boot001B* ATA HDD2  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
      dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 91 af 62 59 56 44 9f 41 a7 b9 1f 4f 89 2a b0 f6 00 / 7f ff 04 00
Boot001C* ATA HDD3  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f604)
      dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 91 af 62 59 56 44 9f 41 a7 b9 1f 4f 89 2a b0 f6 04 / 7f ff 04 00
Boot001D* ATA HDD0  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f603)
      dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 91 af 62 59 56 44 9f 41 a7 b9 1f 4f 89 2a b0 f6 03 / 7f ff 04 00
Boot001E* ATA HDD1  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f602)
      dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 91 af 62 59 56 44 9f 41 a7 b9 1f 4f 89 2a b0 f6 02 / 7f ff 04 00
Boot001F* USB HDD   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
      dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 33 e8 21 aa af 33 bc 47 89 bd 41 9f 88 c5 08 03 / 7f ff 04 00
Boot0020* PCI LAN   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
      dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 78 a8 4a af 2b 2a fc 4e a7 9c f5 cc 8f 3d 38 03 / 7f ff 04 00
Boot0021  Other CD  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35406)
      dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b ae a2 09 0a df de 21 4e 8b 3a 5e 47 18 56 a3 54 06 / 7f ff 04 00
Boot0022  Other HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f606)
      dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 91 af 62 59 56 44 9f 41 a7 b9 1f 4f 89 2a b0 f6 06 / 7f ff 04 00
Boot0023* IDER BOOT CDROM   PciRoot(0x0)/Pci(0x14,0x0)/USB(15,1)
      dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 00 14 / 03 05 06 00 0f 01 / 7f ff 04 00
Boot0024* IDER BOOT Floppy  PciRoot(0x0)/Pci(0x14,0x0)/USB(15,0)
      dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 00 14 / 03 05 06 00 0f 00 / 7f ff 04 00
Boot0025* ATA HDD   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
      dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 91 af 62 59 56 44 9f 41 a7 b9 1f 4f 89 2a b0 f6 / 7f ff 04 00
Boot0026* ATAPI CD  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
      dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b ae a2 09 0a df de 21 4e 8b 3a 5e 47 18 56 a3 54 / 7f ff 04 00

I have a Lenovo ThinkPad P51, which has no floppy drives, no CD-ROM, and only one (NVME) SSD... nothing else is connected to the PC. I'm going nuts here.

Any help is greatly appreciated!

EDIT: These are the results of # efibootmgr -v from my desktop PC:

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001
Boot0000* Linux Boot Manager    HD(1,GPT,5f8adc83-05ea-47d2-af93-1c80e7956e2f,0x800,0xff800)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)
      dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 f8 0f 00 00 00 00 00 83 dc 8a 5f ea 05 d2 47 af 93 1c 80 e7 95 6e 2f 02 02 / 04 04 46 00 5c 00 45 00 46 00 49 00 5c 00 53 00 59 00 53 00 54 00 45 00 4d 00 44 00 5c 00 53 00 59 00 53 00 54 00 45 00 4d 00 44 00 2d 00 42 00 4f 00 4f 00 54 00 58 00 36 00 34 00 2e 00 45 00 46 00 49 00 00 00 / 7f ff 04 00
Boot0001* UEFI OS       HD(1,GPT,5f8adc83-05ea-47d2-af93-1c80e7956e2f,0x800,0xff800)/File(\EFI\BOOT\BOOTX64.EFI)0000424f
      dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 f8 0f 00 00 00 00 00 83 dc 8a 5f ea 05 d2 47 af 93 1c 80 e7 95 6e 2f 02 02 / 04 04 30 00 5c 00 45 00 46 00 49 00 5c 00 42 00 4f 00 4f 00 54 00 5c 00 42 00 4f 00 4f 00 54 00 58 00 36 00 34 00 2e 00 45 00 46 00 49 00 00 00 / 7f ff 04 00
    data: 00 00 42 4f

EDIT 2: This is the output of # fdisk -l /dev/nvme0n1

Disk /dev/nvme0n1: 465,76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 980 PRO 500GB               
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: [REDACTED]

Device           Start       End   Sectors   Size Type
/dev/nvme0n1p1    2048   1048575   1046528   511M EFI System
/dev/nvme0n1p2 1050624 976773119 975722496 465,3G Linux filesystem

# df -h /dev/nvme0n1p1:

Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p1  510M  510M     0 100% /boot

Output of tree /boot:

/boot
├── amd-ucode.img
├── EFI
│   ├── BOOT
│   │   └── BOOTX64.EFI
│   ├── Linux
│   │   ├── linux-5.15.79-1-lts-6cbacb3c969c4299bfa70572a86032d6-rolling.efi
│   │   ├── linux-6.0.9-arch1-1-6cbacb3c969c4299bfa70572a86032d6-rolling.efi
│   │   └── linux-6.0.9-zen1-1-zen-6cbacb3c969c4299bfa70572a86032d6-rolling.efi
│   └── systemd
│       └── systemd-bootx64.efi
├── initramfs-linux-fallback.img
├── initramfs-linux.img
├── initramfs-linux-lts-fallback.img
├── initramfs-linux-lts.img
├── initramfs-linux-zen-fallback.img
├── initramfs-linux-zen.img
├── loader
│   ├── entries
│   │   ├── 2022-11-13_19-12-22_linux.conf
│   │   └── 2022-11-13_19-12-22_linux-lts.conf
│   ├── entries.srel
│   ├── loader.conf
│   └── random-seed
├── vmlinuz-linux
├── vmlinuz-linux-lts
└── vmlinuz-linux-zen

6 directories, 20 files
4
  • 1
    It would be good to know how large your EFI partition is and what is in there. With systemd-boot you can manage it very simply with config files. The Arch wiki describes this well. wiki.archlinux.org/title/Systemd-boot
    – PonJar
    Nov 19 at 10:15
  • If bootctl install comes back with no space on the device then nvme0n1p1 is full with stuff, however 511M should be plenty. So the issue is what to delete? You haven’t shown us what is in there so can’t help with that yet. If I were you I would boot the Arch install media and chroot into the system as per the instructions in the Arch installation guide. Delete or copy anything large that looks like it’s old. Then bootctl install again and check the loader entries as per the link above. Let us know how you get on
    – PonJar
    Nov 20 at 9:07
  • Just remembered I shared details of my systemd-boot configuration in “answer” to another question. It may help you. Just note it works great with Arch but there are complications on Ubuntu askubuntu.com/questions/1414423/systemd-boot-install-failure/…
    – PonJar
    Nov 20 at 9:55
  • Just looked at my /boot folder. I don’t have anything below /boot/EFI/Linux. I think what you have there are Unified kernel images. I have the various vmlinuz and initramfs files which are used in the loader entries. I think the Unified kernel images can be used to boot the system without the use of the vmlinuz and initramfs files. So it’s a case of you need either the vmlinuz and initramfs files (plus loader config files OR the Unified kernel images NOT both. The Arch Wiki has all the info you need about this
    – PonJar
    Nov 21 at 8:51

2 Answers 2

1

What is the partition setup? How big is your ESP drive? What do you want to use as your boot system? The simplest approach here might be to just create a bootx64.efi file in your /esp drive under /EFI/BOOT directory. That will be problematic, though, if there's no rooom on the esp partition.

So again,the question is: what do your partitions look like? How big is the ESP drive and how much of it is already taken?

Addendum:

I see that the size of your ESP is 500M, which should be enough to contain all boot files. Still, it would be good to see how much of the 500M is in use (a df -h would tell us).

Step by step, I think, is the best approach. Assuming that there is actually room on the ESP (and I suspect there is), you need to boot with the USB, but then chroot into the root of the nvme. Mount the root partition (as /mnt, for example) and mount the ESP as as subdirectory of /mnt (/mnt/efi, for example). Then chroot into /mnt. Now you should be able to create a new efi file that you'll put on the esp (/mnt/efi, in my example).

Alternatively, you say that you've booted into the UEFI shell. Once in the shell, at the prompt, change into the fs# of the esp on the hard drive (the UEFI will map that drive, among others). So in the shell, enter fs0: or fs1: or whatever the map tells you is your esp. Once there, run an ls to see what's on the ESP. Presumably, you'll be able to find a bootable efi file (bootx64.efi, perhaps, or grubx64.efi). Once you're in the directory where that file sits, you can run it by simply typing its name. Does the hard drive boot then?

So there are a few possibilities: you can create a new efi file that boots, or you can find an existing efi file on the ESP. And there's another possibility: from the UEFI shell, if your vmlinuz file is there, you can boot using that and telling UEFI where to find your root. In other words, navigate to the esp (fs#:). If there is a vmlinuz and and initramfs, you can write a one line comand: \vmlinuz root=/dev/nvme??? \initramfs...and it should boot that way.

Addendum 2: Amazing that it's full. OK...this is going a little slower than I had hoped. We need to know what's taking up all the room on that partition. Just do a directory listing (ls -s or ls -hs for human readable sizes in M). There is surely stuff that can be deleted, but we won't know what until we see the listing.

Addendum 3: OK...by running tree, of course, we are not able to see the size of each file. Had you run ls -s or ls -sh, the size of each file would have been shown.

Regardless, every initramfs file is likely in the 40M range, so those alone on your system are taking up a significant amount of space. Each vmlinuz file is likely about 10M. So with your six initramfs images (probably about 240M or more in total) and your three vmlinuz files (about 30-40M more), your first nearly 300M is being used with those. I have no way of knowing how large the various efi files are.

I don't use systemd-boot, which I am guessing is what's creating all your linux...rolling.efi files. So I don't know how large they are.

BUT: what you need to boot is only one vmlinuz-linux file and one initramfs-linux.img file.

Rather than delete extraneous files (until we know they're extraneous), I would suggest you moving them to your root drive (nvme0n1p2). Easiest would be to move the initramsf-lts and initramfs-zen files. This should free up enough space for you to go back and let everything work correctly as you move to 6.09.

8
  • Please see my updated answer.
    – telometto
    Nov 19 at 22:23
  • I've added to my original in response.
    – dojero
    Nov 20 at 5:31
  • I've updated, once again, with the output of df -h - there really isn't anymore space on /dev/nvme0n1p1 ._.
    – telometto
    Nov 20 at 12:50
  • I added more in response.
    – dojero
    Nov 20 at 15:00
  • I ran tree - the output is in the edited post. Thanks a lot for helping me!
    – telometto
    Nov 20 at 18:25
0

Could be the bootmanager.
Try this command:

sudo grub-mkconfig
sudo update-grub

If this does not help, I can only suggest a reinstallation. Before you reinstall, use "Data Definition" to delete the nvme drive. You can run DD from a live USB.

Caution, all data on the storage devices will be irretrievably deleted, back up the data beforehand!

sudo dd if=/dev/zero of=/dev/nvme0n1 status=progress

Maybe someone else has a better solution.

3
  • Thanks you for the reply. I'm using systemd-boot + dracut... Do you know if this might cause trouble?
    – telometto
    Nov 18 at 23:14
  • Ohh, my mistake. I am not familiar with "systemd-boot". Sorry. You can try to install GRUB2.
    – Teso
    Nov 18 at 23:21
  • Geez there's hardly a need to zero-fill any NVMe drive. I doubt that there is any drive that supports neither sanitize or format and has non-RZAT TRIM. Besides, unless you are some kind of computer clean freak (like me), wipefs is sufficient for 99% of the time.
    – Tom Yan
    Nov 21 at 4:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.