Aha! Your sdb drive is msdos.
o And your root partition (manjaro) is located there (sdb3) - never good for uefi to be in msdos partition.
o Your Manjaro $esp is at nvme (/dev/nvme0n1p1) and most likely shared with Windows (which is okay).
o The so-called efi partition at sdb3 is not working and will never work. And neither windows nor manjaro uses it.
o Not surprisingly, you do not have a efiboot entry for manjaro.
Your setup is not good.
You will need to make your Manjaro partitions in gpt.
A reinstall is necessary, sorry.
A few pointers.
o It is okay to set your manjaro $esp (/boot/efi) in /dev/nvme0n1p1
For having a nvme disk, suggest you do use a nvme partition as $esp.
reminder - do not format this at reinstallation.
o /dev/nvme0n1p4 is windows reserved partition - do not touch this.
o You can use other manjaro partitions outside nvme - root, swap, home
but must be in gpt partitions, not msdos partitions.
o noticed your swap fstab parameters contain luks. Any idea?
When reinstalling, since swap in sdb will be wiped out, just do a 'simple' swap.
Oh, after reinstalled, it good to do this at manjaro terminal (not livecd)
Luckily, reinstalling Manjaro is no problem, it's an empty OS for now. But I think I should fix the boot into grub rescue issue first, or do you recon this will be fixed when I reinstall Manjaro?
It got this way when I tried to follow the restore guide (and probably made a mistake). The working Manjaro boot entry is the first in the boot-order when I enter UEFI, so I'd expect to boot straight into this when not using any modifiers.
EDIT: the grub rescue doesn't seem to have any modules available, I cannot issue a reboot command, nor search.file or configfile.
Yes. That should fix it.
But the important thing is that the disk has to be gpt.
You must do this -->
Use gparted, device tab --> create partition table --> gpt.
grub rescue does not have these modules. only grub. There is a way to get to grub prompt from grub rescue prompt (maybe, sometimes not) and a hassle. But... since you're reinstalling.... ?
Yes, I noticed this earlier. I guess you had used easyBCD or something like this to get the windows boot use grub. Is that true? I have never tried to use windows boot for anything else except for windows. But just doing the restore grub (chroot) shouldn't change windows boot into using grubx64.efi. Unless you chroot into windows {scrap that} or select windows $esp in your chroot selection {more likely}. Again, I rarely use chroot, so that is also just a guess. Another reason I avoid chroot and if unavoidable, I do it manually.
But when we have a working grub, that shouldn't matter, I guess.
You do have the windows efi file, right? I remember you said that, somewhere.
Oh, you're welcome.
@AgentS re: grub rescue
I have not got into grub rescue for a very very long time.
I have no problems in grub for such a long time I cannot recall getting into grub rescue.
However hard I try, I just cannot get into grub rescue (to test, of course).
Do you know how to get into it (from a good grub)?
Thanks.
I noticed I didn't reply to this point. The luks got in there because I specified it to be, again, following instructions from this wiki. It advised to format is as 'linuxswap' which ended up as luks.
As I am using a laptop (surface pro 4) I'd like to be able to hibernate the device, so I thought I'd require a swap partition (not sure if Manjaro has file-based swap on root?)
Thanks for the reply on swap. I'm not the swap guy and I don't pay too much attention to it. So I really don't know if your swap fstab parameter is correct. I have a swap partition (not swap file) but my parameters are much simpler. Hope you're right (I'm skeptical, but you're reinstalling) so after you reinstall, let's take a look at your swap parameters again. Just let the system take care of it. If there is some thing weird, let's have some swap guy take a look at it.
I don't recall using any tool like that, I've never heard of it.
I actually haven't used chroot either. Already being able to boot into the installed Manjaro through the Live Boot USB, I simply executed the command from this point on directly.
I'm not sure exactly what the Windows efi should look like, but I am able to get into Windows through the Manjaro boot entry (UEFI -> Manjaro -> GRUB -> Windows).
Okay, strange.
(without chrooting) There is no way a linux can change a windows efi entry.
But stranger things have happened when we install uefi into a msdos partition.
Still wondering how/why we still let this happen (install uefi into msdos).
Never mind. Just reinstall.
Make sure you have a gpt disk and installed uefi.
Are you suggesting the Manjaro installer will create a swap partition by itself? I recall when trying to install to my microSD I only had the option for 'manual install'.
At installation choose the swap partition and moount it as swap.
Okay, I don't let installer make partitions. I make partitions ready before installation and I use manual or expert or advanced or... method.
This should work, in terms of having the /dev/sdb-drive formatted as GPT, mounting nvme0n1p1 as /boot/efi(not /boot, right?).
Also, you may notice the two LUKS partitions. This changed from linuxswap and ext4 for the red and orange partitions, respectively after selecting they should be encrypted.
I have!
The screenshot's first line under the partition diagrams says "Create new GPT partition table on /dev/sdb..."
I just booted from the new installation. Seems much smoother. Still boot into grub recovery, however. Going to try log into my Windows OS and check if I can catch any error messages...
do you still want encryption?
If you want encryption, I cannot help. Because I don't do encryption.
Wipe the drive, like totally.
Make partitions ready, without encryption.
Then only install.
Oh. Everything seems to be working, though. Did I just risk ruining my computer or is it ruined and did I not notice it yet?
As far as my boot-experience so far, some interesting points:
Simply powering on the pc, I still end up in grub recover, but I took a screenshot of the error:
error: no such cryptodisk found.
error: disk `cryptouuid/d4c943...754' not found. # let me know if the full uuid is relevant to have
Entering rescue mode...
grub rescue>
I can get to the Manjaro GRUB just fine when I boot into UEFI en select the Manjaro boot entry. It will ask me to decrypt the drive before entering GRUB.
The Manjaro GRUB lists both my Manjaro and Windows installations
Manjaro boots just fine
Windows boots just fine (but Bitlocker will want to be manually unlocked with a recovery key the first time).
I'm afraid encryption is mandatory for my work. Also, personally, I don't do unencrypted devices on-the-go (e.g. laptops).
Manjaro packages are currently installing, so I'm not going to do any sudo cp-ing right now, but here is the output you asked for:
cat /etc/fstab
# /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=5634-9BBE /boot/efi vfat defaults,noatime 0 2
/dev/mapper/luks-21afa5e5-ad82-4a87-94b1-88fd69cd21b0 swap swap defaults,noatime 0 2
/dev/mapper/luks-d4c943e7-6eb0-46ae-b85c-7327618dc754 / ext4 defaults,noatime 0 1
sudo parted -l
Model: Generic- USB3.0 CRW -SD (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 12,9GB 12,9GB
2 12,9GB 128GB 115GB
Model: Unknown (unknown)
Disk /dev/nvme0n1: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 274MB 273MB fat32 EFI system partition boot, esp
2 274MB 408MB 134MB Microsoft reserved partition msftres
3 408MB 253GB 253GB Basic data partition msftdata
4 253GB 256GB 2716MB ntfs Basic data partition hidden, diag
You're on luks encryption.
If it works, fine.
Please print out (later) the boot entry of manjaro
Just the first entry will do.
Let me know also where you need to enter password for encryption. Before grub menu? And after entering entry? Once? Or twice?
Great line of questioning! Seems you have something in mind. I like it.
As I said in the post earlier, it will ask for decryption password before GRUB. The first install it also asked as second time after selecting the Manjaro installation. The second boot (after booting to Windows 10 for a second), it only asked for a password once, before GRUB.
I'll get back to you after sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi.
Okay. Got it.
Reminder. Need first menuentry of Manjaro at grub.cfg.
I (I mean @AgentS) need this to write out a grub prompt entry to boot a broken bootloader of a luks encrypted system.
Cheers, take care, good night.
[EDIT] - When petsam have this ready, can you test it out for us?
We'll have you get the install media, start to the boot menu.
Go to prompt, at prompt type in commands.
Tell us at which part (or parts) you have to enter password.
And tell us if it boots to your installed Manjaro OS.
Assuring you it is a non-destructive testing; no harm or change will happen to your system.