Boot EFI stopped working in a removable external HDD on Mac mini

sudo fsck /dev/sdc3
fsck from util-linux 2.32.1
e2fsck 1.44.4 (18-Aug-2018)
/dev/sdc3 is mounted.
e2fsck: Cannot continue, aborting.

Should I ignore it and continue it?

Yes. MUST!!
You did not plug in last time? no wonder!!!

No, unmount it. You must unmount it.
Ah your DE mounts automaticall. UNMOUNT IT!!

1 Like

Repeat, ABORT!! Unmount and try again.
If it continues to say miunted, ABORT!!!
unmount and try again.

1 Like

OK, it worked.

I am sorry again. I am still confused. I will boot from external HD or Live Media? Do I boot from external HD and restart from external HD to boot into Live Media?

Yes, it's confusing.
Put in all disks, install-usb and external before turning on computer.
Boot up to your external OS in sdc3.
In order to do that start up (boot) the computer to the install-usb but when it shows the install menu, press 'c'.

Then you will get to grub prompt (grub>) and then continue the steps so that you will boot up the installed OS in your external (sdc3).

Hope this clear.

Oh,,, these steps...

grub> search.file /etc/manjaro-release  
grub> search.file /etc/manjaro-release  root

They are not repeat. They are different. The first is to make sure it shows an output , most likely (hd2,gpt3). If it shows (hd1,gpt3) it is also fine. But if there is 2 output., watch out and let us know.
Continue with the second command again, it is different and you must do it.

ps: any error at fdisk?
You did not say. If no error, most likely you've done previously wrongly and likely without the external plugged in.
And that's why I added 2 search commands for you to check.
Normally, the first is not needed.

1 Like

OK, I booted from OS's external HD...

It output hd1, gpt3

Should I continue to run the command search.file /etc/manjaro-release root?

Yes! Please

5 character

1 Like

No, no error, as I have said, it worked, after unmounting the external HD and running the command sudo fsck /dev/sdc3.

Also done the
parted ?

sudo parted /dev/sdc set 1 boot on
1 Like

Yes, I did it.

And do I run or not the command grub> ls ($root)/boot/? You did not include it.

Not necessary. But you can. Because you said your kernel is 4.19.Okay, good do again. Best to be sure... Good.

1 Like

Make sure you do this before doing the linux and initrd line.
And the output is..."d3b51cb0-3d23-4827-8074-930b75264081"
if we do

grub> echo $abc

and if we do

grub> ls ($root)

It will show something like
(hd1,gpt3) partition type.xxxx ...xxxxx

It's good to do so we know the bios can read it instaead of giveing an error message that it cannot find uuid=d3b51cb0-3d23-4827-8074-930b75264081 partition.

1 Like

It is the same. Not wrong. I will run boot.

After the running the boot, unfortunately it is the same error in the comment #31.

grub> linux /boot/vmlinuz-4.19-x86_64 root=UUID=$abc rw

Note
root=UUID=$abc
not
root=UUID=abc
and with 'rw'

Want to try again?
First time I hear of it failing if kernels are there and..
Hey, watch out for kernels and initramfs with a .img at its end.
That's why configfile is easier without typing anything.
Do you have a grub.cfg in it?
Lat time it failed you too.
Try with configfile.

1 Like

@gusbemacbe
looking at your past posts.. sdc3 had a different uuid.
So, instead of using root=UUID=xxxxxxxxxxxxxxxxxx
let's try with root=/dev/sdc3 in the linux line.
Note you may still have to experiment with other to get it right becasue /dev/sdxy is never reliable.
So we need to try, if sdc3 doesn't work, with all of these.. (one at a time)

grub> linux /boot/vmlinuz-4.19-x86_64 root=/dev/sdc3 rw
grub> linux /boot/vmlinuz-4.19-x86_64 root=/dev/sdb3 rw
grub> linux /boot/vmlinuz-4.19-x86_64 root=/dev/sda3 rw
1 Like

Unfortunately no 3 sdXYs are recognised. But what about the configfile?

Here is the full grub.cfg:

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

set menu_color_normal=light-gray/black
set menu_color_highlight=green/black

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/          (null)/sas/disk@0,gpt3' --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  d3b51cb0-3d23-4827-8074-930b75264081
else
  search --no-floppy --fs-uuid --set=root d3b51cb0-3d23-4827-8074-930b75264081
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_GB
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_gpt
insmod ext2
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/          (null)/sas/disk@0,gpt3' --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  d3b51cb0-3d23-4827-8074-930b75264081
else
  search --no-floppy --fs-uuid --set=root d3b51cb0-3d23-4827-8074-930b75264081
fi
insmod png
background_image -m stretch /usr/share/grub/background.png
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-d3b51cb0-3d23-4827-8074-930b75264081' {
	savedefault
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	set root='hd1,gpt3'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/          (null)/sas/disk@0,gpt3' --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  d3b51cb0-3d23-4827-8074-930b75264081
	else
	  search --no-floppy --fs-uuid --set=root d3b51cb0-3d23-4827-8074-930b75264081
	fi
	echo	'Loading Linux 4.19rc6.1004.gbefad94-1-MANJARO x64 ...'
	linux	/boot/vmlinuz-4.19-x86_64 root=UUID=d3b51cb0-3d23-4827-8074-930b75264081 rw  quiet resume=UUID=1a9ae34a-453b-40ba-843a-201a7911cc49
	echo	'Loading initial ramdisk ...'
	initrd	/boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-4.19-x86_64.img
}
submenu 'Advanced options for Manjaro Linux' $menuentry_id_option 'gnulinux-advanced-d3b51cb0-3d23-4827-8074-930b75264081' {
	menuentry 'Manjaro Linux (Kernel: 4.19rc6.1004.gbefad94-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19rc6.1004.gbefad94-1-MANJARO x64-advanced-d3b51cb0-3d23-4827-8074-930b75264081' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		set root='hd1,gpt3'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/          (null)/sas/disk@0,gpt3' --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  d3b51cb0-3d23-4827-8074-930b75264081
		else
		  search --no-floppy --fs-uuid --set=root d3b51cb0-3d23-4827-8074-930b75264081
		fi
		echo	'Loading Linux 4.19rc6.1004.gbefad94-1-MANJARO x64 ...'
		linux	/boot/vmlinuz-4.19-x86_64 root=UUID=d3b51cb0-3d23-4827-8074-930b75264081 rw  quiet resume=UUID=1a9ae34a-453b-40ba-843a-201a7911cc49
		echo	'Loading initial ramdisk ...'
		initrd	/boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-4.19-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 4.19rc6.1004.gbefad94-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19rc6.1004.gbefad94-1-MANJARO x64-fallback-d3b51cb0-3d23-4827-8074-930b75264081' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		set root='hd1,gpt3'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/          (null)/sas/disk@0,gpt3' --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  d3b51cb0-3d23-4827-8074-930b75264081
		else
		  search --no-floppy --fs-uuid --set=root d3b51cb0-3d23-4827-8074-930b75264081
		fi
		echo	'Loading Linux 4.19rc6.1004.gbefad94-1-MANJARO x64 ...'
		linux	/boot/vmlinuz-4.19-x86_64 root=UUID=d3b51cb0-3d23-4827-8074-930b75264081 rw  quiet resume=UUID=1a9ae34a-453b-40ba-843a-201a7911cc49
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initramfs-4.19-x86_64-fallback.img
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/60_memtest86+ ###
if [ "${grub_platform}" == "pc" ]; then
    menuentry "Memory Tester (memtest86+)" --class memtest86 --class gnu --class tool {
        search --fs-uuid --no-floppy --set=root --hint-ieee1275='ieee1275/          (null)/sas/disk@0,gpt3' --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  d3b51cb0-3d23-4827-8074-930b75264081
        linux16 /boot/memtest86+/memtest.bin 
    }
fi
### END /etc/grub.d/60_memtest86+ ###

Maybe are UUIDs' resumes are wrong?

Yes, the resume uuid is wrong.
But we did not use your grub.cfg (configfile) to boot and we did not specify resume.
The problem (error message) uuid is that of your root, not swap.

I'm thinking of asking you to chroot into the partition,
do mkinitcpio and grub-install

BTW, did you change hooks line of /etc/mkinicpio.conf ?
Just asking, becasue I don't think you did.
That may cause some problem.

I'm now tending to think it could be your mac.
Not being truly a 'pc' motherboard and hence not a truly 'pc' bios.
But I'm really not sure.

@AgentS, any idea?

If you want to try chroot, let us know.
Always be careful using chroot and I don't do that often. Rarely, actually. Can't think of the last time I did that.

By the way, do you have any other kernel other than 4.19?
We can try that if you have.

Of course, lastly we can reinstall.
Last time you installed in bios-legacy.
Not sure if your disk (which is gpt) is affected by it.
If we reinstall, suggest we make the disk again. Redo partitioning to gpt (that will wipe whole disk) and make sure we install properly in uefi.

1 Like

Yes, but I have already done it and it did not work. The Live Media does not recognise the command mkinitcpio.

Yes, I added only the btrfs to HOOKS, but since we have done these changes, it seems that mkinicpio.conf also has changed itself. Here is the full mkinicpio.conf and has removed btrfs:

MODULES=""
BINARIES=()
FILES=""
HOOKS="base udev autodetect modconf block keyboard keymap resume filesystems fsck"

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

Forum kindly sponsored by