You are not logged in.
Classic install of 32-bit Q4OS Trinity (Q4OS 4.7.1-n1) using the "use entire disk" option on a Dell Inspiron 3180 does not create a bootable USB flash drive. I examined the external USB flash drive and the internal eMMC drive and this is what I found.
No EFI partition was created on the USB flash drive.
ldlinux.sys does not exists on the Q4OS root partition on the USB flash drive.
However, /boot/grub/grub.cfg was created on the Q4OS root partition on the USB flash drive.
On the Windows EFI partition on the internal eMMC drive, the file /EFI/Microsoft/Boot/BCD was modified (has a new time stamp).
On the Windows EFI partition on the internal eMMC drive there exists a /EFI/ubuntu directory. This directory has files: BOOTX64.CSV, grub.cfg, grubx64.efi, mmx64.efi and shimx64.efi. However, from the time stamps, these files were created by a previous install. (I have tried several other Linux distros in the past including several Ubuntu based distros.)
AFAIK the Windows boot loader cannot load vmlinuz directly but must chainload to a Linux boot loader. So, it seems that the only possibility is that Windows bootloader must chainload to the Linux boot loader in the /EFI/ubuntu directory on the Windows EFI partition. However, that Linux boot loader apparently reads the grub.cfg in the same directory and that grub.cfg was not modified (has an old time stamp).
For legacy booting I fixed this by using "extlinux ..." to install ldlinux.sys and "dd if=mbr.bin ..." to fix the MBR.
Ideally I want to create an independently bootable flash drive that I can boot from any computer. It should have both the UEFI boot loader and the legacy boot loader and not be dependent in any way on the internal drive of the computer. This of course requires asking the firmware to select the boot device (F12 on my Dell laptop) so it is a little less user friendly but this flash drive can now be used on any computer. My previous daily driver was Puppy Linux and Puppy Linux created that kind of bootable flash drive.
Offline
We will check installing Q4OS on a USB drive and post back.
On the Windows EFI partition on the internal eMMC drive, the file /EFI/Microsoft/Boot/BCD was modified (has a new time stamp).
On the Windows EFI partition on the internal eMMC drive there exists a /EFI/ubuntu directory. This directory has files: BOOTX64.CSV, grub.cfg, grubx64.efi, mmx64.efi and shimx64.efi.
Where did "/EFI/ubuntu directory" come from ?
Offline
I think I bought this machine in 2018 and over 3+ years I probably have tried to install many Linux distros - 10 or more -. Many of these have been Ubuntu based distros. One of those must have installed the /EFI/ubuntu directory. When I request the firmware (F12 on Dell laptops) to ask for the boot device "ubuntu" shows up as one of the options. The Q4OS installer apparently analyzes the current mounted drives and tries to patch the configuration file for the boot loader. I think this ubuntu directory may be confusing the installer. In my case, this doesn't work out as I want to use the USB flash drive on many different computers.
Offline
Although, I haven't used it in a long time one of my disks has Xenial Xerus Ubuntu installed. If I had to guess I think Xenial Xerus probably created the /EFI/ubuntu directory.
Offline
The contents of the file /EFI/ubuntu/grub.cfg is:
cat /mnt/ro/EFI/ubuntu/grub.cfg
search.fs_uuid 8a9bfea0-3b29-4889-9c2a-134b727815ff root hd1,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
Unfortunately, this UUID is not one of my current partitions:
sudo blkid | egrep 8a9bfea0-3b29-4889-9c2a-134b727815ff
echo $?
1
In particular, I was wrong Xenial Xerus Ubuntu did not create or was the last distro to update this grub.cfg. I must have deleted the distro that created or last updated this grub.cfg.
The partition table of the USB flash drive before and after the install was and is msdos (MBR)
fdisk -l /dev/sdc
Disk /dev/sdc: 14.73 GiB, 15816720384 bytes, 30892032 sectors
Disk model: Cruzer Glide
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: dos
Disk identifier: 0xadcb87f2
Device Boot Start End Sectors Size Id Type
/dev/sdc1 * 2048 28891135 28889088 13.8G 83 Linux
/dev/sdc2 28893182 30889983 1996802 975M 5 Extended
/dev/sdc5 28893184 30889983 1996800 975M 82 Linux swap / Solaris
As you can see only the root partition (sdc1) and a swap partition (sdc5) was created. No EFI partition.
This Dell Inspiron 3180 is set to "attempt legacy boot" mode. In this mode the firmware can boot in legacy mode (using the MBR) and UEFI mode (using the EFI partition).
Last edited by magenta-cuda (2022-01-12 22:30)
Offline