GRUB menu redirects to BIOS

I edited the file like you suggested. That didn’t seem to change anything.

I have been adjusting the boot order selecting GRUB first then windows second whenever I’ve been testing out these changes. When I change it to windows first it boots (unsurprisingly) into windows. I’ve also had to adjust the boot priority when booting into the live USB. In other words, I don’t think boot priority is the main issue.

Those error messages are expected in the liveUSB environment. What looks problematic for me is the lack of found kernels in that message. For example, in my system I get this:

[...]
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.5-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-6.5-x86_64.img
Found initrd fallback image: /boot/initramfs-6.5-x86_64-fallback.img
Found linux image: /boot/vmlinuz-6.1-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-6.1-x86_64.img
Found initrd fallback image: /boot/initramfs-6.1-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
[...]

What do you have in /boot/?

ls -al /boot/

I’m sorry, I live in Sweden, I went to bed.

After reading through, it seems your chroot is not working otherwise it looks fine other than you missed the β€œboot” flag, you need to add that, and I actually forgot the β€œesp” flag. The drive has to be unmounted when you do it so do it before chroot.
I now also realized KDE partition manager won’t show all flags, so use Gparted (should also be included on your live usb)
Right click your boot partition and choose β€œmanage flags”.

Your mounts seems correct, did your chroot not return any errors? You DID use sudo right or change to root? (the wiki is a bit weird, they use the user β€œroot” instead of using sudo so it can be missed)

When you have loaded the live ISO - depending on environment - open a terminal and switch to root context. Use above mentioned root:password combination.
user $ su


Yes, but neither kernels exists nor grub is in the correct place on that boot partition (only the grub boot code is there, nothing from grub).

Example of my /boot (your might not look exactly the same but the kernels and grub directory is there)

/boot
β”œβ”€β”€ amd-ucode.img
β”œβ”€β”€ efi
β”‚   └── EFI
β”‚       └── manjaro
β”‚           └── grubx64.efi
β”œβ”€β”€ grub
β”‚   β”œβ”€β”€ fonts
β”‚   β”‚   └── unicode.pf2
β”‚   β”œβ”€β”€ grub-btrfs.cfg
β”‚   β”œβ”€β”€ grub.cfg
β”‚   β”œβ”€β”€ grubenv
β”‚   β”œβ”€β”€ locale
β”‚   β”‚   β”œβ”€β”€ ast.mo
β”‚   β”‚   β”œβ”€β”€ ca.mo
β”‚   β”‚   β”œβ”€β”€ da.mo
β”‚   β”‚   β”œβ”€β”€ de.mo
β”‚   β”‚   β”œβ”€β”€ de@hebrew.mo
β”‚   β”‚   β”œβ”€β”€ de_CH.mo
β”‚   β”‚   β”œβ”€β”€ en@arabic.mo
β”‚   β”‚   β”œβ”€β”€ en@cyrillic.mo
β”‚   β”‚   β”œβ”€β”€ en@greek.mo
β”‚   β”‚   β”œβ”€β”€ en@hebrew.mo
β”‚   β”‚   β”œβ”€β”€ en@piglatin.mo
β”‚   β”‚   β”œβ”€β”€ en@quot.mo
β”‚   β”‚   β”œβ”€β”€ eo.mo
β”‚   β”‚   β”œβ”€β”€ es.mo
β”‚   β”‚   β”œβ”€β”€ fi.mo
β”‚   β”‚   β”œβ”€β”€ fr.mo
β”‚   β”‚   β”œβ”€β”€ gl.mo
β”‚   β”‚   β”œβ”€β”€ hr.mo
β”‚   β”‚   β”œβ”€β”€ hu.mo
β”‚   β”‚   β”œβ”€β”€ id.mo
β”‚   β”‚   β”œβ”€β”€ it.mo
β”‚   β”‚   β”œβ”€β”€ ja.mo
β”‚   β”‚   β”œβ”€β”€ ka.mo
β”‚   β”‚   β”œβ”€β”€ ko.mo
β”‚   β”‚   β”œβ”€β”€ lg.mo
β”‚   β”‚   β”œβ”€β”€ lt.mo
β”‚   β”‚   β”œβ”€β”€ nb.mo
β”‚   β”‚   β”œβ”€β”€ nl.mo
β”‚   β”‚   β”œβ”€β”€ pa.mo
β”‚   β”‚   β”œβ”€β”€ pl.mo
β”‚   β”‚   β”œβ”€β”€ pt.mo
β”‚   β”‚   β”œβ”€β”€ pt_BR.mo
β”‚   β”‚   β”œβ”€β”€ ro.mo
β”‚   β”‚   β”œβ”€β”€ ru.mo
β”‚   β”‚   β”œβ”€β”€ sl.mo
β”‚   β”‚   β”œβ”€β”€ sr.mo
β”‚   β”‚   β”œβ”€β”€ sv.mo
β”‚   β”‚   β”œβ”€β”€ tr.mo
β”‚   β”‚   β”œβ”€β”€ uk.mo
β”‚   β”‚   β”œβ”€β”€ vi.mo
β”‚   β”‚   β”œβ”€β”€ zh_CN.mo
β”‚   β”‚   └── zh_TW.mo
β”‚   β”œβ”€β”€ themes
β”‚   β”‚   └── starfield
β”‚   β”‚       β”œβ”€β”€ COPYING.CC-BY-SA-3.0
β”‚   β”‚       β”œβ”€β”€ README
β”‚   β”‚       β”œβ”€β”€ blob_w.png
β”‚   β”‚       β”œβ”€β”€ boot_menu_c.png
β”‚   β”‚       β”œβ”€β”€ boot_menu_e.png
β”‚   β”‚       β”œβ”€β”€ boot_menu_n.png
β”‚   β”‚       β”œβ”€β”€ boot_menu_ne.png
β”‚   β”‚       β”œβ”€β”€ boot_menu_nw.png
β”‚   β”‚       β”œβ”€β”€ boot_menu_s.png
β”‚   β”‚       β”œβ”€β”€ boot_menu_se.png
β”‚   β”‚       β”œβ”€β”€ boot_menu_sw.png
β”‚   β”‚       β”œβ”€β”€ boot_menu_w.png
β”‚   β”‚       β”œβ”€β”€ dejavu_10.pf2
β”‚   β”‚       β”œβ”€β”€ dejavu_12.pf2
β”‚   β”‚       β”œβ”€β”€ dejavu_14.pf2
β”‚   β”‚       β”œβ”€β”€ dejavu_16.pf2
β”‚   β”‚       β”œβ”€β”€ dejavu_bold_14.pf2
β”‚   β”‚       β”œβ”€β”€ slider_c.png
β”‚   β”‚       β”œβ”€β”€ slider_n.png
β”‚   β”‚       β”œβ”€β”€ slider_s.png
β”‚   β”‚       β”œβ”€β”€ starfield.png
β”‚   β”‚       β”œβ”€β”€ terminal_box_c.png
β”‚   β”‚       β”œβ”€β”€ terminal_box_e.png
β”‚   β”‚       β”œβ”€β”€ terminal_box_n.png
β”‚   β”‚       β”œβ”€β”€ terminal_box_ne.png
β”‚   β”‚       β”œβ”€β”€ terminal_box_nw.png
β”‚   β”‚       β”œβ”€β”€ terminal_box_s.png
β”‚   β”‚       β”œβ”€β”€ terminal_box_se.png
β”‚   β”‚       β”œβ”€β”€ terminal_box_sw.png
β”‚   β”‚       β”œβ”€β”€ terminal_box_w.png
β”‚   β”‚       └── theme.txt
β”‚   └── x86_64-efi
β”‚       β”œβ”€β”€ acpi.mod
β”‚       β”œβ”€β”€ adler32.mod
β”‚       β”œβ”€β”€ affs.mod
β”‚       β”œβ”€β”€ afs.mod
β”‚       β”œβ”€β”€ afsplitter.mod
β”‚       β”œβ”€β”€ ahci.mod
β”‚       β”œβ”€β”€ all_video.mod
β”‚       β”œβ”€β”€ aout.mod
β”‚       β”œβ”€β”€ appleldr.mod
β”‚       β”œβ”€β”€ archelp.mod
β”‚       β”œβ”€β”€ at_keyboard.mod
β”‚       β”œβ”€β”€ ata.mod
β”‚       β”œβ”€β”€ backtrace.mod
β”‚       β”œβ”€β”€ bfs.mod
β”‚       β”œβ”€β”€ bitmap.mod
β”‚       β”œβ”€β”€ bitmap_scale.mod
β”‚       β”œβ”€β”€ bli.mod
β”‚       β”œβ”€β”€ blocklist.mod
β”‚       β”œβ”€β”€ boot.mod
β”‚       β”œβ”€β”€ boottime.mod
β”‚       β”œβ”€β”€ bsd.mod
β”‚       β”œβ”€β”€ bswap_test.mod
β”‚       β”œβ”€β”€ btrfs.mod
β”‚       β”œβ”€β”€ bufio.mod
β”‚       β”œβ”€β”€ cacheinfo.mod
β”‚       β”œβ”€β”€ cat.mod
β”‚       β”œβ”€β”€ cbfs.mod
β”‚       β”œβ”€β”€ cbls.mod
β”‚       β”œβ”€β”€ cbmemc.mod
β”‚       β”œβ”€β”€ cbtable.mod
β”‚       β”œβ”€β”€ cbtime.mod
β”‚       β”œβ”€β”€ chain.mod
β”‚       β”œβ”€β”€ cmdline_cat_test.mod
β”‚       β”œβ”€β”€ cmp.mod
β”‚       β”œβ”€β”€ cmp_test.mod
β”‚       β”œβ”€β”€ command.lst
β”‚       β”œβ”€β”€ configfile.mod
β”‚       β”œβ”€β”€ core.efi
β”‚       β”œβ”€β”€ cpio.mod
β”‚       β”œβ”€β”€ cpio_be.mod
β”‚       β”œβ”€β”€ cpuid.mod
β”‚       β”œβ”€β”€ crc64.mod
β”‚       β”œβ”€β”€ crypto.lst
β”‚       β”œβ”€β”€ crypto.mod
β”‚       β”œβ”€β”€ cryptodisk.mod
β”‚       β”œβ”€β”€ cs5536.mod
β”‚       β”œβ”€β”€ ctz_test.mod
β”‚       β”œβ”€β”€ date.mod
β”‚       β”œβ”€β”€ datehook.mod
β”‚       β”œβ”€β”€ datetime.mod
β”‚       β”œβ”€β”€ disk.mod
β”‚       β”œβ”€β”€ diskfilter.mod
β”‚       β”œβ”€β”€ div.mod
β”‚       β”œβ”€β”€ div_test.mod
β”‚       β”œβ”€β”€ dm_nv.mod
β”‚       β”œβ”€β”€ echo.mod
β”‚       β”œβ”€β”€ efi_gop.mod
β”‚       β”œβ”€β”€ efi_uga.mod
β”‚       β”œβ”€β”€ efifwsetup.mod
β”‚       β”œβ”€β”€ efinet.mod
β”‚       β”œβ”€β”€ efitextmode.mod
β”‚       β”œβ”€β”€ ehci.mod
β”‚       β”œβ”€β”€ elf.mod
β”‚       β”œβ”€β”€ eval.mod
β”‚       β”œβ”€β”€ exfat.mod
β”‚       β”œβ”€β”€ exfctest.mod
β”‚       β”œβ”€β”€ ext2.mod
β”‚       β”œβ”€β”€ extcmd.mod
β”‚       β”œβ”€β”€ f2fs.mod
β”‚       β”œβ”€β”€ fat.mod
β”‚       β”œβ”€β”€ file.mod
β”‚       β”œβ”€β”€ fixvideo.mod
β”‚       β”œβ”€β”€ font.mod
β”‚       β”œβ”€β”€ fs.lst
β”‚       β”œβ”€β”€ fshelp.mod
β”‚       β”œβ”€β”€ functional_test.mod
β”‚       β”œβ”€β”€ gcry_arcfour.mod
β”‚       β”œβ”€β”€ gcry_blowfish.mod
β”‚       β”œβ”€β”€ gcry_camellia.mod
β”‚       β”œβ”€β”€ gcry_cast5.mod
β”‚       β”œβ”€β”€ gcry_crc.mod
β”‚       β”œβ”€β”€ gcry_des.mod
β”‚       β”œβ”€β”€ gcry_dsa.mod
β”‚       β”œβ”€β”€ gcry_idea.mod
β”‚       β”œβ”€β”€ gcry_md4.mod
β”‚       β”œβ”€β”€ gcry_md5.mod
β”‚       β”œβ”€β”€ gcry_rfc2268.mod
β”‚       β”œβ”€β”€ gcry_rijndael.mod
β”‚       β”œβ”€β”€ gcry_rmd160.mod
β”‚       β”œβ”€β”€ gcry_rsa.mod
β”‚       β”œβ”€β”€ gcry_seed.mod
β”‚       β”œβ”€β”€ gcry_serpent.mod
β”‚       β”œβ”€β”€ gcry_sha1.mod
β”‚       β”œβ”€β”€ gcry_sha256.mod
β”‚       β”œβ”€β”€ gcry_sha512.mod
β”‚       β”œβ”€β”€ gcry_tiger.mod
β”‚       β”œβ”€β”€ gcry_twofish.mod
β”‚       β”œβ”€β”€ gcry_whirlpool.mod
β”‚       β”œβ”€β”€ geli.mod
β”‚       β”œβ”€β”€ gettext.mod
β”‚       β”œβ”€β”€ gfxmenu.mod
β”‚       β”œβ”€β”€ gfxterm.mod
β”‚       β”œβ”€β”€ gfxterm_background.mod
β”‚       β”œβ”€β”€ gfxterm_menu.mod
β”‚       β”œβ”€β”€ gptsync.mod
β”‚       β”œβ”€β”€ grub.efi
β”‚       β”œβ”€β”€ gzio.mod
β”‚       β”œβ”€β”€ halt.mod
β”‚       β”œβ”€β”€ hashsum.mod
β”‚       β”œβ”€β”€ hdparm.mod
β”‚       β”œβ”€β”€ hello.mod
β”‚       β”œβ”€β”€ help.mod
β”‚       β”œβ”€β”€ hexdump.mod
β”‚       β”œβ”€β”€ hfs.mod
β”‚       β”œβ”€β”€ hfsplus.mod
β”‚       β”œβ”€β”€ hfspluscomp.mod
β”‚       β”œβ”€β”€ http.mod
β”‚       β”œβ”€β”€ iorw.mod
β”‚       β”œβ”€β”€ iso9660.mod
β”‚       β”œβ”€β”€ jfs.mod
β”‚       β”œβ”€β”€ jpeg.mod
β”‚       β”œβ”€β”€ json.mod
β”‚       β”œβ”€β”€ keylayouts.mod
β”‚       β”œβ”€β”€ keystatus.mod
β”‚       β”œβ”€β”€ ldm.mod
β”‚       β”œβ”€β”€ legacy_password_test.mod
β”‚       β”œβ”€β”€ legacycfg.mod
β”‚       β”œβ”€β”€ linux.mod
β”‚       β”œβ”€β”€ linux16.mod
β”‚       β”œβ”€β”€ loadbios.mod
β”‚       β”œβ”€β”€ loadenv.mod
β”‚       β”œβ”€β”€ loopback.mod
β”‚       β”œβ”€β”€ ls.mod
β”‚       β”œβ”€β”€ lsacpi.mod
β”‚       β”œβ”€β”€ lsefi.mod
β”‚       β”œβ”€β”€ lsefimmap.mod
β”‚       β”œβ”€β”€ lsefisystab.mod
β”‚       β”œβ”€β”€ lsmmap.mod
β”‚       β”œβ”€β”€ lspci.mod
β”‚       β”œβ”€β”€ lssal.mod
β”‚       β”œβ”€β”€ luks.mod
β”‚       β”œβ”€β”€ luks2.mod
β”‚       β”œβ”€β”€ lvm.mod
β”‚       β”œβ”€β”€ lzopio.mod
β”‚       β”œβ”€β”€ macbless.mod
β”‚       β”œβ”€β”€ macho.mod
β”‚       β”œβ”€β”€ mdraid09.mod
β”‚       β”œβ”€β”€ mdraid09_be.mod
β”‚       β”œβ”€β”€ mdraid1x.mod
β”‚       β”œβ”€β”€ memdisk.mod
β”‚       β”œβ”€β”€ memrw.mod
β”‚       β”œβ”€β”€ minicmd.mod
β”‚       β”œβ”€β”€ minix.mod
β”‚       β”œβ”€β”€ minix2.mod
β”‚       β”œβ”€β”€ minix2_be.mod
β”‚       β”œβ”€β”€ minix3.mod
β”‚       β”œβ”€β”€ minix3_be.mod
β”‚       β”œβ”€β”€ minix_be.mod
β”‚       β”œβ”€β”€ mmap.mod
β”‚       β”œβ”€β”€ moddep.lst
β”‚       β”œβ”€β”€ modinfo.sh
β”‚       β”œβ”€β”€ morse.mod
β”‚       β”œβ”€β”€ mpi.mod
β”‚       β”œβ”€β”€ msdospart.mod
β”‚       β”œβ”€β”€ mul_test.mod
β”‚       β”œβ”€β”€ multiboot.mod
β”‚       β”œβ”€β”€ multiboot2.mod
β”‚       β”œβ”€β”€ nativedisk.mod
β”‚       β”œβ”€β”€ net.mod
β”‚       β”œβ”€β”€ newc.mod
β”‚       β”œβ”€β”€ nilfs2.mod
β”‚       β”œβ”€β”€ normal.mod
β”‚       β”œβ”€β”€ ntfs.mod
β”‚       β”œβ”€β”€ ntfscomp.mod
β”‚       β”œβ”€β”€ odc.mod
β”‚       β”œβ”€β”€ offsetio.mod
β”‚       β”œβ”€β”€ ohci.mod
β”‚       β”œβ”€β”€ part_acorn.mod
β”‚       β”œβ”€β”€ part_amiga.mod
β”‚       β”œβ”€β”€ part_apple.mod
β”‚       β”œβ”€β”€ part_bsd.mod
β”‚       β”œβ”€β”€ part_dfly.mod
β”‚       β”œβ”€β”€ part_dvh.mod
β”‚       β”œβ”€β”€ part_gpt.mod
β”‚       β”œβ”€β”€ part_msdos.mod
β”‚       β”œβ”€β”€ part_plan.mod
β”‚       β”œβ”€β”€ part_sun.mod
β”‚       β”œβ”€β”€ part_sunpc.mod
β”‚       β”œβ”€β”€ partmap.lst
β”‚       β”œβ”€β”€ parttool.lst
β”‚       β”œβ”€β”€ parttool.mod
β”‚       β”œβ”€β”€ password.mod
β”‚       β”œβ”€β”€ password_pbkdf2.mod
β”‚       β”œβ”€β”€ pata.mod
β”‚       β”œβ”€β”€ pbkdf2.mod
β”‚       β”œβ”€β”€ pbkdf2_test.mod
β”‚       β”œβ”€β”€ pcidump.mod
β”‚       β”œβ”€β”€ pgp.mod
β”‚       β”œβ”€β”€ plainmount.mod
β”‚       β”œβ”€β”€ play.mod
β”‚       β”œβ”€β”€ png.mod
β”‚       β”œβ”€β”€ priority_queue.mod
β”‚       β”œβ”€β”€ probe.mod
β”‚       β”œβ”€β”€ procfs.mod
β”‚       β”œβ”€β”€ progress.mod
β”‚       β”œβ”€β”€ raid5rec.mod
β”‚       β”œβ”€β”€ raid6rec.mod
β”‚       β”œβ”€β”€ random.mod
β”‚       β”œβ”€β”€ rdmsr.mod
β”‚       β”œβ”€β”€ read.mod
β”‚       β”œβ”€β”€ reboot.mod
β”‚       β”œβ”€β”€ regexp.mod
β”‚       β”œβ”€β”€ reiserfs.mod
β”‚       β”œβ”€β”€ relocator.mod
β”‚       β”œβ”€β”€ romfs.mod
β”‚       β”œβ”€β”€ scsi.mod
β”‚       β”œβ”€β”€ search.mod
β”‚       β”œβ”€β”€ search_fs_file.mod
β”‚       β”œβ”€β”€ search_fs_uuid.mod
β”‚       β”œβ”€β”€ search_label.mod
β”‚       β”œβ”€β”€ serial.mod
β”‚       β”œβ”€β”€ setjmp.mod
β”‚       β”œβ”€β”€ setjmp_test.mod
β”‚       β”œβ”€β”€ setpci.mod
β”‚       β”œβ”€β”€ sfs.mod
β”‚       β”œβ”€β”€ shift_test.mod
β”‚       β”œβ”€β”€ signature_test.mod
β”‚       β”œβ”€β”€ sleep.mod
β”‚       β”œβ”€β”€ sleep_test.mod
β”‚       β”œβ”€β”€ smbios.mod
β”‚       β”œβ”€β”€ spkmodem.mod
β”‚       β”œβ”€β”€ squash4.mod
β”‚       β”œβ”€β”€ strtoull_test.mod
β”‚       β”œβ”€β”€ syslinuxcfg.mod
β”‚       β”œβ”€β”€ tar.mod
β”‚       β”œβ”€β”€ terminal.lst
β”‚       β”œβ”€β”€ terminal.mod
β”‚       β”œβ”€β”€ terminfo.mod
β”‚       β”œβ”€β”€ test.mod
β”‚       β”œβ”€β”€ test_blockarg.mod
β”‚       β”œβ”€β”€ testload.mod
β”‚       β”œβ”€β”€ testspeed.mod
β”‚       β”œβ”€β”€ tftp.mod
β”‚       β”œβ”€β”€ tga.mod
β”‚       β”œβ”€β”€ time.mod
β”‚       β”œβ”€β”€ tpm.mod
β”‚       β”œβ”€β”€ tr.mod
β”‚       β”œβ”€β”€ trig.mod
β”‚       β”œβ”€β”€ true.mod
β”‚       β”œβ”€β”€ udf.mod
β”‚       β”œβ”€β”€ ufs1.mod
β”‚       β”œβ”€β”€ ufs1_be.mod
β”‚       β”œβ”€β”€ ufs2.mod
β”‚       β”œβ”€β”€ uhci.mod
β”‚       β”œβ”€β”€ usb.mod
β”‚       β”œβ”€β”€ usb_keyboard.mod
β”‚       β”œβ”€β”€ usbms.mod
β”‚       β”œβ”€β”€ usbserial_common.mod
β”‚       β”œβ”€β”€ usbserial_ftdi.mod
β”‚       β”œβ”€β”€ usbserial_pl2303.mod
β”‚       β”œβ”€β”€ usbserial_usbdebug.mod
β”‚       β”œβ”€β”€ usbtest.mod
β”‚       β”œβ”€β”€ video.lst
β”‚       β”œβ”€β”€ video.mod
β”‚       β”œβ”€β”€ video_bochs.mod
β”‚       β”œβ”€β”€ video_cirrus.mod
β”‚       β”œβ”€β”€ video_colors.mod
β”‚       β”œβ”€β”€ video_fb.mod
β”‚       β”œβ”€β”€ videoinfo.mod
β”‚       β”œβ”€β”€ videotest.mod
β”‚       β”œβ”€β”€ videotest_checksum.mod
β”‚       β”œβ”€β”€ wrmsr.mod
β”‚       β”œβ”€β”€ xfs.mod
β”‚       β”œβ”€β”€ xnu.mod
β”‚       β”œβ”€β”€ xnu_uuid.mod
β”‚       β”œβ”€β”€ xnu_uuid_test.mod
β”‚       β”œβ”€β”€ xzio.mod
β”‚       β”œβ”€β”€ zfs.mod
β”‚       β”œβ”€β”€ zfscrypt.mod
β”‚       β”œβ”€β”€ zfsinfo.mod
β”‚       └── zstd.mod
β”œβ”€β”€ initramfs-6.1-x86_64-fallback.img
β”œβ”€β”€ initramfs-6.1-x86_64.img
β”œβ”€β”€ initramfs-6.6-x86_64-fallback.img
β”œβ”€β”€ initramfs-6.6-x86_64.img
β”œβ”€β”€ linux61-x86_64.kver
β”œβ”€β”€ linux66-x86_64.kver
β”œβ”€β”€ memtest86+
β”‚   β”œβ”€β”€ memtest.bin
β”‚   └── memtest.efi
β”œβ”€β”€ vmlinuz-6.1-x86_64
└── vmlinuz-6.6-x86_64

11 directories, 370 files

We have to establish that your chroot is going through correctly first.

Then install kernels
Then grub.
Then update system via terminal.

I don’t know, your default grub is certainly not the current default. It is missing GRUB_TIMEOUT_STYLE=menu for example which is why you do not see the grub menu. Add it and then update grub. (revert the changes from bg405 before)

You have to select manjaro (or probably manjaro-grub as you name it so) from the uefi.

If that is the chrooted boot, i mean the hard drive and not the usb.

That is why i guessed he is somehow running update-grub on the usb drive and not on the mounted/chrooted install, as bedna also suggests.

1 Like

At least in the KDE ISO, it looks like this:

/boot
β”œβ”€β”€ amd-ucode.img
β”œβ”€β”€ grub
β”‚   └── grubenv
β”œβ”€β”€ intel-ucode.img
β”œβ”€β”€ linux65-x86_64.kver
β”œβ”€β”€ memtest86+
β”‚   β”œβ”€β”€ memtest.bin
β”‚   └── memtest.efi
└── vmlinuz-6.5-x86_64

So it doesn’t look like it. It seems to me that, for some reason, he has not any kernels installed.

That is most likely because he just created the new boot partition.

The second we know OP has fixed the flags and chroot working, installing kernel can be found in the link I posted earlier.
He might have installed grub without any kernels present, maybe it only adds the efi then, I simply do not know.
That is why I keep repeating it is very important to know everything is setup correctly before starting to install stuff. And then, install in correct order: kernel > grub > system update

I hope not. Why would he do that at all. If that is the case either he or you doesn’t make the difference between /boot and ESP.
Anyways, the big question is if he has a working chroot. If he has, it is not hard to install some kernel with mhwd or pacman and then update grub and see if it appears in the newly un-hidden grub menu. Actually he will see if it is detected even before from the output of update-grub, which will not be as empty as now.

You should probably re-read the thread if you ask that.
I think that OP made the desition not wanting to deal with this constantly when windows breaks grub on the shared boot partition. At least that is what I am assuming until I see otherwise from OP.

Now we know it officially - you do not make a difference between boot and esp partition. (Hint: kernels have no place on an ESP).

1 Like

That is actually true, I did not think about that. Witch tells us the chroot does NOT go through correctly, the kernels are installed in /boot not /boot/efi.

Exactly. Note that i think he cut out the output of the tree command and forgot to provide ls command output. But if it is really that empty at /boot, something else is wrong. Either not correctly chrooting, ot it is the wrong mount, or he really has no kernels installed. Which will be strange because he did not mention interrupted update or disk problems, and those are pretty much the only ways to lose a kernel.

Ok, lets go with that assumption.

@tcd To give clear instructions on what to do.

Load into your live usb.
Use Gparted to set flags on the new partition.
Chroot and type lsblk to show what gets mounted and where.
On your system, sudo chroot -a should work but it probably will mount the old windows partition instead of the new one, but please do this so we KNOW what is going on exactly. I think it is better to start there.
If chroot -a does not work, do the manual way but please report what errors you get when using the -a option.
If you get into chroot and the wrong boot partition is mounted, we go from there, but we HAVE to know we are working with the correct things here.

Prelude

Thank you all for the help. I will try and be very verbose with these next steps.

Boot Flags and Chroot

  1. Open Gparted and set the flags of the newly created partition as boot and esp

  2. Open a terminal (KDE Konsole Application) and type:

    sudo chroot -a

    chroot: invalid option -- 'a'
    Try 'chroot --help' for more information.
    

    sudo manjaro-chroot -a

    grub-probe: error: cannot find a GRUB drive for /dev/sda1.  Check your device.map.
    grub-probe: error: cannot find a GRUB drive for /dev/sda1.  Check your device.map.
    ==> Mounting (ManjaroLinux) [/dev/nvme0n1p7]
     --> mount: [/mnt]
     --> mount: [/mnt/boot/efi]
     --> mount: [/mnt/home]
    

    lsblk

    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    loop0          7:0    0  71.2M  1 loop 
    loop1          7:1    0   1.2G  1 loop 
    loop2          7:2    0   1.7G  1 loop 
    loop3          7:3    0 668.7M  1 loop 
    sda            8:0    1  29.3G  0 disk 
    |-sda1         8:1    1   3.6G  0 part 
    `-sda2         8:2    1     4M  0 part 
    nvme0n1      259:0    0 476.9G  0 disk 
    |-nvme0n1p1  259:11   0   650M  0 part /boot/efi
    |-nvme0n1p2  259:12   0   128M  0 part 
    |-nvme0n1p3  259:13   0   280G  0 part 
    |-nvme0n1p4  259:14   0   899M  0 part 
    |-nvme0n1p5  259:15   0  12.1G  0 part 
    |-nvme0n1p6  259:16   0   1.1G  0 part 
    |-nvme0n1p7  259:17   0    48G  0 part /
    |-nvme0n1p8  259:18   0    76G  0 part /home
    |-nvme0n1p9  259:19   0     4G  0 part 
    `-nvme0n1p10 259:20   0   100M  0 part 
    

Clarifying

  1. I like the idea of having windows and grub bootloaders on separate partitions if β€œquarantining” them in this way will help resolve future complications.

  2. Before the issues with grub started happening I did experience an interrupted update as described in my original post:

  3. The output of this command was indeed truncated. I don’t remember the specifics, but the reason I posted the truncated output of tree /boot was because I thought only the first few lines were relevant and the output was many times longer. Is there a more accepted way of showing the output of code was truncated perhaps doing something like:

    /boot
    |-- efi
    |   `-- EFI
    |       `-- Manjaro-GRUB
    |           `-- grubx64.efi
    [...]
    

    (patterning it after the output @cfinnberg provided in an earlier post)

VERY good post, all posts should look like this! xD

A broken update is not good.

As I expected your windows boot gets mounted, lets change that.
To do that we edit fstab, I forgot to ask for -f with lsblk, but unless you removed it, I think it should be the same as before. But you can double check with lsblk -f. Change the boot line to the new UUID
Never use sudo INSIDE chroot, you are logged in as root.

$ nano /etc/fstab
---------------------------
UUID=438E-DBD6         /boot/efi        vfat     umask=0077

Now exit chroot by typing exit and then enter chroot again (good job with that btw, I totally forgot manjaro-chroot not chroot)

Make sure the NEW partition, #10 is mounted as /boot/efi by checking lsblk

Install kernel anyway, I do not know what you had so I will use 6.1 LTS in this example, change to the kernels you use (remember, no sudo inside chroot).
As a reminder so you don’t have to scroll in the thread: Manjaro Kernels - Manjaro
Read through and understand what you are doing.

mhwd-kernel -i linux61

Then grub:

$ grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
$ grub-mkconfig -o /boot/grub/grub.cfg

Check GRUB/Restore the GRUB Bootloader - Manjaro and read through it so you understand what you are doing, even if you don’t have to do everything, you might want to do some checks that stuff worked.

Then do an update on your system and pray to… someone it works.

pacman-mirrors -f && pacman -Syu

I would not be surprised if there is errors in the update process since we now know that a broken update was the cause. But let’s start here, maybe we are lucky.

I am partway through those instructions. I figured it would be better to double check before proceeding further as making bad assumptions got me in this mess in the first place :sweat_smile:.

Steps Thus Far

  1. lsblk -f
    NAME         FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
    loop0                                               
    loop1                                               
    loop2                                               
    loop3                                               
    sda                                                 
    |-sda1                                              
    `-sda2                                              
    nvme0n1                                             
    |-nvme0n1p1                           558.1M    14% /boot/efi
    |-nvme0n1p2                                         
    |-nvme0n1p3                                         
    |-nvme0n1p4                                         
    |-nvme0n1p5                                         
    |-nvme0n1p6                                         
    |-nvme0n1p7                              13G    67% /
    |-nvme0n1p8                            35.6G    47% /home
    |-nvme0n1p9                                         
    `-nvme0n1p10                                        
    
    We were trying to find/verify the UUID of nvme0n1p10 with this command, but it wasn’t listed. So I then ran
  2. vim /etc/fstab (I dabble with Vim a little bit :upside_down_face:)
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a device; this may
    # be used with UUID= as a more robust way to name devices that works even if
    # disks are added and removed. See fstab(5).
    #
    # <file system>             <mount point>  <type>  <options>  <dump>  <pass>
    UUID=D68C-B595                            /boot/efi      vfat    umask=0077 0 2
    UUID=a7817728-0a28-490d-aa51-d8b1b99bcad5 /              ext4    defaults,noatime 0 1
    UUID=3a59b7d6-336a-4055-bd94-e649bae76616 /home          ext4    defaults,noatime 0 2
    tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
    UUID=50e53c39-8e21-430f-aa6c-815fcfd00d96 none swap defaults 0 0
    
    This showed me that I could use blkid to find/verify the UUID. Exit Vim then
  3. blkid
    /dev/loop1: BLOCK_SIZE="262144" TYPE="squashfs"
    /dev/nvme0n1p9: UUID="50e53c39-8e21-430f-aa6c-815fcfd00d96" TYPE="swap" PARTUUID="2b1a6333-1845-b244-875a-37c896faa7f9"
    /dev/nvme0n1p7: UUID="a7817728-0a28-490d-aa51-d8b1b99bcad5" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8be7e9a1-dda6-8f4a-b55f-cc91b83c12c2"
    /dev/nvme0n1p5: LABEL="Image" BLOCK_SIZE="512" UUID="DAEC15B1EC1588C1" TYPE="ntfs" PARTUUID="9b859db3-010e-4fce-944e-da8898751905"
    /dev/nvme0n1p3: LABEL="OS" BLOCK_SIZE="512" UUID="68BCDFE1BCDFA7B8" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="7d5934e3-72ac-4ff3-9e30-3470311b75e9"
    /dev/nvme0n1p1: LABEL_FATBOOT="ESP" LABEL="ESP" UUID="D68C-B595" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="9e67e13d-5f32-4365-b0fc-ef845b63f67a"
    /dev/nvme0n1p8: UUID="3a59b7d6-336a-4055-bd94-e649bae76616" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8b4ab64e-aa97-9f44-b925-51ab2dbe277c"
    /dev/nvme0n1p10: UUID="438E-DBD6" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="a2c19012-3acb-4f2a-b69b-3102dc25e984"
    /dev/nvme0n1p6: LABEL="DELLSUPPORT" BLOCK_SIZE="512" UUID="06F82AF1F82ADF25" TYPE="ntfs" PARTUUID="25aeb11c-9eae-4365-83b1-a33eaf4dafae"
    /dev/nvme0n1p4: BLOCK_SIZE="512" UUID="3A26F8AD26F86AF1" TYPE="ntfs" PARTUUID="03b1b53f-4735-43a0-a4fc-cad9cc0e18e9"
    /dev/loop2: BLOCK_SIZE="262144" TYPE="squashfs"
    /dev/loop0: BLOCK_SIZE="262144" TYPE="squashfs"
    /dev/sda2: SEC_TYPE="msdos" LABEL_FATBOOT="MISO_EFI" LABEL="MISO_EFI" UUID="EA58-776D" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="ff95a72f-02"
    /dev/sda1: BLOCK_SIZE="2048" UUID="2023-10-15-12-00-38-00" LABEL="MANJARO_KDE_2304" TYPE="iso9660" PARTUUID="ff95a72f-01"
    /dev/loop3: BLOCK_SIZE="262144" TYPE="squashfs"
    /dev/nvme0n1p2: PARTLABEL="Microsoft reserved partition" PARTUUID="f36ac7a7-645d-42ec-916a-8973a53700a5"
    
    Or more specifically:
    blkid /dev/nvme0n1p10
    /dev/nvme0n1p10: UUID="438E-DBD6" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="a2c19012-3acb-4f2a-b69b-3102dc25e984"
    
  4. vim /etc/fstab and edit the file to look like:
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a device; this may
    # be used with UUID= as a more robust way to name devices that works even if
    # disks are added and removed. See fstab(5).
    #
    # <file system>             <mount point>  <type>  <options>  <dump>  <pass>
    UUID=438E-DBD6                            /boot/efi      vfat    umask=0077 0 2
    UUID=a7817728-0a28-490d-aa51-d8b1b99bcad5 /              ext4    defaults,noatime 0 1
    UUID=3a59b7d6-336a-4055-bd94-e649bae76616 /home          ext4    defaults,noatime 0 2
    tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
    UUID=50e53c39-8e21-430f-aa6c-815fcfd00d96 none swap defaults 0 0
    
  5. Exit Chroot with exit
  6. Chroot again with updated settings sudo manjaro-chroot -a
  7. lsblk
    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    loop0          7:0    0  71.2M  1 loop 
    loop1          7:1    0   1.2G  1 loop 
    loop2          7:2    0   1.7G  1 loop 
    loop3          7:3    0 668.7M  1 loop 
    sda            8:0    1  29.3G  0 disk 
    |-sda1         8:1    1   3.6G  0 part 
    `-sda2         8:2    1     4M  0 part 
    nvme0n1      259:0    0 476.9G  0 disk 
    |-nvme0n1p1  259:11   0   650M  0 part 
    |-nvme0n1p2  259:12   0   128M  0 part 
    |-nvme0n1p3  259:13   0   280G  0 part 
    |-nvme0n1p4  259:14   0   899M  0 part 
    |-nvme0n1p5  259:15   0  12.1G  0 part 
    |-nvme0n1p6  259:16   0   1.1G  0 part 
    |-nvme0n1p7  259:17   0    48G  0 part /
    |-nvme0n1p8  259:18   0    76G  0 part /home
    |-nvme0n1p9  259:19   0     4G  0 part 
    `-nvme0n1p10 259:20   0   100M  0 part /boot/efi
    

Is that correct?

100% correct so far, good job!

Edit
But I would like to point out:

Is VERY small… :grimacing:

What does a df -h give? We do NOT want to run out of space in an update, maybe that was what was happening last time.

df -h

Filesystem       Size  Used Avail Use% Mounted on
/dev/nvme0n1p7    47G   32G   13G  71% /
/dev/nvme0n1p10   99M  142K   99M   1% /boot/efi
/dev/nvme0n1p8    75G   35G   36G  50% /home
efivarfs         384K   91K  289K  24% /sys/firmware/efi/efivars
udev             7.7G     0  7.7G   0% /dev
shm              7.7G     0  7.7G   0% /dev/shm
run              7.7G     0  7.7G   0% /run
tmp              7.7G     0  7.7G   0% /tmp
overlay           12G  404M   12G   4% /etc/resolv.conf

Its fine. Go ahead and continue. :slight_smile:

In repartitioning my drive I was able to shave off an extra 53.95GB that I’d like to allocate to Manjaro. Since I use it so often I figured I would reallocate from Windows while making the new partition. But perhaps that is a discussion for another time?