“Updated” on 7/31 to v2.04-11.1 but I didn’t bother to “chroot install” it until yesterday.
I have a problem similar to OPs. I also reinstalled grub and my filesystem is also encrypted using luks.
When I try to boot grub starts fine and asks for my ecryption password. When I enter the password the computer restarts and I end up in uefi.
I installed manjaro with 20.0.3 (KDE)
I installed using Calamares
and used the following options: nonfree gpu drivers, erase-disk mode, no swap, encryption
I am dual booting with Windows 10
lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT loop0 squashfs 4.0 0 100% /run/miso/sfs/livefs loop1 squashfs 4.0 0 100% /run/miso/sfs/mhwdfs loop2 squashfs 4.0 0 100% /run/miso/sfs/desktopfs loop3 squashfs 4.0 0 100% /run/miso/sfs/rootfs sda iso9660 Joliet Extension MANJARO_KDE_2003 2020-06-06-08-14-33-00 ├─sda1 iso9660 Joliet Extension MANJARO_KDE_2003 2020-06-06-08-14-33-00 0 100% /run/miso/bootmnt └─sda2 vfat FAT12 MISO_EFI F327-8F27 nvme0n1 ├─nvme0n1p1 vfat FAT32 7164-578E └─nvme0n1p2 crypto_LUKS 1 c543961f-9501-47ee-bb38-f325520fbb71 nvme1n1 ├─nvme1n1p1 ntfs Recovery 30B24095B2406188 ├─nvme1n1p2 vfat FAT32 1440-D17C ├─nvme1n1p3 └─nvme1n1p4
fdisk -l Disk /dev/nvme0n1: 894.26 GiB, 960197124096 bytes, 1875385008 sectors Disk model: Force MP510 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: gpt Disk identifier: 19902CC8-BC02-A94D-8FD0-09AE058587F5 Device Start End Sectors Size Type /dev/nvme0n1p1 4096 618495 614400 300M EFI System /dev/nvme0n1p2 618496 1875379904 1874761409 894G Linux filesystem Disk /dev/nvme1n1: 894.26 GiB, 960197124096 bytes, 1875385008 sectors Disk model: Force MP510 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: gpt Disk identifier: 1D81216F-72FD-451E-BAC8-E45168AF5C62 Device Start End Sectors Size Type /dev/nvme1n1p1 2048 1085439 1083392 529M Windows recovery environment /dev/nvme1n1p2 1085440 1290239 204800 100M EFI System /dev/nvme1n1p3 1290240 1323007 32768 16M Microsoft reserved /dev/nvme1n1p4 1323008 1875384319 1874061312 893.6G Microsoft basic data Disk /dev/loop0: 20.86 MiB, 21852160 bytes, 42680 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop1: 565.6 MiB, 593055744 bytes, 1158312 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop2: 1.71 GiB, 1813102592 bytes, 3541216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop3: 596.6 MiB, 625012736 bytes, 1220728 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sda: 14.94 GiB, 16013852672 bytes, 31277056 sectors Disk model: STORE N GO 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: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sda1 * 64 6093039 6092976 2.9G 0 Empty /dev/sda2 6093040 6101231 8192 4M ef EFI (FAT-12/16/32)
I am not sure how to tackle this issue (other than reinstalling) and would be glad for any ideas.
Dual-booting with windows has really been hit-or-miss in the last few years. Did you install mtools and os-prober per the guide?
I did not. But I´ll retry the whole procedure with mtools and os-prober installed and report back.
I retried now, but when running update-grub I get the following error:
grub-probe: error: cannot find a GRUB drive for /dev/sda1. Check your device.map.
I think this is because I use nvme ssds which, by default, use the names /dev/nvme0n1p1 instead of /dev/sda1. Any idea how I could tell grub to use my nvme ssd?
What command did you use to reinstall grub? Instead of /dev/sda1 you should use your actual partition /dev/nvme1n1p2
Hey, thanks for your help.
I reinstalled grub with
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
However I was now able to boot from grub successfully by using
grub> cryptomount (hd0,gpt2) (enter password) Slot 0 opened grub> set root=(crypto0) grub> set prefix=(crypto0)/boot/grub grub> insmod normal grub> normal
From there I can boot manjaro regularly. Should I still reinstall grub again with /dev/nvme0n1p2 or is there a possibility to restore grub from within my bootet system. I ran update-grub, but this did not help.
Can you post your /etc/default/grub?
Were you chtooted or booted into your installation when you did the grub-install?
GRUB_DEFAULT=saved GRUB_TIMEOUT=10 GRUB_TIMEOUT_STYLE=hidden GRUB_DISTRIBUTOR="Manjaro" GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=UUID=c543961f-9501-47ee-bb38-f325520fbb71:luks-c543961f-9501-47ee-bb38-f325520fbb71 root=/dev/mapper/luks-c543961f-9501-47ee-bb38-f325520fbb71 apparmor=1 security=apparmor udev.log_priority=3" GRUB_CMDLINE_LINUX="" # If you want to enable the save default function, uncomment the following # line, and set GRUB_DEFAULT to saved. GRUB_SAVEDEFAULT=true # Preload both GPT and MBR modules so that they are not missed GRUB_PRELOAD_MODULES="part_gpt part_msdos" # Uncomment to enable booting from LUKS encrypted devices #GRUB_ENABLE_CRYPTODISK=y # Uncomment to use basic console GRUB_TERMINAL_INPUT=console # Uncomment to disable graphical terminal #GRUB_TERMINAL_OUTPUT=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command 'videoinfo' GRUB_GFXMODE=auto # Uncomment to allow the kernel use the same resolution used by grub GRUB_GFXPAYLOAD_LINUX=keep # Uncomment if you want GRUB to pass to the Linux kernel the old parameter # format "root=/dev/yyy" instead of "root=/dev/disk/by-uuid/yyy" #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries GRUB_DISABLE_RECOVERY=true # Uncomment and set to the desired menu colors. Used by normal and wallpaper # modes only. Entries specified as foreground/background. GRUB_COLOR_NORMAL="light-gray/black" GRUB_COLOR_HIGHLIGHT="green/black" # Uncomment one of them for the gfx desired, a image background or a gfxtheme #GRUB_BACKGROUND="/usr/share/grub/background.png" GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt" # Uncomment to get a beep at GRUB start #GRUB_INIT_TUNE="480 440 1" GRUB_ENABLE_CRYPTODISK=y
For some reason I am not allowed to post three x in a row. I replaced it with yyy.
The configuration seems correct, as does the grub-install command, assuming you did it from booted installation or chroot. Not sure what is causing the issue. How is your /etc/mkinitcpio.conf?
May it be caused by this line
GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=UUID=c543961f-9501-47ee-bb38-f325520fbb71:luks-c543961f-9501-47ee-bb38-f325520fbb71 root=/dev/mapper/luks-c543961f-9501-47ee-bb38-f325520fbb71 apparmor=1 security=apparmor udev.log_priority=3"
Or is it normal, that root=/dev/mapper/… Thought it was supposed to be something like /dev/nvme0n1p2
Here’s my /etc/mkinitcpio.conf
# vim:set ft=sh # MODULES # The following modules are loaded before any boot hooks are # run. Advanced users may wish to specify all system modules # in this array. For instance: # MODULES=(piix ide_disk reiserfs) MODULES="" # BINARIES # This setting includes any additional binaries a given user may # wish into the CPIO image. This is run last, so it may be used to # override the actual binaries included by a given hook # BINARIES are dependency parsed, so you may safely ignore libraries BINARIES=() # FILES # This setting is similar to BINARIES above, however, files are added # as-is and are not parsed in any way. This is useful for config files. FILES="/crypto_keyfile.bin" # HOOKS # This is the most important setting in this file. The HOOKS control the # modules and scripts added to the image, and what happens at boot time. # Order is important, and it is recommended that you do not change the # order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for # help on a given hook. # 'base' is _required_ unless you know precisely what you are doing. # 'udev' is _required_ in order to automatically load modules # 'filesystems' is _required_ unless you specify your fs modules in MODULES # Examples: ## This setup specifies all modules in the MODULES setting above. ## No raid, lvm2, or encrypted root is needed. # HOOKS=(base) # ## This setup will autodetect all modules for your system and should ## work as a sane default # HOOKS=(base udev autodetect block filesystems) # ## This setup will generate a 'full' image which supports most systems. ## No autodetection is done. # HOOKS=(base udev block filesystems) # ## This setup assembles a pata mdadm array with an encrypted root FS. ## Note: See 'mkinitcpio -H mdadm' for more information on raid devices. # HOOKS=(base udev block mdadm encrypt filesystems) # ## This setup loads an lvm2 volume group on a usb device. # HOOKS=(base udev block lvm2 filesystems) # ## NOTE: If you have /usr on a separate partition, you MUST include the # usr, fsck and shutdown hooks. HOOKS="base udev autodetect modconf block keyboard keymap encrypt filesystems" # 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=()
Yes, I did it from chroot. I opened the encrypted file with cryptsetup open and mounted the resulting folder under /dev/mapper/… to /mnt Maybe that was the wrong thing to do…
It is is normal for encrypted system.
From live session, decrypt your partition and mount the decrypted volume (/dev/mapper/something) to /mnt. Then
mount /dev/nvme1n1p2 /mnt/boot/efi. Then
manjaro-chroot /mnt. Then run
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck update-grub
Alright, thanks. I`ll do that and report back how it went.
One more question, should I still mount my efi partition, as mentioned in the guide?
Yes, mount it to /mnt/boot/efi before chrooting
Sorry I´m a bit confused. That would mean to mount both /dev/nvme1n1p2 and the efi partition to /mnt/boot/efi. Or did you mean my efi partition with /dev/nvme1n1p2 (my efi is on /dev/nvme0n1p1)
Seems that autocorrect mixed that. Decrypted root volume goes to /mnt, efi partition goes to /mnt/boot/efi
Gotcha, thanks for the clarification.
Hey, sorry for answering so late. I could not answer anymore yesterday, because I reached my maximum amount of posts for my first day.
Your solution fixed the issue for me, and I can use my installation again as normal.
Thank you so much for helping me out with this!
For anyone else reading this, this resolved the issue for me:
Of course, keep in mind, that your efi partition may have a different name.
Also manjaro-chroot /mnt is your best friend here and easier than chrooting manually.
This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.