I have an old (but solid) Thinkpad t430 running with Win10 and Manjaro in Dualboot.
After the last update there is something wrong with my GRUB. When trying to boot into Manjaro it fails saying
error: file ‘boot/vmlinuz-5.4-x86_64’ not found
error: you need to loadthe kernel first
I now wanted to chroot into my system and fix it but when looking at my partitions I’m not very sure whre to install boot to.
Could someone please help me here?
[manjaro@manjaro-cinnamon ~]$ 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 0x83 ext4 Linux
/dev/sda6 dos 0x82 swap Linux swap / Solaris
/dev/sda7 dos 0x83 ext4 Linux
/dev/sdb dos iso9660
/dev/sdb1 dos 0x0 iso9660 Empty
/dev/sdb2 dos 0xef vfat EFI (FAT-12/16/32)
/dev/sr0
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="${saved_entry}"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
set menu_color_normal=light-gray/black
set menu_color_highlight=green/black
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 2aa751e8-bc50-4ae4-a017-2e6572ded936
else
search --no-floppy --fs-uuid --set=root 2aa751e8-bc50-4ae4-a017-2e6572ded936
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=de_DE
insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 2aa751e8-bc50-4ae4-a017-2e6572ded936
else
search --no-floppy --fs-uuid --set=root 2aa751e8-bc50-4ae4-a017-2e6572ded936
fi
insmod gfxmenu
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_24.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_48.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_bold_16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_mono_12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-18.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b18.pf2
insmod png
set theme=($root)/usr/share/grub/themes/manjaro/theme.txt
export theme
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=15
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=15
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-2aa751e8-bc50-4ae4-a017-2e6572ded936' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 2aa751e8-bc50-4ae4-a017-2e6572ded936
else
search --no-floppy --fs-uuid --set=root 2aa751e8-bc50-4ae4-a017-2e6572ded936
fi
linux /boot/vmlinuz-5.4-x86_64 root=UUID=2aa751e8-bc50-4ae4-a017-2e6572ded936 rw quiet resume=UUID=4daf6d7a-0fc7-410d-8e75-fa44b4c19a33
initrd /boot/intel-ucode.img /boot/initramfs-5.4-x86_64.img
}
submenu 'Advanced options for Manjaro Linux' $menuentry_id_option 'gnulinux-advanced-2aa751e8-bc50-4ae4-a017-2e6572ded936' {
menuentry 'Manjaro Linux (Kernel: 5.4.108-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.108-1-MANJARO x64-advanced-2aa751e8-bc50-4ae4-a017-2e6572ded936' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 2aa751e8-bc50-4ae4-a017-2e6572ded936
else
search --no-floppy --fs-uuid --set=root 2aa751e8-bc50-4ae4-a017-2e6572ded936
fi
linux /boot/vmlinuz-5.4-x86_64 root=UUID=2aa751e8-bc50-4ae4-a017-2e6572ded936 rw quiet resume=UUID=4daf6d7a-0fc7-410d-8e75-fa44b4c19a33
initrd /boot/intel-ucode.img /boot/initramfs-5.4-x86_64.img
}
menuentry 'Manjaro Linux (Kernel: 5.4.108-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.108-1-MANJARO x64-fallback-2aa751e8-bc50-4ae4-a017-2e6572ded936' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 2aa751e8-bc50-4ae4-a017-2e6572ded936
else
search --no-floppy --fs-uuid --set=root 2aa751e8-bc50-4ae4-a017-2e6572ded936
fi
linux /boot/vmlinuz-5.4-x86_64 root=UUID=2aa751e8-bc50-4ae4-a017-2e6572ded936 rw quiet resume=UUID=4daf6d7a-0fc7-410d-8e75-fa44b4c19a33
initrd /boot/initramfs-5.4-x86_64-fallback.img
}
menuentry 'Manjaro Linux (Kernel: 4.19.183-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.183-1-MANJARO x64-advanced-2aa751e8-bc50-4ae4-a017-2e6572ded936' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 2aa751e8-bc50-4ae4-a017-2e6572ded936
else
search --no-floppy --fs-uuid --set=root 2aa751e8-bc50-4ae4-a017-2e6572ded936
fi
linux /boot/vmlinuz-4.19-x86_64 root=UUID=2aa751e8-bc50-4ae4-a017-2e6572ded936 rw quiet resume=UUID=4daf6d7a-0fc7-410d-8e75-fa44b4c19a33
initrd /boot/intel-ucode.img /boot/initramfs-4.19-x86_64.img
}
menuentry 'Manjaro Linux (Kernel: 4.19.183-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.183-1-MANJARO x64-fallback-2aa751e8-bc50-4ae4-a017-2e6572ded936' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 2aa751e8-bc50-4ae4-a017-2e6572ded936
else
search --no-floppy --fs-uuid --set=root 2aa751e8-bc50-4ae4-a017-2e6572ded936
fi
linux /boot/vmlinuz-4.19-x86_64 root=UUID=2aa751e8-bc50-4ae4-a017-2e6572ded936 rw quiet resume=UUID=4daf6d7a-0fc7-410d-8e75-fa44b4c19a33
initrd /boot/initramfs-4.19-x86_64-fallback.img
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 10 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-D4D68983D6896698' {
savedefault
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 D4D68983D6896698
else
search --no-floppy --fs-uuid --set=root D4D68983D6896698
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
### BEGIN /etc/grub.d/60_memtest86+ ###
if [ "${grub_platform}" == "pc" ]; then
menuentry "Memory Tester (memtest86+)" --class memtest86 --class gnu --class tool {
search --fs-uuid --no-floppy --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 2aa751e8-bc50-4ae4-a017-2e6572ded936
linux16 /boot/memtest86+/memtest.bin
}
fi
### END /etc/grub.d/60_memtest86+ ###
test -d /sys/firmware/efi && echo efi || echo bios
bios
cat /etc/default/grub
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT=""
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 Hidden Menu, and optionally hide the timeout count
#GRUB_HIDDEN_TIMEOUT=5
#GRUB_HIDDEN_TIMEOUT_QUIET=true
# 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 `vbeinfo'
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/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#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="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
cat /etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
/dev/mapper/root-image / auto defaults 0 0
[manjaro@manjaro-cinnamon ~]$ sudo mhwd-kernel -li
Currently running: 5.10.26-1-MANJARO (linux510)
The following kernels are installed in your system:
Warnung: database file for 'core' does not exist (use '-Sy' to download)
Warnung: database file for 'extra' does not exist (use '-Sy' to download)
Warnung: database file for 'community' does not exist (use '-Sy' to download)
Warnung: database file for 'multilib' does not exist (use '-Sy' to download)
* linux510
Warnung: database file for 'core' does not exist (use '-Sy' to download)
Warnung: database file for 'extra' does not exist (use '-Sy' to download)
Warnung: database file for 'community' does not exist (use '-Sy' to download)
Warnung: database file for 'multilib' does not exist (use '-Sy' to download)
sudo ls /etc/mkinitcpio.d/*.preset
[manjaro@manjaro-cinnamon ~]$ sudo ls /etc/mkinitcpio.d/*.preset
/etc/mkinitcpio.d/linux510.preset
I’m not sure if I understand you correctly though. So I am in uefi now? If so how could this happen?
The installation (Win10+Manjaro) was done in bios mode (well, at least I’m pretty sure I did) and worked flawlessly the last years. The only thing I did recently was the latest Manjaro update.
I personally am absolutely fine with bios and don’t really need uefi (am I? Do I really need uefi?).
Since this actually is my wife’s pc and she prefers Win to Manjaro (no success so far ) I’m not sure yet what to do now.
There is issues with GRUB and dual-booting Windows - there has been a lot of writing on the issue all over the internet.
First there was something called boothole - then other security issues was discovered - but only with relation to dual-booting windows and with secure boot enabled.
With Manjaro you cannot boot your system if secure boot is enabled so the security implications is not serious as secure boot must be disabled while using Manjaro.
But the os-proper script was disabled on Manjaro as a security measure - I really have no insight as I only run Windows virtually.
If you are running a BIOS/MBR system - maybe BIOS/GPT then the boot info stored on the primary disk has been erased - probably by Windows.
Since it’s an old business laptop my wife bought second hand from her work I would say yes T430
But as mentioned before it is rock solid (something like the good old air cooled VWs )
This sounds good! I will try it as soon as I can get back to this pc.
My wife needs it for a couple of days and I don’t want to start any experiments right now.
Alright, I followed your proposal and everything seemed to be ok:
[manjaro-cinnamon manjaro]# 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/sda5]
--> mount: [/mnt]
--> mount: [/mnt/home]
[manjaro-cinnamon /]# grub-install --force --target=i386-pc --recheck --boot-directory=/boot /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
[manjaro-cinnamon /]# echo GRUB_DISABLE_OS_PROBER=false|sudo tee -a /etc/default/grub && sudo update-grub
GRUB_DISABLE_OS_PROBER=false
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Warning: os-prober will be executed to detect other bootable partitions.
It's 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.
Found Windows 10 on /dev/sda1
Found memtest86+ image: /boot/memtest86+/memtest.bin
done
[manjaro-cinnamon /]#
but when rebooting GRUB doesn’t find my Manjaro anymore