How to bring Windows back to my Grub menu

Hey everyone,

i have a windows installation on my second disk /dev/sda2 and a few months ago, it was showing up in my Grub boot-menu.
But then it somehow disappeared and now I need it back, because i want to dual-boot for some games.

I searched through a lot of other threads but couldn’t find the answer.
Here are a few things that i already checked:

  • Disable CSM (Legacy) boot - done
  • Disable Secure Boot - done
  • Enable AHCI - done
  • Use latest available firmware - done
  • Disable Optane Memory and Rapid Storage Technology (RST) - done
  • Disable RAID option - done
    • Disable Fast Boot (if unable to boot from USB) - done

When I run sudo update-grub it returns the following:

    ~  sudo update-grub                                                                               ✔ 
[sudo] Passwort für laurenz: 
GRUB-Konfigurationsdatei wird erstellt …
Thema gefunden: /usr/share/grub/themes/manjaro/theme.txt
Linux-Abbild gefunden: /boot/vmlinuz-5.15-x86_64
initrd-Abbild gefunden: /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warnung: Zur Erkennung anderer bootfähiger Partitionen wird os-prober ausgeführt.
Dessen Ausgabe wird zur Erkennung bootfähiger Programmdateien und Erzeugen neuer Boot-Einträge verwendet.
Bootmenü-Eintrag für UEFI-Firmware-Einstellungen wird hinzugefügt …
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: Warnung: Unbekannter Gerätetyp nvme0n1.

Here is the output of fdisk

[sudo] Passwort für laurenz: 
Festplatte /dev/nvme0n1: 931,51 GiB, 1000204886016 Bytes, 1953525168 Sektoren
Festplattenmodell: WDS100T3X0C-00SJG0                      
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 5FBDEEE7-EA8B-2D44-9474-528856035985

Gerät              Anfang       Ende   Sektoren  Größe Typ
/dev/nvme0n1p1       4096     618495     614400   300M EFI-System
/dev/nvme0n1p2     618496 1935065125 1934446630 922,4G Linux-Dateisystem
/dev/nvme0n1p3 1935065126 1953520064   18454939   8,8G Linux Swap


Festplatte /dev/sda: 223,57 GiB, 240057409536 Bytes, 468862128 Sektoren
Festplattenmodell: SanDisk SDSSDHII
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 05CA8FEA-4FB9-491D-A81D-5B298EC479C7

Gerät      Anfang      Ende  Sektoren  Größe Typ
/dev/sda1    2048     34815     32768    16M Microsoft reserviert
/dev/sda2   34816 468860927 468826112 223,6G Microsoft Basisdaten


Festplatte /dev/sdb: 931,51 GiB, 1000204886016 Bytes, 1953525168 Sektoren
Festplattenmodell: ST1000DM003-1SB1
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 4096 Bytes
E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 5371404B-8F87-4409-A08F-1DD97DC2EB47

Gerät      Anfang       Ende   Sektoren  Größe Typ
/dev/sdb1    2048 1519122184 1519120137 724,4G Linux-Dateisystem


Festplatte /dev/sdf: 29,31 GiB, 31466323968 Bytes, 61457664 Sektoren
Festplattenmodell: DT microDuo 3C  
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x00000000

Gerät      Boot Anfang     Ende Sektoren Größe Kn Typ
/dev/sdf1  *      2048 61457663 61455616 29,3G  c W95 FAT32 (LBA)

So the partitions are already all “gpt”.

Inxi output, if it helps…?

 inxi --admin --verbosity=7 --filter --no-host --width                                          ✔ 
System:
  Kernel: 5.15.65-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-5.15-x86_64
    root=UUID=d308b8a4-924c-4601-b983-c34485cd1d3a rw quiet apparmor=1
    security=apparmor resume=UUID=5ee1d153-9e4d-4840-9b3c-ff5fb8a50026
    udev.log_priority=3
  Desktop: KDE Plasma v: 5.25.5 tk: Qt v: 5.15.5 wm: kwin_wayland vt: 2
    dm: SDDM Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: Micro-Star model: Z370 KRAIT GAMING (MS-7B46) v: 1.0
    serial: <superuser required> UEFI: American Megatrends v: 1.A0
    date: 01/07/2020
Battery:
  Message: No system battery data found. Is one present?
Memory:
  RAM: total: 31.26 GiB used: 3.4 GiB (10.9%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges
    required.
CPU:
  Info: model: Intel Core i5-8600K bits: 64 type: MCP arch: Coffee Lake
    gen: core 8 level: v3 built: 2018 process: Intel 14nm family: 6
    model-id: 0x9E (158) stepping: 0xA (10) microcode: 0xF0
  Topology: cpus: 1x cores: 6 smt: <unsupported> cache: L1: 384 KiB
    desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB L3: 9 MiB
    desc: 1x9 MiB
  Speed (MHz): avg: 1975 high: 3986 min/max: 800/4400 scaling:
    driver: intel_pstate governor: powersave cores: 1: 800 2: 3986 3: 3132
    4: 1949 5: 1184 6: 800 bogomips: 43212
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 bmi1 bmi2 bts clflush
    clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64
    dtherm dts ept ept_ad erms est f16c flexpriority flush_l1d fma fpu
    fsgsbase fxsr ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida
    intel_pt invpcid invpcid_single lahf_lm lm mca mce md_clear mmx monitor
    movbe mpx msr mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm
    pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts rdrand rdseed rdtscp
    rep_good sdbg sep smap smep smx ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp
    syscall tm tm2 tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi
    vpid x2apic xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
    disabled
  Type: mds mitigation: Clear CPU buffers; SMT disabled
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT disabled
  Type: retbleed mitigation: IBRS
  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: IBRS, IBPB: conditional, RSB filling,
    PBRSB-eIBRS: Not affected
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort mitigation: TSX disabled
Graphics:
  Device-1: Intel CoffeeLake-S GT2 [UHD Graphics 630] vendor: Micro-Star MSI
    driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
    ports: active: HDMI-A-1 empty: DP-1,HDMI-A-2,HDMI-A-3 bus-ID: 00:02.0
    chip-ID: 8086:3e92 class-ID: 0380
  Device-2: AMD Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] vendor: Sapphire
    driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm)
    built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 16 ports:
    active: DP-4,HDMI-A-4 empty: DP-2,DP-3 bus-ID: 03:00.0 chip-ID: 1002:73bf
    class-ID: 0300
  Device-3: Microdia USB 2.0 Camera type: USB driver: snd-usb-audio,uvcvideo
    bus-ID: 1-14:8 chip-ID: 0c45:63ab class-ID: 0102 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.4 with: Xwayland v: 22.1.3
    compositor: kwin_wayland driver: X: loaded: amdgpu,modesetting
    unloaded: radeon alternate: fbdev,vesa gpu: i915,amdgpu d-rect: 6912x1728
    display-ID: 0
  Monitor-1: DP-4 pos: center res: 3072x1728 size: N/A modes: N/A
  Monitor-2: HDMI-A-1 pos: right res: 1920x1080 size: N/A modes: N/A
  Monitor-3: HDMI-A-4 pos: primary,left res: 1920x1080 size: N/A modes: N/A
  OpenGL: renderer: AMD Radeon RX 6800 (sienna_cichlid LLVM 14.0.6 DRM 3.42
    5.15.65-1-MANJARO) v: 4.6 Mesa 22.1.7 direct render: Yes
Audio:
  Device-1: Intel 200 Series PCH HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel bus-ID: 1-10:5 v: kernel bus-ID: 00:1f.3
    chip-ID: 047f:02f7 class-ID: 0300 chip-ID: 8086:a2f0 class-ID: 0403
    serial: <filter>
  Device-2: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel
    pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 03:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-3: Plantronics Plantronics BT600 type: USB
    driver: plantronics,snd-usb-audio,usbhid
  Device-4: Microdia USB 2.0 Camera type: USB driver: snd-usb-audio,uvcvideo
    bus-ID: 1-14:8 chip-ID: 0c45:63ab class-ID: 0102 serial: <filter>
  Device-5: Holtek HT82A834R Audio MCU type: USB
    driver: hid-generic,snd-usb-audio,usbhid bus-ID: 1-7.4:6 chip-ID: 04d9:2834
    class-ID: 0300
  Sound Server-1: ALSA v: k5.15.65-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.21 running: no
  Sound Server-3: PulseAudio v: 16.1 running: yes
  Sound Server-4: PipeWire v: 0.3.57 running: yes
Network:
  Device-1: Intel Ethernet I219-V vendor: Micro-Star MSI driver: e1000e
    v: kernel port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15b8 class-ID: 0200
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  Device-2: Microsoft Xbox 360 Wireless Adapter type: USB driver: xpad
    bus-ID: 1-13:7 chip-ID: 045e:0719 class-ID: ff00 serial: <filter>
  IF-ID-1: br-072c152a9f62 state: down mac: <filter>
  IP v4: <filter> scope: global broadcast: <filter>
  IF-ID-2: br-19bac65066b2 state: down mac: <filter>
  IP v4: <filter> scope: global broadcast: <filter>
  IF-ID-3: br-6be9848952c5 state: down mac: <filter>
  IP v4: <filter> scope: global broadcast: <filter>
  IF-ID-4: br-aa973f436ca7 state: up speed: 10000 Mbps duplex: unknown
    mac: <filter>
  Message: Output throttled. IPs: 2; Limit: 10; Override: --limit [1-x;-1
    all]
  IF-ID-5: docker0 state: down mac: <filter>
  Message: Output throttled. IPs: 1; Limit: 10; Override: --limit [1-x;-1
    all]
  IF-ID-6: vetha76d275 state: up speed: 10000 Mbps duplex: full
    mac: <filter>
  IF-ID-7: virbr0 state: down mac: <filter>
  Message: Output throttled. IPs: 1; Limit: 10; Override: --limit [1-x;-1
    all]
  WAN IP: <filter>
Bluetooth:
  Message: No bluetooth data found.
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 2.07 TiB used: 648.49 GiB (30.6%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
    model: WDS100T3X0C-00SJG0 size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 111110WD temp: 52.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: SanDisk model: SDSSDHII240G
    size: 223.57 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 00RL scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST1000DM003-1SB10C
    size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    type: HDD rpm: 7200 serial: <filter> rev: CC43 scheme: GPT
  ID-4: /dev/sdf maj-min: 8:80 type: USB vendor: Kingston model: DT microDuo
    3C size: 29.31 GiB block-size: physical: 512 B logical: 512 B type: N/A
    serial: <filter> rev: PMAP scheme: MBR
  SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
  Optical-1: /dev/sr0 vendor: HL-DT-ST model: BD-RE BH10LS30 rev: 1.01
    dev-links: cdrom
  Features: speed: 40 multisession: yes audio: yes dvd: yes
    rw: cd-r,cd-rw,dvd-r,dvd-ram state: running
Partition:
  ID-1: / raw-size: 922.42 GiB size: 906.86 GiB (98.31%) used: 648.48 GiB
    (71.5%) fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2 label: N/A
    uuid: d308b8a4-924c-4601-b983-c34485cd1d3a
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 5.4 MiB
    (1.8%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 label: NO_LABEL
    uuid: 8C6B-9D91
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/nvme0n1p3 maj-min: 259:3 label: swap
    uuid: 5ee1d153-9e4d-4840-9b3c-ff5fb8a50026
Unmounted:
  ID-1: /dev/sda1 maj-min: 8:1 size: 16 MiB fs: <superuser required>
    label: N/A uuid: N/A
  ID-2: /dev/sda2 maj-min: 8:2 size: 223.55 GiB fs: ntfs label: N/A
    uuid: 00461D84461D7B9A
  ID-3: /dev/sdb1 maj-min: 8:17 size: 724.37 GiB fs: ext4
    label: Festplatte Neu uuid: 8d2954fc-ff7f-41e1-9784-945a947b25b0
  ID-4: /dev/sdf1 maj-min: 8:81 size: 29.3 GiB fs: vfat label: USBOTG
    uuid: A315-96A0
USB:
  Hub-1: 1-0:1 info: Hi-speed hub with single TT ports: 16 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Hub-2: 1-7:2 info: Genesys Logic Hub ports: 4 rev: 2.0 speed: 480 Mb/s
    power: 100mA chip-ID: 05e3:0608 class-ID: 0900
  Device-1: 1-7.3:4 info: Solid Year Thermaltake MEKA G-Unit Gaming Keyboard
    type: Keyboard,HID driver: hid-generic,usbhid interfaces: 3 rev: 2.0
    speed: 12 Mb/s power: 100mA chip-ID: 060b:5253 class-ID: 0300
  Device-2: 1-7.4:6 info: Holtek HT82A834R Audio MCU type: Audio,HID
    driver: hid-generic,snd-usb-audio,usbhid interfaces: 4 rev: 1.1
    speed: 12 Mb/s power: 500mA chip-ID: 04d9:2834 class-ID: 0300
  Device-3: 1-8:3 info: ROCCAT Kone Pure Mouse type: Mouse,Keyboard
    driver: konepure,usbhid interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 200mA
    chip-ID: 1e7d:2dbe class-ID: 0300
  Device-4: 1-10:5 info: Plantronics Plantronics BT600 type: Audio,HID
    driver: plantronics,snd-usb-audio,usbhid interfaces: 4 rev: 2.0
    speed: 12 Mb/s power: 100mA chip-ID: 047f:02f7 class-ID: 0300
    serial: <filter>
  Device-5: 1-13:7 info: Microsoft Xbox 360 Wireless Adapter type: WiFi
    driver: xpad interfaces: 8 rev: 2.0 speed: 12 Mb/s power: 260mA
    chip-ID: 045e:0719 class-ID: ff00 serial: <filter>
  Device-6: 1-14:8 info: Microdia USB 2.0 Camera type: Video,Audio
    driver: snd-usb-audio,uvcvideo interfaces: 4 rev: 2.0 speed: 480 Mb/s
    power: 500mA chip-ID: 0c45:63ab class-ID: 0102 serial: <filter>
  Hub-3: 2-0:1 info: Super-speed hub ports: 10 rev: 3.0 speed: 5 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
  Device-1: 2-2:2 info: Kingston DT microDuo 3C type: Mass Storage
    driver: usb-storage interfaces: 1 rev: 3.0 speed: 5 Gb/s power: 504mA
    chip-ID: 0951:16ae class-ID: 0806 serial: <filter>
  Hub-4: 3-0:1 info: Hi-speed hub with single TT ports: 2 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Hub-5: 4-0:1 info: Super-speed hub ports: 2 rev: 3.1 speed: 10 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
  Device-1: 4-2:2 info: Transcend Information microSD/SD/CF UHS-II Card
    Reader [RDF8 RDF9] type: Mass Storage driver: usb-storage interfaces: 1
    rev: 3.0 speed: 5 Gb/s power: 800mA chip-ID: 8564:4000 class-ID: 0806
    serial: <filter>
Sensors:
  System Temperatures: cpu: 41.0 C mobo: N/A gpu: amdgpu temp: 65.0 C
    mem: 64.0 C
  Fan Speeds (RPM): N/A gpu: amdgpu fan: 0
Info:
  Processes: 288 Uptime: 14m wakeups: 0 Init: systemd v: 251
  default: graphical tool: systemctl Compilers: gcc: 12.2.0 alt: 9
  clang: 14.0.6 Packages: pm: pacman pkgs: 1795 libs: 429 tools: pamac,paru
  pm: flatpak pkgs: 0 Shell: Zsh v: 5.9 default: Bash v: 5.1.16
  running-in: konsole inxi: 3.3.21

efibootmgr:

efibootmgr --verbose                                                                           ✔ 
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,000C,0004
Boot0000* Manjaro       HD(1,GPT,af89325f-543f-7c4e-a1cd-51d90b231e78,0x1000,0x96000)/File(\EFI\MANJARO\GRUBX64.EFI)
      dp: 04 01 2a 00 01 00 00 00 00 10 00 00 00 00 00 00 00 60 09 00 00 00 00 00 5f 32 89 af 3f 54 4e 7c a1 cd 51 d9 0b 23 1e 78 02 02 / 04 04 36 00 5c 00 45 00 46 00 49 00 5c 00 4d 00 41 00 4e 00 4a 00 41 00 52 00 4f 00 5c 00 47 00 52 00 55 00 42 00 58 00 36 00 34 00 2e 00 45 00 46 00 49 00 00 00 / 7f ff 04 00
Boot0004* ubuntu        HD(1,GPT,af89325f-543f-7c4e-a1cd-51d90b231e78,0x1000,0x96000)/File(\EFI\UBUNTU\SHIMX64.EFI)
      dp: 04 01 2a 00 01 00 00 00 00 10 00 00 00 00 00 00 00 60 09 00 00 00 00 00 5f 32 89 af 3f 54 4e 7c a1 cd 51 d9 0b 23 1e 78 02 02 / 04 04 34 00 5c 00 45 00 46 00 49 00 5c 00 55 00 42 00 55 00 4e 00 54 00 55 00 5c 00 53 00 48 00 49 00 4d 00 58 00 36 00 34 00 2e 00 45 00 46 00 49 00 00 00 / 7f ff 04 00
Boot000C* UEFI OS       HD(1,GPT,af89325f-543f-7c4e-a1cd-51d90b231e78,0x1000,0x96000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f
      dp: 04 01 2a 00 01 00 00 00 00 10 00 00 00 00 00 00 00 60 09 00 00 00 00 00 5f 32 89 af 3f 54 4e 7c a1 cd 51 d9 0b 23 1e 78 02 02 / 04 04 30 00 5c 00 45 00 46 00 49 00 5c 00 42 00 4f 00 4f 00 54 00 5c 00 42 00 4f 00 4f 00 54 00 58 00 36 00 34 00 2e 00 45 00 46 00 49 00 00 00 / 7f ff 04 00
    data: 00 00 42 4f

Parted:

LANG=en sudo parted --list                                                                 INT ✘ 
Model: ATA SanDisk SDSSDHII (scsi)
Disk /dev/sda: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  17.8MB  16.8MB               Microsoft reserved partition  msftres
 2      17.8MB  240GB   240GB   ntfs         Basic data partition          msftdata


Model: ATA ST1000DM003-1SB1 (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  778GB  778GB  ext4


Model: Kingston DT microDuo 3C (scsi)
Disk /dev/sdf: 31.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  31.5GB  31.5GB  primary  fat32        boot, lba


Model: WDS100T3X0C-00SJG0 (nvme)
Disk /dev/nvme0n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name  Flags
 1      2097kB  317MB   315MB   fat32                 boot, esp
 2      317MB   991GB   990GB   ext4            root
 3      991GB   1000GB  9449MB  linux-swap(v1)        swap

And my grub configuration:

cat /etc/default/grub                                                                          ✔ 
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet apparmor=1 security=apparmor resume=UUID=5ee1d153-9e4d-4840-9b3c-ff5fb8a50026 udev.log_priority=3"
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

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# 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 'videoinfo'
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 this option to enable os-prober execution in the grub-mkconfig command
GRUB_DISABLE_OS_PROBER=false

# 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="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to ensure that the root filesystem is mounted read-only so that
# systemd-fsck can run the check automatically. We use 'fsck' by default, which
# needs 'rw' as boot parameter, to avoid delay in boot-time. 'fsck' needs to be
# removed from 'mkinitcpio.conf' to make 'systemd-fsck' work.
# See also Arch-Wiki: https://wiki.archlinux.org/index.php/Fsck#Boot_time_checking
#GRUB_ROOT_FS_RO=true
GRUB_DISABLE_OS_PROBER=false 

I really want to help you to easily debug this problem, that’s why i attached all the logs.
Do you need anything more, to find the error?

can you boot into windows from bios?

You mean if windows is selectable in the UEFI firmware? No I don’t see it there.
It just says Manjaro, some UEFI OS and Ubuntu, wherever this comes from…

so did you tried boot the UEFI OS? if yes and it didnt worked, then it looks like windows bootloader is gone

UEFI OS seems to be some sort of CLI:


So yes, it might be that the bootloader is completely gone.
Is there any recommended way to restore the windows bootloader and keep the dual-boot functionality?

you can repair it from windows usb - look on internet on how to repair windows boot loader … however it will remove the manjaro grub so afterwards you will have to reinstall manjaro grub from live usb via chroot:
manjaro-chroot -a
then reinstall grub:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck

then update it:
mkinitcpio -P && update-grub
exit chroot with:
exit
reboot

then back in manjaro edit grub, so that it is being shown during boot:
kate /etc/default/grub
and edit this line to look like this:
GRUB_TIMEOUT_STYLE=menu
save it and update grub:
sudo update-grub
reboot

2 Likes

Hey i found a solution :partying_face:

I created a Windows USB stick and went into the repair options.
I tried the automated startup repair, but it didn’t find the solution.

So i fired up the command line and executed the following:

diskpart
sel disk 0
list vol
sel vol 2 # (or your efi partition)
assign letter=XYZ: # choose a free letter
Exit
mkdir XYZ:/EFI/Microsoft/Boot # this directory was completely missing on my EFI partition
cd /d XYZ:/EFI/Microsoft/Boot
bcdboot C:\Windows /s :XYZ /f UEFI # iiuc this writes the bootloader into the current directory

Then i rebooted the PC and the Windows boot manager showed up in the UEFI settings again.
But it’s not very comfortable to boot like this, i wanted it to appear in the Grub boot manager.
So i just executed sudo update-grub and this time it was successful and added the Windows bootloader to the menu:

LANG=en sudo update-grub                                                                ✔  8s  
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-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.
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done

This way i added the bootloader to my existing EFI partition and did not have to reinstall Grub afterwards.
I guess when you do it with the Windows repair tools, it will just overwrite the existing EFI partition and delete Grub.

Thanks for pointing me in the right direction and hopefully this will help some future readers :slight_smile:

1 Like

From your previous topic where you list your partitions I noticed that your Windows is using BIOS/GPT

Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  17.8MB  16.8MB               Microsoft reserved partition  msftres
 2      17.8MB  240GB   240GB   ntfs         Basic data partition          msftdata

while your Manjaro is using EFI/GPT.

Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name  Flags
 1      2097kB  317MB   315MB   fat32                 boot, esp
 2      317MB   991GB   990GB   ext4            root
 3      991GB   1000GB  9449MB  linux-swap(v1)        swap

You cannot get Windows into the grub boot menu as the two are incompatible.

The only way to dualboot in this case is to use your firmware boot override - or as you did force Windows to boot in EFI mode.

Kudos - that was a clever workaround.

:+1:

2 Likes

Very interesting, thanks for the explanation of my fix :grin:
Now that I know that by executing the bcdboot command I force Windows to boot in EFI mode, everything makes much more sense.

I didn’t even know that the combination of BIOS and GPT does exist.
How do you recognize it? By the missing EFI partition?
I thought that one EFI partition for the whole system is enough?

No - the indicator is gpt and the small 16M partition starting at offset 1024 plus the ntfs partition.

That together with the Linux disk having the EFI partition lead me to think your previos Windows was BIOS/GPT.

GPT does not have a boot sector like MBR and required by BIOS. GPT instead offers a unformatted partition flagged as bios-boot (partition type EF02) as opposed to EFI which is fat32 (partition type EF00)

It is - but you are not limited to one - you can have as many as necessary - only one can be active at a time - it is usually the one the system booted from.

2 Likes

Good to know, thank you :slight_smile:

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