Win11/Manjaro Dual Boot - GRUB error: unknown file system

Hi,
Had a dual boot setup on my Thinkpad x230t working fine until yesterday, when I did a Windows Update in Win 11.

After update it said to restart and that’s when I got the Grub error: unknown file system message.

I tried following the directions on the Aug 2024 thread about this (see excerpt down below).

When I do :

pacman-mirrors -f && pacman -Syyu

I get the following error messages (yesterday & today):

:: INFO Mirror list generated and saved to: /etc/pacman.d/mirrorlist
core.db failed to download
extra.db failed to download
multilib.db failed to download
error: failed retrieving file 'core.db' from mirror.zetup.net : could not resolve host: mirror.zetup.net
warning: fatal error from zetup.net, skipping for the remainder of this transaction

***Get a long list of similar messages for other mirrors, then:

error: failed to synchronize all databases (invalid url for server)

Mod note: It’s usually best to provide the full command output, if only for context. :eyes: – naturally, formatted according to forum guidelines.


I’ve checked that I’m connected to internet and I can surf to websites OK with browser.

Would greatly appreciate advice how to get this resolved.

Thanks!

After chrooting — regardless of whether you used manjaro-chroot with ext4 or a manual chroot with btrfs — you must now issue the following commands to repair your installation… :arrow_down:

[ -f /var/lib/pacman/db.lck ] && rm -f /var/lib/pacman/db.lck
pacman-mirrors -f && pacman -Syyu
grub-install
update-grub
exit

Normally this procedure you have pasted should help recover. However, you didn’t specify whether or not you completed those instructions. Another procedure is noted below, if that fails.

It seems that your mirrors need to be refreshed before performing an update. From a chroot environment, try:

pamac update --no-aur --force-refresh

Note this is basically the pamac variation of the pacman command already given, but without the grub portion.

If the update completes, the problem is likely resolved, but if you also need to replace Grub, there is a new program for that install-grub (which may or may not already be installed):

pacman -S install-grub
install-grub

It’s possible that you might need to reset the default bootloader in your BIOS – presuming UEFI – enter the BIOS UEFI configuration and set UEFI OS on the Manjaro disk as the default.


Welcome to the Manjaro community

As a new or infrequent forum user, please take some time to familiarise yourself with Forum requirements, and the many ways to use the forum to your benefit.

To that end, links are provided (below) - Please use them.


Be prepared to provide outputs from various commands when asked. It’s equally important to provide as much actionable information as possible in your first post, rather than simply indicating there is a problem.

Waiting for someone to blindly ask questions is also counter-productive – typically, nobody has a :crystal_ball: at their disposal – Instead, please help others to ask informed questions, based on information you provide.


Update Announcements

The Update Announcements contain important information and a Known Issues and Solutions section that should generally be checked before posting a request for support.

System Information

While information from *-fetch type apps might be fine for someone wishing to buy your computer, for Support purposes it’s better to ask your system directly; :eyes:

Output of the inxi command (with appropriate parameters, and formatted according to forum guidelines) will generate information useful for those wishing to help:

inxi --filter --verbosity=8

or the short form (preferred):

inxi -zv8
Highly Recommended
Technical Resources
Required Reading

Thank you so much for your detailed and helpful reply!

To clarify, I had followed the instructions on that page. However, when I go to the line:

pacman-mirrors -f && pacman -Syyu

that is when I had the problem.

I will try to follow your suggestions and will report back on how it went.

If you can still boot - it looks like it to me, because you say that you can browse the web - then you don’t need to chroot.
File that away. For now.

pacman-mirrors -f && pacman -Syyu

Those are two commands, chained together on one line.
Run them separately:

sudo pacman-mirrors -f (refresh the list of mirrors)

sudo pacman -Syyu (run the actual update)

That way you can better differentiate where things go wrong.

Thanks for your help!

Your suggestion to separate the two commands worked!

However, after that, I chrooted and updated grub using the new install-grub as suggested by @soundofthunder per post above.

# install-grub:

WARNING: Grub is not properly installed, system may not be bootable or other bootloader is used
[manjaro-cinnamon ~]# 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/sda6]
 --> mount: [/mnt]
 --> mount: [/mnt/boot/efi]
 --> mount: [/mnt/home]
[manjaro-cinnamon /]# pacman -S install-grub
warning: install-grub-2:2.12.r350.g0e367796-4 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) install-grub-2:2.12.r350.g0e367796-4

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

:: Proceed with installation? [Y/n] 
(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%
:: Running pre-transaction hooks...
(1/1) Creating Timeshift snapshot before upgrade...
==> skipping timeshift-autosnap due skipRsyncAutosnap in /etc/timeshift-autosnap.conf set to TRUE.
:: Processing package changes...
(1/1) reinstalling install-grub                               [##################################] 100%
:: To use the new features provided in this GRUB update, it is recommended
   to install it to the MBR or UEFI. Due to potential configuration
   incompatibilities, it is advised to run both, installation and generation
   of configuration:
     # UEFI: https://wiki.archlinux.org/title/GRUB#Installation
     # BIOS: https://wiki.archlinux.org/title/GRUB#Installation_2
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

# install-grub:

Grub will be installed on: EFI
Installing for x86_64-efi platform.
Installation finished. No error reported.
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.12-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.12-x86_64.img
Found initrd fallback image: /boot/initramfs-6.12-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.
ERROR: mkdir /var/lock/dmraid
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 ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
done
Warning: GRUB bootloader at '/boot/efi/EFI/Manjaro' was updated.
Your booted entry 'USB HDD' is not the same as 'Manjaro'.
This may be a rescue ISO, but if not check your EFI boot priority.

# update-grub:

Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.12-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.12-x86_64.img
Found initrd fallback image: /boot/initramfs-6.12-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/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 ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
done

Meanwhile, when I rebooted, I selected Win 11 to see what happens. It showed the Windows update text, completed installing the updates and then got to the Win 11 login screen. So, that is working.

Restarted and choose Manjaro from the list and it booted up OK.

Restarted again and just let it go…after a minute I got the grub rescue screen.

I tried doing what @soundofthunder suggested:

It’s possible that you might need to reset the default bootloader in your BIOS – presuming UEFI – enter the BIOS UEFI configuration and set UEFI OS on the Manjaro disk as the default.

But not sure I followed the suggestions as it relates to the BIOS options available on my Thinkpad 230t. I tried to do this, but when I booted up I got the grub rescue screen again.

My Boot Menu options in BIOS are:

manjaro
Windows Boot Manager
ATA HDD0: SATA SSD
USB HDD: USB DISK
> PCI LAN

I tried booting up several times. Each time I selected one of the first three options listed, never get the grub menu.

In BIOS, in Startup tab, I have the following line items and current selections:

Boot
Network Boot [USB FDD]
UEFI/Legacy Boot [UEFI Only]
- CSM Support [Yes]
Boot Mode [Quick]
Option Key Display [Enabled]
Boot device list F12 Option [Enabled]
Boot Order Lock [Disabled]

Any other suggestions?

Any other information needed?

Thanks for everyone’s help!

Suggestions:

  • CSM Support [No]
  • Boot Mode [Quick]: Uncertain what this is but my best guess would be Thinkpad’s equivilant to “Fast Boot” - Every BIOS is different, but if it has a Disabled option, choose it.

Most every UEFI BIOS allows one to choose the default boot entry, or rather the order of the boot entries. I can only presume (from your list) that “Manjaro” would be the entry you want.

This is usually set in the BIOS rather than the “boot menu” that some BIOS are equipped with; but again, every BIOS is different.

There might usually be something definitive in the mainboard manual.

Thanks for all the info and suggestions.
On this old laptop, I can set the order of the boot devices, but not which OS.

I can select the OS from the boot menu using F12 at start.

I did make the changes you suggested to in the Startup tab in BIOS. Restarted and it boots up automatically to Manjaro. Not a bad thing, but before I did the Windows update, unless I’m mixing things with another laptop, I thought it booted up to the grub menu where I could select Manjaro or Windows by using the up and down arrorw keys.

So, that’s what I’ve been trying to achieve when I first posted what happened after doing the Windows update.

Am I incorrect in expecting to boot up to the grub menu screen?

Is it usual now instead to have to use the boot menu to select which OS to boot up to?

Yes, however inconvenient it may be, at least that option exists.

It might have. That’s only a matter of configuration, and I suppose install-grub would have reset that to the defaults.

To change it, the easiest is to edit /etc/default/grub;

To have the Grub menu display and the last booted OS set as Grub’s default boot selection, ensure that these lines are uncommented; change as needed, but this works for me:

GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=menu
GRUB_SAVEDEFAULT=true

And then, uncomment this line (leaving it exactly as shown) to ensure other loaders are detected;

GRUB_DISABLE_OS_PROBER=false

Close and save.


Next, update the Grub configuration:

sudo update-grub

Reboot.


The answers to these questions should now have been made obvious. :wink:

I hope this helps.


Another option exists to install the refind boot manager;

By choosing refind as the initial boot loader, other OS boot loaders – in your case Manjaro and Windows – are able to be chainloaded.

refind also has a welcome feature of being able to bypass Grub and boot the kernel stub directly, which is convenient in the case that a problem with Grub prevents booting – one can still boot to the Linux system and work the problem in relative comfort.

I mention it briefly in a related tutorial.

This does take some manual configuration, so I’d suggest spending the time needed to research, before taking this route.

Regards.

THANKS again for all your super helpful help and support. Truly appreciate it greatly.

This experience contributes a lot to my growth and learning about Manjaro/linux.

Best regards,

Mark

If your issue is now resolved, it’s customary to mark the post that helped you the most to achieve your goal as the solution – use the button directly beneath whichever post that may be.

This helps others with similar issues to quickly find the solution and ascertain whether it might apply to them.

Regards.

Thanks for the reminder!

I marked your first post, although all the posts here were helpful.