Grub-probe: error: cannot find a GRUB drive for /dev/sda1. Check your device.map

Story:
I was using Windows, decided to install manjaro and not to delete windows for some time in case of emergency(I have dual boot now). Now, I want to delete windows and use its partition in manjaro.
I made bootable usb(I tried to use imagewriter and dd for that, and also tried rufus) and I want to boot via it and join partitions. But I have a problem, my laptop HP ProBook 455 probook doesn’t use my usb for boot. I changed boot order in BIOS, turned off fast boot and secure boot, nothing helps

So I tried to use that command

sudo update-grub

And I get this output
Generating grub configuration file …
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.6-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.6-x86_64.img
Found initrd fallback image: /boot/initramfs-6.6-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
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.
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings …
Root filesystem isn’t btrfs
If you think an error has occurred, please file a bug report at “GitHub - Antynea/grub-btrfs: Include btrfs snapshots at boot options. (Grub menu)
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done
As I understand, all my problems because of this line

grub-probe: error: cannot find a GRUB drive for /dev/sda1.  Check your device.map.

but funny thing is, that I don’t have /dev/sda1 partition, I only have /dev/sda which file system is ISO 9660

What am I doing wrong? When I was installing manjaro, I had only windows installed, and it was fine. But now its not working(
I tried to delete partition with my windows, but it didn’t help(but for some reason windows boot is still exists in grub menu)
I tried that too sudo grub-install /dev/sda, output is

Installing for x86_64-efi platform.
Installation finished. No error reported.

it didn’t help
I also tried to use another usb drive, didnt help

Welcome to the Manjaro community!

I wonder if the install-grub script will help with this? It’s a fairly recent addition to the repos:

pacman -S install-grub

… You’ll need to do this in a chroot environment.

manjaro-chroot -a

Edited: wasn’t sure if grub-install would detect the installed OS straight from a Live environment.

1 Like

No, that’s rather an info message.

So you did that and got this info?

Nope that does not compute. If you target a drive like /dev/sda, you always write a MBR and not an EFI file on a EFI partition. Now you messed grub up. Remove /boot/grub and run grub-install correctly again. Take a look here: GRUB/Restore the GRUB Bootloader - Manjaro

2 Likes

I didn’t find something about removing /boot/grub in url you provided, and I just deleted that folder
After that I followed steps that described there
After that command sudo grub-install --force --target=i386-pc --recheck --boot-directory=/boot /dev/sda I get this output

Installing for i386-pc platform.
grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels.  This is not supported yet..
grub-install: error: embedding is not possible, but this is required for cross-disk install.

I think it didn’t go well, so after update-grub I get the same error

I tried that, got this output

sudo install-grub                                                                                                                                                               
WARNING: Grub is not properly installed, system may not be bootable or other bootloader is used

Don’t think it means something good…

No and it is not there, because normally that is not needed. Users usually know that they install it in efi or bios mode and don’t mix them.

When I look at it, Windows was installed in EFI mode, so you can assume that it’s no different with Manjaro… You actually have to know.

1 Like

That’s laptop I got from work.
Windows was installed already
For manjaro installation I used rufus, and I didn’t choose between EFI and MBR, it’s just worked
Now I tried to do the same, it didn’t work.
I tried to create bootable usb from manjaro(using dd, imagewriter) and it didn’t work either

Actually, may be we misunderstood each other? /dev/sda is my usb drive, that I want to use just once, to join partitions

By target you meant drive that system should be installed on or you meant the same thing I described earlier?

Just to make it clear here is output of command lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME

PATH           PTTYPE PARTTYPE                             FSTYPE  PARTTYPENAME
/dev/loop0                                                         
/dev/loop1                                                         
/dev/loop2                                                         
/dev/loop3                                                         
/dev/loop4                                                         
/dev/loop5                                                         
/dev/loop6                                                         
/dev/loop7                                                         
/dev/sda       dos                                         iso9660 
/dev/sda1      dos    0x0                                  iso9660 Empty
/dev/sda2      dos    0xef                                         EFI (FAT-12/16/32)
/dev/nvme0n1   gpt                                                 
/dev/nvme0n1p1 gpt    c12a7328-f81f-11d2-ba4b-00a0c93ec93b vfat    EFI System
/dev/nvme0n1p2 gpt    0fc63daf-8483-4772-8e79-3d69d8477de4 ext4    Linux filesystem
/dev/nvme0n1p4 gpt    de94bba4-06d1-4d40-a16a-bfd50179d6ac ntfs    Windows recovery environment
/dev/nvme0n1p5 gpt    0fc63daf-8483-4772-8e79-3d69d8477de4 ext4    Linux filesystem

It is very obvious that this is not a BIOS installation because A) GPT and B) there is an EFI partition, Manjaro shares this with Windows.

You need to change the root directory (chroot) to the local installation and then install grub. Otherwise you will install grub on the live session. There are tonnes of examples on the forum about that.

2 Likes

Megavolt has already given the proper tutorial

It is basically 3 commands. Boot, chroot, reinstall grub in efi.
Read it again and then again if needed.

1 Like

The message may be confusing but it is not fatal - unless your system is bricked.

The message will most certainly display if you have a bootable USB device attached to the system while generating a new grub configuration.

First step is to remove that USB device - of course - if you are in live chroot, you cannot do that - then you know the reference it to your boot media - thus - simply ignore the message.