Grub rescue, symbol 'grub_disc_native_sectors' not found

Hello.
I ran into a little problem after doing some updates and getting some errors. I tried the GRUB/Restore the GRUB Bootloader from wiki and it didn’t work.

Terminal log for every command in grub restore guide in order from the wiki

lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME
PATH       PTTYPE PARTTYPE FSTYPE   PARTTYPENAME
/dev/loop0                 squashfs 
/dev/loop1                 squashfs 
/dev/loop2                 squashfs 
/dev/loop3                 squashfs 
/dev/sda   dos                      
/dev/sda1  dos    0x7      ntfs     HPFS/NTFS/exFAT
/dev/sda2  dos    0x7      ntfs     HPFS/NTFS/exFAT
/dev/sda3  dos    0x27     ntfs     Hidden NTFS WinRE
/dev/sda4  dos    0x5               Extended
/dev/sda5  dos    0xc      vfat     W95 FAT32 (LBA)
/dev/sda6  dos    0x82     swap     Linux swap / Solaris
/dev/sda7  dos    0x83     ext4     Linux
/dev/sda8  dos    0x83     ext4     Linux
/dev/sdb   dos             iso9660  
/dev/sdb1  dos    0x0      iso9660  Empty
/dev/sdb2  dos    0xef     vfat     EFI (FAT-12/16/32)
sudo fdisk -l /dev/sda
Disk /dev/sda: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: Samsung SSD 850 
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: 0xa8106d8d

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    206847    204800   100M  7 HPFS/NTFS/exFAT
/dev/sda2          206848 270197234 269990387 128.7G  7 HPFS/NTFS/exFAT
/dev/sda3       487303168 488394751   1091584   533M 27 Hidden NTFS WinRE
/dev/sda4       270197235 487303167 217105933 103.5G  5 Extended
/dev/sda5       270199283 271249407   1050125 512.8M  c W95 FAT32 (LBA)
/dev/sda6       271251456 288028671  16777216     8G 82 Linux swap / Solaris
/dev/sda7       288030720 329973759  41943040    20G 83 Linux
/dev/sda8       329975808 487303167 157327360    75G 83 Linux
su
manjaro-chroot -a 
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
==> Mounting (ManjaroLinux) [/dev/sda7]
 --> mount: [/mnt]
 --> mount: [/mnt/boot/efi]
 --> mount: [/mnt/home]
pacman -Syu grub
pacman -Syu grub
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
warning: grub-2.04-13 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (1) grub-2.04-13

Total Installed Size:  49.03 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                                                                   [###################################################################] 100%
(1/1) checking package integrity                                                                                 [###################################################################] 100%
(1/1) loading package files                                                                                      [###################################################################] 100%
(1/1) checking for file conflicts                                                                                [###################################################################] 100%
(1/1) checking available disk space                                                                              [###################################################################] 100%
:: Processing package changes...
(1/1) reinstalling grub                                                                                          [###################################################################] 100%
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Updating the info directory file...
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
Installing for x86_64-efi platform.
Could not prepare Boot variable: Function not implemented
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.
grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.10-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.10-x86_64.img
Found initrd fallback image: /boot/initramfs-5.10-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.4-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.4-x86_64.img
Found initrd fallback image: /boot/initramfs-5.4-x86_64-fallback.img
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
done
[manjaro /]# lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME
PATH       PTTYPE PARTTYPE FSTYPE PARTTYPENAME
/dev/loop0                        
/dev/loop1                        
/dev/loop2                        
/dev/loop3                        
/dev/sda                          
/dev/sda1                         
/dev/sda2                         
/dev/sda3                         
/dev/sda4                         
/dev/sda5                         
/dev/sda6                         
/dev/sda7                         
/dev/sda8                         
/dev/sdb                          
/dev/sdb1                         
/dev/sdb2                         
[manjaro /]# ls /sys/firmware/efi
config_table  efivars  esrt  fw_platform_size  fw_vendor  runtime  runtime-map  systab

What should I do, and if it can’t be fixed, is it possible to retrieve files from the system booting from usb?

1 Like

You have a msdos parted disk and used

which is the syntax for gpt parted disks.

For systems booted in BIOS mode (I can’t see if you did) with an msdos parted disk, the grub boot loader must be installed in the MBR of the disk, check the wiki again. Don’t choose any partition.

This command might be helpful:

test -d /sys/firmware/efi && echo efi || echo bios

It shows with high probability how you booted. It should be done from running system or when booted a LIVE ISO after chrooting.

I’m pretty new to manjaro and linux in general and don’t really know these things. I ran the command and it returned efi

Please post result of command

mount
sudo fdisk -l
sudo efibootmgr -v

Also, it worth to investigate what capabilities your firmware provide. As user you should better know if you boot in UEFI or BIOS mode when doing an install and please remeber for the furture the recommended correlation:

UEFI + gpt

or

BIOS + msdos (MBR)

Mixing these thinks could cause issues (at least for newbies).

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=4018432k,nr_inodes=1004608,mode=755,inode64)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
/dev/sdb on /run/miso/bootmnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=default)
cowspace on /run/miso/cowspace type tmpfs (rw,relatime,size=262144k,mode=755,inode64)
overlay_root on /run/miso/overlay_root type tmpfs (rw,relatime,size=6066852k,mode=755,inode64)
/dev/loop0 on /run/miso/sfs/livefs type squashfs (ro,relatime)
/dev/loop1 on /run/miso/sfs/mhwdfs type squashfs (ro,relatime)
/dev/loop2 on /run/miso/sfs/desktopfs type squashfs (ro,relatime)
/dev/loop3 on /run/miso/sfs/rootfs type squashfs (ro,relatime)
overlay on / type overlay (rw,relatime,lowerdir=/run/miso/sfs/livefs:/run/miso/sfs/mhwdfs:/run/miso/sfs/desktopfs:/run/miso/sfs/rootfs,upperdir=/run/miso/overlay_root/upper,workdir=/run/miso/overlay_root/work,index=off)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,size=4096k,nr_inodes=1024,mode=755,inode64)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=687)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,nr_inodes=409600,inode64)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /etc/pacman.d/gnupg type tmpfs (rw,relatime,mode=755,inode64)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=808912k,nr_inodes=202228,mode=700,uid=1000,gid=1000,inode64)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
Disk /dev/sda: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: Samsung SSD 850 
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: 0xa8106d8d

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    206847    204800   100M  7 HPFS/NTFS/exFAT
/dev/sda2          206848 270197234 269990387 128.7G  7 HPFS/NTFS/exFAT
/dev/sda3       487303168 488394751   1091584   533M 27 Hidden NTFS WinRE
/dev/sda4       270197235 487303167 217105933 103.5G  5 Extended
/dev/sda5       270199283 271249407   1050125 512.8M  c W95 FAT32 (LBA)
/dev/sda6       271251456 288028671  16777216     8G 82 Linux swap / Solaris
/dev/sda7       288030720 329973759  41943040    20G 83 Linux
/dev/sda8       329975808 487303167 157327360    75G 83 Linux

Partition table entries are not in disk order.


Disk /dev/loop0: 27.49 MiB, 28823552 bytes, 56296 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: 620.53 MiB, 650674176 bytes, 1270848 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.65 GiB, 1775550464 bytes, 3467872 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: 667.84 MiB, 700276736 bytes, 1367728 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/sdb: 14.41 GiB, 15472047104 bytes, 30218842 sectors
Disk model: DataTraveler 3.0
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/sdb1  *         64 6300795 6300732   3G  0 Empty
/dev/sdb2       6300796 6308987    8192   4M ef EFI (FAT-12/16/32)
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0001,0002
Boot0001* Hard Drive    BBS(HD,,0x0)..GO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.5.0. .E.V.O. .2.5.0.G.B....................A...........................>..Gd-.;.A..MQ..L.2.S.P.1.X.N.G.B.9.A.7.2.3.3. .Z. . . . ........BO..NO........s.K.i.n.g.s.t.o.n.D.a.t.a.T.r.a.v.e.l.e.r. .3...0....................A.......................F..Gd-.;.A..MQ..L.K.i.n.g.s.t.o.n.D.a.t.a.T.r.a.v.e.l.e.r. .3...0........BO
Boot0002* UEFI: KingstonDataTraveler 3.0        PciRoot(0x0)/Pci(0x14,0x0)/USB(21,0)/HD(1,MBR,0x0,0x60247c,0x2000)..BO

Looks like you booted in UEFI mode using the ESP of the USB stick or using /dev/sda1 which is not formatted in FAT32! Is this wanted? (Some people do, that’s the reason I’m asking.)

I would not leave it this way. First you need to decide if you want to boot in UEFI mode or in BIOS mode (as long as your firmware supports both). If you want to proceed in UEFI mode: Backup and freshly setup your system. I would not say it’s impossible to transfer your system disk into gpt but it’s probably easier to re-install.

Or stay in BIOS mode and use the correct way to install grub, see wiki. Afterwards, make sure to boot in BIOS mode.

I think the easiest thing for me to do is to backup everything important, reinstall manjaro and just take this as a lesson on not mixing up the modes. Thanks for the help. :+1:

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.