[SOLVED] Dual boot on lenovo thinkpad T490s

I attempted a dual boot of the i3 variant on my thinkpad but it wouldn’t load grub and directly boots to windows. If I boot into my liveUSB and select the manjaro efi file it throws an error saying “not a valid root file”. These are the available efi files:

(hd0,gpt5)/efi/Manjaro/grubx64.efi
(hd0,gpt5)/efi/boot/bootx64.efi
(hd0,gpt1)/efi/Boot/bootx64.efi
(hd0,gpt1)/efi/Microsoft/Boot/bootmgr.efi
(hd0,gpt1)/efi/Microsoft/Boot/memtest.efi
(hd0,gpt1)/efi/Microsoft/Boot/bootmgfw.efi

The corresponding root and chain loader for the manjaro efi is (hd0,gpt5). However, if I change the root to (hd0,gpt5) to anything other than that (i.e, (hd0,gpt3), (hd0,gpt4), (hd0,gpt1) etc) the manjaro efi takes me to manjaro login and the boot/bootx64.efi to grub from where I can access the manjaro login as well.

I have disabled secure boot. I have also changed the boot order to have grub on top (confirmed from boot setup as well).

Partitions:

Model: SanDisk Cruzer Blade (scsi)
Disk /dev/sda: 15.6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 2      2464MB  2469MB  4194kB  primary               esp


Model: SAMSUNG MZVLB512HBJQ-000L7 (nvme)
Disk /dev/nvme0n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system     Name                          Flags
 1      1049kB  274MB  273MB   fat32           EFI system partition          boot, hidden, esp
 2      274MB   290MB  16.8MB                  Microsoft reserved partition  msftres
 3      290MB   165GB  165GB                   Basic data partition          msftdata
 5      165GB   166GB  537MB   fat32                                         boot, esp
 6      166GB   182GB  16.8GB  linux-swap(v1)                                swap
 7      182GB   511GB  329GB   ext4
 4      511GB   512GB  1049MB  ntfs            Basic data partition          hidden, diag

System info:

System:
  Kernel: 5.9.11-3-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.9-x86_64 
  root=UUID=fe6de777-d017-44ae-aad0-7a9ee22bd1b2 rw quiet apparmor=1 
  security=apparmor udev.log_priority=3 
  Desktop: i3 4.19 info: i3bar dm: LightDM 1.30.0 Distro: Manjaro Linux 
Machine:
  Type: Laptop System: LENOVO product: 20NXS2U500 v: ThinkPad T490s 
  serial: <filter> Chassis: type: 10 serial: <filter> 
  Mobo: LENOVO model: 20NXS2U500 v: SDK0J40697 WIN serial: <filter> 
  UEFI: LENOVO v: N2JET91W (1.69 ) date: 07/07/2020 
Battery:
  ID-1: BAT0 charge: 54.9 Wh condition: 57.1/57.0 Wh (100%) volts: 13.2/11.5 
  model: SMP 02DL014 type: Li-poly serial: <filter> status: Charging cycles: 2 
CPU:
  Info: Quad Core model: Intel Core i7-8665U socket: BGA1528 (U3E1) 
  note: check bits: 64 type: MT MCP arch: Kaby Lake family: 6 
  model-id: 8E (142) stepping: C (12) microcode: DE L1 cache: 256 KiB 
  L2 cache: 8192 KiB L3 cache: 8000 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 33615 
  Speed: 700 MHz min/max: 400/4800 MHz base/boost: 1900/2100 volts: 0.8 V 
  ext-clock: 100 MHz Core speeds (MHz): 1: 700 2: 700 3: 700 4: 700 5: 700 
  6: 700 7: 700 8: 700 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf status: Not affected 
  Type: mds status: Not affected 
  Type: meltdown status: Not affected 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB filling 
  Type: srbds mitigation: TSX disabled 
  Type: tsx_async_abort mitigation: TSX disabled 
Graphics:
  Device-1: Intel UHD Graphics 620 vendor: Lenovo driver: i915 v: kernel 
  bus ID: 00:02.0 chip ID: 8086:3ea0 
  Device-2: Lite-On Integrated Camera type: USB driver: uvcvideo bus ID: 1-8:4 
  chip ID: 04ca:7070 
  Display: server: X.Org 1.20.10 compositor: picom v: git-dac85 driver: intel 
  unloaded: modesetting alternate: fbdev,vesa display ID: :0 screens: 1 
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") 
  s-diag: 582mm (22.9") 
  Monitor-1: eDP1 res: 1920x1080 hz: 60 dpi: 157 size: 310x170mm (12.2x6.7") 
  diag: 354mm (13.9") 
  OpenGL: renderer: Mesa Intel UHD Graphics 620 (WHL GT2) v: 4.6 Mesa 20.2.3 
  direct render: Yes 
Audio:
  Device-1: Intel Cannon Point-LP High Definition Audio vendor: Lenovo 
  driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_sof_pci 
  bus ID: 00:1f.3 chip ID: 8086:9dc8 
  Sound Server: ALSA v: k5.9.11-3-MANJARO 
Network:
  Device-1: Intel Cannon Point-LP CNVi [Wireless-AC] driver: iwlwifi v: kernel 
  port: 3000 bus ID: 00:14.3 chip ID: 8086:9df0 
  IF: wlp0s20f3 state: up mac: <filter> 
  Device-2: Intel Ethernet I219-LM vendor: Lenovo driver: e1000e v: kernel 
  port: efa0 bus ID: 00:1f.6 chip ID: 8086:15bd 
  IF: enp0s31f6 state: down mac: <filter> 
Drives:
  Local Storage: total: 491.50 GiB used: 5.85 GiB (1.2%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 vendor: Samsung model: MZVLB512HBJQ-000L7 
  size: 476.94 GiB block size: physical: 512 B logical: 512 B speed: 31.6 Gb/s 
  lanes: 4 serial: <filter> rev: 4M2QEXF7 scheme: GPT 
  ID-2: /dev/sda type: USB vendor: SanDisk model: Cruzer Blade size: 14.56 GiB 
  block size: physical: 512 B logical: 512 B serial: <filter> rev: 1.27 
  scheme: MBR 
Partition:
  ID-1: / raw size: 306.14 GiB size: 300.33 GiB (98.10%) used: 5.85 GiB (1.9%) 
  fs: ext4 block size: 4096 B dev: /dev/nvme0n1p7 
Swap:
  Alert: No Swap data was found. 
Sensors:
  System Temperatures: cpu: 47.0 C mobo: N/A 
  Fan Speeds (RPM): cpu: 0 
Info:
  Processes: 203 Uptime: 30m Memory: 15.30 GiB used: 781.6 MiB (5.0%) 
  Init: systemd v: 246 Compilers: gcc: 10.2.0 Packages: pacman: 1038 lib: 282 
  Shell: Bash (sudo) v: 5.0.18 running in: urxvtd inxi: 3.1.08 

Can someone please help me out. Greatly appreciate the help!

Hello @surya :wink:

It looks like you have 2 efi partitions. One for Windows and one for Manjaro.

The only way in this scenario is using the UEFI bootloader to boot into Windows or Manjaro if your UEFI supports more than one efi partition.

In order to use grub to switch between Manjaro and Windows, you will have to reinstall grub on /dev/nvme0n1p1 instead of /dev/nvme0n1p5 and let Manjaro and Windows share one efi partition. Also keep in mind that the UUID will change. Check also /etc/fstab.

https://wiki.manjaro.org/index.php?title=GRUB/Restore_the_GRUB_Bootloader

Thanks a lot for the reply!

It looks like you have 2 efi partitions. One for Windows and one for Manjaro.

Yes I thought it would be a safer thing to do since I didn’t wanna break the windows boot.

I was under the assumption all UEFI supports multiple partitions. How can I check if my device supports this?

Only one EFI partion is allowed to have the boot flag set. :wink:

1 Like

Simply boot into UEFI, check the boot entries and if only Windows is displayed there, then it does not support more than one efi partition. Mostly displayed as “boot-order configuration”.

True it is safer, since windows like to overwrite grub on updates. When you choose in the UEFI to boot Manjaro first, check there if Windows has an entry on grub. If so, then stick to boot Manjaro first.

1 Like

Unfortunately, I’m away from my laptop for a few days. I’ll give it a shot and update how it went.

Just in case things do not work out with your intended setup, thought I mention that the dual boot with i3 manjaro works

I am dual booting manjaro i3wm on thinkpad t490s, but only have one harddisk . I did not encounter any problems. I installed windows first, created a free partition, then manjaro. No separate efi partition thats the easiest.

Just make a free partition after your ntfs partition in windows, then select it at install or select the second hardrive if you want to install manjaro on a separate hardrive. I only have one efi partition. Manjaro is first in the grub list automatically.

1 Like

That is good to know. Thank you!

Reinstalled "keep"ing the windows boot partition and using it as /boot/efi. Boots to manjaro now.

Thank you very much guys!

I’m still curious to understand why different partitions don’t work. I have another HP laptop with an arch installation which is using a different partition for boot. Maybe it all depends on the UEFI implementation?