Grub update nie wykrywa i nie dodaje Windows 10 do listy

Co zrobić by grub poprzez update-grub wykrył i dodał do listy Windows 10?
Podstawowy ssd to Linux Manjaro jako normalny bios
HDD1 windows 10 na uefi
SSD1 windows 10 na uefi.

Update zwraca wynik poniżej i nie dodaje żadnego z podanych windowsów (chodzi by dodać ten z ssd1).

sudo update-grub
[sudo] password for martin:
Generating grub configuration file …
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.7-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-6.7-x86_64.img
Found initrd fallback image: /boot/initramfs-6.7-x86_64-fallback.img
Found linux image: /boot/vmlinuz-6.6-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-6.6-x86_64.img
Found initrd fallback image: /boot/initramfs-6.6-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.
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 „GitHub - Antynea/grub-btrfs: Include btrfs snapshots at boot options. (Grub menu)
Found memtest86+ image: /boot/memtest86+/memtest.bin
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
done

A OS-Prober masz zainstalowany i włączony, jak nie to to zrób

Jest i było zainstalowane domyślnie.

No to jak w końcu BIOS czy UEFI? W różnych trybach mogą się wzajemnie nie widzieć.

Linux bios
Windows UEFI. Obecnie by Windows odpalić to muszę to robić poprzez F12 w POST. Pewnie brakuje w grub czegoś z uefi

Podstawowy ssd to Linux Manjaro jako normalny bios

Adding boot menu entry for UEFI Firmware Settings …

No rzeczywiście - jak to w końcu jest?

Pokaż wynik z Manjaro:

sudo fdisk -l
find /sys/firmware/efi/efivars -type d

No i mamy odpowiedź: Grub w Linuksie BIOS nie załaduje Windowsa UEFI - oba systemy muszą pracować (być zainstalowane) w tym samym trybie. A swoją drogą to ja też mam podobnie zrobione: każdy system ma własną partycję UEFI a wybór systemu odbywa się przez wywołanie Boot Menu F12 przy starcie kompa dzięki temu nie mieszają sobie wzajemnie.

sudo fdisk -l
[sudo] password for martin:
Disk /dev/sda: 476,94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SSDPR-CX400-512-
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: 0xc01ce2b7

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1000214527 1000212480 476,9G 83 Linux

Disk /dev/sdb: 111,79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: Corsair Force GT
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: gpt
Disk identifier: 826D6F1F-3A78-4B6E-9262-00EA82E89879

Device Start End Sectors Size Type
/dev/sdb1 2048 206847 204800 100M EFI System
/dev/sdb2 206848 239615 32768 16M Microsoft reserved
/dev/sdb3 239616 233438176 233198561 111,2G Microsoft basic data
/dev/sdb4 233439232 234438655 999424 488M Windows recovery envir

Disk /dev/sdc: 1,82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WDC WD20EZRZ-00Z
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: E35A93C4-939C-4059-993C-B0AC0D929F9F

Device Start End Sectors Size Type
/dev/sdc1 2048 3907028991 3907026944 1,8T Linux filesystem

Disk /dev/sdd: 3,64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: WDC WD4000F9YZ-0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: EA962597-0C73-4546-B12A-15169B94D2C3

Device Start End Sectors Size Type
/dev/sdd1 2048 206847 204800 100M EFI System
/dev/sdd2 206848 239615 32768 16M Microsoft reserved
/dev/sdd3 239616 7199637503 7199397888 3,4T Microsoft basic dat
/dev/sdd4 7199637504 7812974191 613336688 292,5G Microsoft basic dat
/dev/sdd5 7812974592 7814033407 1058816 517M Windows recovery en

Disk /dev/sde: 7,4 GiB, 7948206080 bytes, 15523840 sectors
Disk model: Storage Device
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/sde1 * 8192 15523839 15515648 7,4G b W95 FAT32
[martin@martin-6475fa4 ~]$ find /sys/firmware/efi/efivars -type d
find: ‘/sys/firmware/efi/efivars’: No such file or directory

Tak jak pisaliśmy wczesniej, trzeba by przerobić Manjaro na UEFI. Niestety bez utworzenia tablicy partycji GPT na dysku /dev/sda się nie obejdzie. Oznacza to utratę danych. Ponieważ widzę, że Manjaro siedzi na jednej partycji, system i /home, potrzebujesz utworzyć tablicę partycji GPT i minimum dwie partycje:
- partycja 512MB, fat32, flagi: boot, esp
- partycja np. ext4 reszta miejsca.

Partycja ESP/EFI może być też na końcu dysku - bez znaczenia.

Wcześniej oczywiście musisz wszystkie dane z Manjaro zabezpieczyć na innym dysku - miejsce masz.

Jest też opcja z wykonaniem kopii wszystkich plików Manjaro przy pomocy np. rsync lub tar z odpowiednimi flagami. Potem trzeba przygotować dysk dla EFI, przywrócić system (siłą rzeczy bez /boot/efi lub /boot. Na końcu, po podmontowaniu partycji EFI, chroot i instalacja grub2-efi.

Łatwiej chyba będzie jednak wykonać czystą instalację i przywrócić pliki osobiste.

Odpuszczę nie ma co ruszać:)