I have attempted to create a UEFI pen drive that installs Ubuntu 20.04 LTS Desktop 64-bit.
The exFAT partition gpt2 contains the entire Ubuntu 20.04 LTS system image.
The FAT32 partition gpt1 contains the following files:
.
├── boot
│ └── grub
│ └── x86_64-efi
│ └── exfat.mod
└── EFI └── BOOT ├── BOOTX64.EFI ├── grub.cfg ├── grubx64.efi └── mmx64.efi
5 directories, 5 fileswhere the grub.cfg file contains the following lines:
insmod exfat
search --no-floppy --set=root --fs-uuid 7026-67D5
configfile /boot/grub/grub.cfgAfter changing the Secure Boot method from Deployed Mode to Audit Mode, the default grub.cfg file of the exfat partition is called correctly from the grub.cfg file of the FAT32 partition.
In fact, the correct installation options appear.
After selecting the Ubuntu option, loops endlessly and pressing the ESC key I realize that the cause is an unspecified error: stdin: invalid argument, which is repeated many times.
What could be the cause of this error?
UPDATE 1: Even disabling secure boot completely, the same error appears.
UPDATE 2: Waiting for some time, the following message appeared:
Unable to find a medium container a live file system
Attempt interactive netboot from a URL?
yes no (default yes): _UPDATE 3:
I found that if instead of having the partition in exFAT, I have it in NTFS, the problem doesn't appear. From this I deduce that despite the insmod exfat command, passed to the partition with that filesystem, the initrd.lz file does not support the exfat file system.
In fact, I also performed this other test to have an almost total confirmation of this thing:
insmod exfat
search --no-floppy --set=root --fs-uuid 7026-67D5
chainloader /efi/boot/bootx64.efi
bootand I got the error message:
Failed to find fs: Unsupported
Failed to load image \efi\boot\grubx64.efi: Unsupported
start_image() returned UnsupportedIf there is a Windows image in the exfat partition instead of Ubuntu, the bootloader starts correctly.
Is there a way to implement exfat support inside of bootx64.efi and initrd.lz files?
2 Answers
From this forum:
This issue was raised:
[20.655271] usb usb1-port4: couldn't allocate usb_deviceAfter a few seconds it restarts with appropriate OS logo and shows next errors:
stdin: invalid argument...like 50 same errors...
Unable to find a medium container a live systemAttempt interactive netboot from a URL ?
This solution:
- Inserting "iommu=soft" into /boot/grub/grub.cfg in bootable USB helped me.
fixed the problem.
Summary
Sounds like the same problem you have and the same solution should work.
3Possible solutions (please post feedback):
- Ensure your boot partition shows up first in all possible places (BIOS, grub), just to be sure (source). If that works, and you modified more than one configuration point, you could test independent changes to see which one was the culprit.
- Try: changing port USB 3.0 -> 2.0; or using a USB hub; or using a different USB stick (source). This seemed to work for many others.
Please add your BIOS configuration possibly related to this issue (Secure Boot, Legacy Boot, UEFI boot, boot order, etc.)
Related:
3