“Updated” on 7/31 to v2.04-11.1 but I didn’t bother to “chroot install” it until yesterday.
Hey,
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?
Sure
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
Then reboot.
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.