You are not logged in.

#1 2022-01-11 11:54

magenta-cuda
Member
Registered: 2022-01-06
Posts: 22

Classic install does not create a bootable drive.

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

#2 2022-01-11 19:54

q4osteam
Q4OS Team
Registered: 2015-12-06
Posts: 4,502
Website

Re: Classic install does not create a bootable drive.

We will check installing Q4OS on a USB drive and post back.

magenta-cuda wrote:

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

#3 2022-01-12 00:05

magenta-cuda
Member
Registered: 2022-01-06
Posts: 22

Re: Classic install does not create a bootable drive.

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

#4 2022-01-12 00:17

magenta-cuda
Member
Registered: 2022-01-06
Posts: 22

Re: Classic install does not create a bootable drive.

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

#5 2022-01-12 10:34

magenta-cuda
Member
Registered: 2022-01-06
Posts: 22

Re: Classic install does not create a bootable drive.

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

Board footer

Powered by FluxBB