Installation fails: "failed to register the boot entry: Input/output error"

It’s normal. Here is my output:

Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1000GB  1000GB  btrfs


Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1000GB  1000GB  btrfs


Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1000GB  1000GB  btrfs


Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sdd: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1000GB  1000GB  btrfs


Model: Samsung SSD 970 EVO 250GB (nvme)
Disk /dev/nvme0n1: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name  Flags
 1      1049kB  1050MB  1049MB  fat32                 msftdata
 2      1050MB  233GB   232GB   ext4
 3      233GB   250GB   17.3GB  linux-swap(v1)        swap

and here is the output of the command lsblk

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 931.5G  0 disk 
└─sda1        8:1    0 931.5G  0 part /home
sdb           8:16   0 931.5G  0 disk 
└─sdb1        8:17   0 931.5G  0 part 
sdc           8:32   0 931.5G  0 disk 
└─sdc1        8:33   0 931.5G  0 part 
sdd           8:48   0 931.5G  0 disk 
└─sdd1        8:49   0 931.5G  0 part 
nvme0n1     259:0    0 232.9G  0 disk 
├─nvme0n1p1 259:1    0  1000M  0 part /boot/efi
├─nvme0n1p2 259:2    0 215.8G  0 part /
└─nvme0n1p3 259:3    0  16.1G  0 part [SWAP]

The partition used for EFI 1000MB is a basic ms partition

The partition needs the EF00 partition type.

This is achieved either using cfdisk or by selecting only the boot flag for the partition in Calamares.

I think there is a bug in Calamares because this is not the first time this is seen.

I have run into this several times both with Endeavour and Manjaro.

The bug usually surfaces when you do a custom partitioning - which it appears you are doing - the separate home partition indicates this.

It has been discussed for quite some time now:

“For current KPMcore, the boot and esp flags are the same thing, so this is not a Calamares decision. And KPMcore also only changed it because libparted did. I guess it could be changed back now that KPMcore uses sfdisk instead of libparted, but it is an upstream KPMcore issue and any change there is an API and ABI change for KPMcore.”

Yes I use a rather unorthodox partitioning scheme.

Here is the output of parted after the installation (the system itself installs correctly, it’s just the last step that fails the installation).

Model: ATA ST1000LM014-1EJ1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name  Flags
 1      2097kB  317MB   315MB   fat32                 boot, esp
 2      317MB   991GB   991GB   ext4
 3      991GB   1000GB  8799MB  linux-swap(v1)        swap

If the installation fails only at installing the bootloader, perhaps you could give a try to install it manually:

While installing the bootloader manually completes without error, it still doesn’t seem to work - the system can’t boot from that disk.

If you start up you installer usb and run this command efibootmgr -v, what is the output?

BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0002,0003,0004,0000
Boot0000* EndeavourOS-grub	VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0002* UEFI: IP6 Realtek PCIe FE Family Controller	PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)/MAC(0c54a558278b,0)/IPv6([::]:<->[::]:,0,0)..BO
Boot0003* UEFI: IP4 Realtek PCIe FE Family Controller	PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)/MAC(0c54a558278b,0)/IPv4(0.0.0.00.0.0.0,0,0)..BO
Boot0004* UEFI: PNY USB 2.0 FD 8.02	PciRoot(0x0)/Pci(0x14,0x0)/USB(1,0)/HD(1,MBR,0x7e19f6b6,0xa4,0x20000)..BO

The boot menu however shows only the two realtek and the USB drive.

This doesn’t look correct. It should look like this (for example):

EndeavourOS HD(5,GPT,111fdb80-8598-4635-a159-0a2eaa800709,0x8d43000,0x32000)/File(\EFI\EndeavourOS\grubx64.efi)

If you chrooted and installed the bootloader successfully for UEFI system, I don’t know why your bios doesn’t find the path to booloader. If the bootloader did install correctly, it is possible to create a bios efi boot manually from the live usb. I don’t know if it will work but if you want to try:

sudo efibootmgr -c -d /dev/sda -p 1 -w -L EOS -l \EFI\EndeavourOS\grubx64.efi

This should give you a new option in the menu “EOS”.

That command gives me the error

Could not prepare Boot variable: Input/output error

which is what the original error message in Calamares also said.

I start thinking maybe something is “wrong” with your bios. I cannot think of anything else right now. You can check perhaps if there is a bios update for your machine.

Something I came to think of is that you might be able to do a Legacy installation. You could disable UEFI in the bios and then install in Legacy. The disk should be msdos instead of GPT. The bootloader goes into the MBR of the drive. No need for EFI partition.