How to fix grub-probe: error: cannot find a GRUB drive for /dev/sdX in APT

APTADVANCEDHIGHUpdated Sep 6, 2026ยท 303 views

This error occurs when GRUB bootloader cannot locate or map a hard drive during installation or update. It typically happens with misconfigured chroot environments, 4K sector drives, or improper partition mounting during system recovery.

Quick fix

Fixes grub-probe: error: cannot find a GRUB drive for /dev/sdX

# Mount your root partition first
mount /dev/sdXY /mnt

# Mount all required pseudo-filesystems
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /proc /mnt/proc
mount -o bind /run /mnt/run
mount -o bind /sys /mnt/sys

# For EFI systems, also mount boot partition
mount /dev/sdXZ /mnt/boot/efi

# Now safely enter chroot
chroot /mnt /bin/bash
  1. Verify you are properly chrooted into your system
  2. Regenerate the GRUB device map
  3. Update GRUB configuration
  4. Reinstall GRUB to the boot device for EFI systems
apt โ€” error
# Mount your root partition first
mount /dev/sdXY /mnt
# Mount all required pseudo-filesystems
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /proc /mnt/proc
mount -o bind /run /mnt/run
mount -o bind /sys /mnt/sys
# For EFI systems, also mount boot partition
mount /dev/sdXZ /mnt/boot/efi
# Now safely enter chroot
chroot /mnt /bin/bash
grub-probe: error: cannot find a GRUB drive for /dev/sdX

What this error means

The grub-probe utility is responsible for identifying the block device containing the GRUB bootloader files. When this error appears, it means GRUB cannot determine which physical drive contains the boot files it needs. This commonly occurs during grub-install or update-grub operations, especially when working from a live USB environment or after hardware changes. The error may be harmless in some situations (like when probing USB installation media), but it can be critical if it prevents booting your primary system drive.

Typical symptoms

  • grub-probe error appears when running update-grub or grub-install commands
  • System fails to boot after GRUB installation or updates
  • Error mentions specific device like /dev/sda1, /dev/sdb1, or /dev/nvme0n1p3
  • Device.map file is missing or cannot be read
  • Multiple drives detected when only one should be visible
  • Installation medium (USB drive) appears as a target when it should not be

Common causes

  1. Running grub commands from a live USB or chroot environment without properly mounting all system partitions
  2. Incomplete or incorrect chroot setup with missing /dev, /proc, /sys, or /run binds
  3. 4K advanced format disks (4096-byte sectors) which have limited BIOS support for booting
  4. Windows dynamic disks or hardware RAID controllers that confuse GRUB device detection
  5. Missing or corrupted device.map file in /boot/grub/
  6. Installation medium (USB thumb drive) being detected as a target drive
  7. System booted from USB while trying to repair a different drive

How to fix "grub-probe: error: cannot find a GRUB drive for /dev/sdX"

1Verify you are properly chrooted into your system

If working from a live USB environment, you must mount ALL system partitions before entering chroot. Never mount just the boot partition.

bash
# Mount your root partition first
mount /dev/sdXY /mnt

# Mount all required pseudo-filesystems
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /proc /mnt/proc
mount -o bind /run /mnt/run
mount -o bind /sys /mnt/sys

# For EFI systems, also mount boot partition
mount /dev/sdXZ /mnt/boot/efi

# Now safely enter chroot
chroot /mnt /bin/bash

Replace /dev/sdXY with your root partition and /dev/sdXZ with your boot partition.

2Regenerate the GRUB device map

Inside the chroot environment, regenerate the device mapping that GRUB uses to identify drives:

bash
sudo grub-mkdevicemap

This creates or updates the /boot/grub/device.map file which maps hardware devices to GRUB device names.

3Update GRUB configuration

Generate a fresh GRUB configuration file:

bash
sudo update-grub

Or on systems using grub2-mkconfig:

bash
sudo grub-mkconfig -o /boot/grub/grub.cfg

If the error still appears but the configuration was generated successfully, you can safely ignore it and proceed.

4Reinstall GRUB to the boot device for EFI systems

For UEFI/EFI systems, reinstall GRUB to the EFI partition:

bash
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub

If installation still fails, try adding the --removable flag:

bash
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --removable

For BIOS systems, use the main drive (not a partition):

bash
sudo grub-install /dev/sdX

Replace /dev/sdX with your boot drive letter (e.g., /dev/sda, NOT /dev/sda1).

5Exit chroot and verify your installation

Exit the chroot environment and reboot:

bash
exit
reboot

Your system should now boot successfully. If you still experience boot issues, try booting into the live environment again and verifying your /etc/fstab configuration is correct.

Advanced notes

Advanced scenarios: (1) 4K sector drives: The Debian bug tracker (#602071) reveals this error occurs on 4K advanced format disks where BIOS cannot boot regardless. Solution: recreate RAID arrays or partitions with 512-byte sectors, or use GPT partitioning with UEFI firmware. (2) Windows dynamic disks: If you have Windows dynamic disks alongside Linux, they interfere with GRUB device detection. Solution: convert to basic disks or remove the dynamic disk before installing/updating GRUB. (3) ZFS on Linux: Users report this error with ZFS pools. Ensure you're in the correct chroot and all ZFS pools are imported before running grub commands. (4) Last resort: You can temporarily replace the grub-probe binary with a script that echoes a known filesystem type, though this is not recommended as a permanent solution. Boot repair tools like Boot-Repair (Ubuntu) can often fix these issues automatically.

Frequently asked questions

What does "grub-probe: error: cannot find a GRUB drive for /dev/sdX" mean?
The grub-probe utility is responsible for identifying the block device containing the GRUB bootloader files. When this error appears, it means GRUB cannot determine which physical drive contains the boot files it needs. This commonly occurs during grub-install or update-grub operations, especially when working from a live USB environment or after hardware changes.
How do I fix "grub-probe: error: cannot find a GRUB drive for /dev/sdX"?
This error occurs when GRUB bootloader cannot locate or map a hard drive during installation or update. It typically happens with misconfigured chroot environments, 4K sector drives, or improper partition mounting during system recovery.
What causes "grub-probe: error: cannot find a GRUB drive for /dev/sdX"?
Running grub commands from a live USB or chroot environment without properly mounting all system partitions Incomplete or incorrect chroot setup with missing /dev, /proc, /sys, or /run binds 4K advanced format disks (4096-byte sectors) which have limited BIOS support for booting
Is the "grub-probe: error: cannot find a GRUB drive for /dev/sdX" error serious?
Yes. This is a high-severity error that usually blocks work until it is fixed, but the steps above resolve it.

Official resources & further reading