You are not logged in.

#1 2018-09-03 11:05:47

effeeffe
Member
Registered: 2017-10-18
Posts: 15

[Solved] GRUB and os-prober do not see Windows 10 on a different drive

Setup:
- I am on a HP laptop with a SSD drive and a HDD drive, using Arch on the former and Windows 10 on the latter.
- Both were installed in UEFI mode.
- Both the disks are partitioned using GPT.
- Secure Boot is disabled.

I installed Windows 10 on the HDD, disabled hibernation and fast startup, and then installed Arch on the SSD. I cannot boot Windows though, meaning os-prober (and thus GRUB) cannot detect it.

If I run os-prober (after mounting the Windows partition) I get no output, and indeed the generated grub.cfg does not have a Windows entry.

I installed ntfs-3g and I can successfully mount, read and write the Windows NTFS partition, so I do not think it is damaged.

These are my current partition tables (sda is the Linux SSD, sdb is the Windows HDD):

# fdisk -l
Disk /dev/sda: 232,9 GiB, 250059350016 bytes, 488397168 sectors
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: DCC5AAB7-C32F-6A4A-BA47-00E20C6E37E7

Device        Start       End   Sectors   Size Type
/dev/sda1      2048   1128447   1126400   550M EFI System
/dev/sda2   1128448   9517055   8388608     4G Linux swap
/dev/sda3   9517056  93403135  83886080    40G Linux filesystem
/dev/sda4  93403136 488397134 394993999 188,4G Linux filesystem


Disk /dev/sdb: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
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: D0E8E908-03D5-4C95-B4F6-94AEB2E7D19C

Device         Start        End    Sectors   Size Type
/dev/sdb1       2048      34815      32768    16M Microsoft reserved
/dev/sdb2      34816  409602047  409567232 195,3G Microsoft basic data
/dev/sdb3  409602048 1953523711 1543921664 736,2G Linux filesystem
$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232,9G  0 disk 
├─sda1   8:1    0   550M  0 part /boot
├─sda2   8:2    0     4G  0 part [SWAP]
├─sda3   8:3    0    40G  0 part /
└─sda4   8:4    0 188,4G  0 part /home
sdb      8:16   0 931,5G  0 disk 
├─sdb1   8:17   0    16M  0 part 
├─sdb2   8:18   0 195,3G  0 part /mnt/win
└─sdb3   8:19   0 736,2G  0 part /mnt/backup

I did the same thing on another PC except everything was on the same disk, and it worked, meaning os-prober was able to detect Windows. Therefore I assume the problem is caused by having two drives.

I read the relevant wiki: https://wiki.archlinux.org/index.php/Du … FI_systems
As you can see from the output above, I *do not* have an EFI system partition on the HDD, only on the SSD. Is this ok?
I tried to do what is suggested here: https://wiki.archlinux.org/index.php/GR … menu_entry
I had to change the path accordingly since they seem to be different in Windows 10, but the new menu entry does not work: I get an error saying that I should use the Windows disk and fix problems... but I am afraid that it will mess up my existing setup even more overwriting GRUB. I can take a picture of this error if this is useful.

Any suggestion on how I should proceed?

Last edited by effeeffe (2018-09-03 16:48:39)

Offline

#2 2018-09-03 14:07:59

erock
Member
Registered: 2018-09-03
Posts: 4

Re: [Solved] GRUB and os-prober do not see Windows 10 on a different drive

Was Windows installed in UEFI mode? If so, the Windows installer should have created an EFI system partition and put its bootloader there. Do you have a "/EFI/Microsoft" folder in your EFI partition? If not, perhaps you may have to reinstall Windows in UEFI mode.

Offline

#3 2018-09-03 14:16:01

erock
Member
Registered: 2018-09-03
Posts: 4

Re: [Solved] GRUB and os-prober do not see Windows 10 on a different drive

Sorry, just re-read that you did install Windows in UEFI mode.

Could you post the output of "efibootmgr -v" as root?

Offline

#4 2018-09-03 15:32:39

effeeffe
Member
Registered: 2017-10-18
Posts: 15

Re: [Solved] GRUB and os-prober do not see Windows 10 on a different drive

erock wrote:

Was Windows installed in UEFI mode? If so, the Windows installer should have created an EFI system partition and put its bootloader there. Do you have a "/EFI/Microsoft" folder in your EFI partition? If not, perhaps you may have to reinstall Windows in UEFI mode.

Windows made a 16 MB partition of reserved data, however I don't know anything else about it because the file system is unknown to Arch and I cannot mount it.

There is an EFI folder in the Windows partition,

erock wrote:

Sorry, just re-read that you did install Windows in UEFI mode.

Could you post the output of "efibootmgr -v" as root?

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0000,2001,2002,2004
Boot0000* Windows Boot Manager	HD(1,GPT,4b580374-4aef-044d-8577-b22bb002c2e9,0x800,0x113000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
Boot0001* GRUB	HD(1,GPT,4b580374-4aef-044d-8577-b22bb002c2e9,0x800,0x113000)/File(\EFI\GRUB\grubx64.efi)
Boot2001* EFI USB Device	RC
Boot2002* EFI DVD/CDROM	RC
Boot3001* Internal Hard Disk or Solid State Disk	RC

The first entry seems relevant, but the path to the bootmgfw.efi file seems wrong, I explored the partition and the file is located at Windows/Boot/EFI/bootmgfw.efi.

EDIT: ok the path is right, see following posts. It refers to the ESP, no to the Windows partition.

Last edited by effeeffe (2018-09-03 15:57:15)

Offline

#5 2018-09-03 15:39:17

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,728

Re: [Solved] GRUB and os-prober do not see Windows 10 on a different drive

the EFI Microsoft  folder should be in your EFI system partition. Did you overwrite the Windows generated EFI partition when you expanded it? By default Windows usually creates a 100MB EFI partition. It looks like you overwrote that and are hence unable to boot it. Google for a way to repair your Windows EFI boot loader if that is the case.

What's the output of

tree /boot #Needs tree package

Offline

#6 2018-09-03 15:55:06

effeeffe
Member
Registered: 2017-10-18
Posts: 15

Re: [Solved] GRUB and os-prober do not see Windows 10 on a different drive

V1del wrote:

the EFI Microsoft  folder should be in your EFI system partition. Did you overwrite the Windows generated EFI partition when you expanded it? By default Windows usually creates a 100MB EFI partition. It looks like you overwrote that and are hence unable to boot it. Google for a way to repair your Windows EFI boot loader if that is the case.

I only manipulated the HDD (sdb) when installing Windows, and only manipulated the SSD (sda) when installing Arch. I don't know if Windows automatically touches other disks too during installation.

V1del wrote:

What's the output of

tree /boot #Needs tree package
$ sudo tree /boot
/boot
├── EFI
│   ├── GRUB
│   │   └── grubx64.efi
│   └── Microsoft
│       └── Boot
│           ├── bg-BG
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── bootmgfw.efi
│           ├── bootmgr.efi
│           ├── bootspaces.dll
│           ├── boot.stl
│           ├── cs-CZ
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── da-DK
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── de-DE
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── el-GR
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── en-GB
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── en-US
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── es-ES
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── es-MX
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── et-EE
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── fi-FI
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── fr-CA
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── fr-FR
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── hr-HR
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── hu-HU
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── it-IT
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── ja-JP
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── ko-KR
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── lt-LT
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── lv-LV
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── memtest.efi
│           ├── nb-NO
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── nl-NL
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── pl-PL
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── pt-BR
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── pt-PT
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── qps-ploc
│           │   └── memtest.efi.mui
│           ├── ro-RO
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── ru-RU
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── sk-SK
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── sl-SI
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── sr-Latn-RS
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── sv-SE
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── tr-TR
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           ├── uk-UA
│           │   ├── bootmgfw.efi.mui
│           │   └── bootmgr.efi.mui
│           ├── updaterevokesipolicy.p7b
│           ├── winsipolicy.p7b
│           ├── zh-CN
│           │   ├── bootmgfw.efi.mui
│           │   ├── bootmgr.efi.mui
│           │   └── memtest.efi.mui
│           └── zh-TW
│               ├── bootmgfw.efi.mui
│               ├── bootmgr.efi.mui
│               └── memtest.efi.mui
├── grub
│   ├── fonts
│   │   └── unicode.pf2
│   ├── grub.cfg
│   ├── grub.cfg.example
│   ├── grubenv
│   ├── locale
│   │   ├── ast.mo
│   │   ├── ca.mo
│   │   ├── da.mo
│   │   ├── de_CH.mo
│   │   ├── de@hebrew.mo
│   │   ├── de.mo
│   │   ├── en@arabic.mo
│   │   ├── en@hebrew.mo
│   │   ├── en@piglatin.mo
│   │   ├── en@quot.mo
│   │   ├── eo.mo
│   │   ├── es.mo
│   │   ├── fi.mo
│   │   ├── fr.mo
│   │   ├── gl.mo
│   │   ├── hr.mo
│   │   ├── hu.mo
│   │   ├── id.mo
│   │   ├── it.mo
│   │   ├── ja.mo
│   │   ├── ko.mo
│   │   ├── lt.mo
│   │   ├── nb.mo
│   │   ├── nl.mo
│   │   ├── pa.mo
│   │   ├── pl.mo
│   │   ├── pt_BR.mo
│   │   ├── ru.mo
│   │   ├── sl.mo
│   │   ├── sr.mo
│   │   ├── sv.mo
│   │   ├── tr.mo
│   │   ├── uk.mo
│   │   ├── vi.mo
│   │   ├── zh_CN.mo
│   │   └── zh_TW.mo
│   ├── themes
│   │   └── starfield
│   │       ├── blob_w.png
│   │       ├── boot_menu_c.png
│   │       ├── boot_menu_e.png
│   │       ├── boot_menu_ne.png
│   │       ├── boot_menu_n.png
│   │       ├── boot_menu_nw.png
│   │       ├── boot_menu_se.png
│   │       ├── boot_menu_s.png
│   │       ├── boot_menu_sw.png
│   │       ├── boot_menu_w.png
│   │       ├── COPYING.CC-BY-SA-3.0
│   │       ├── dejavu_10.pf2
│   │       ├── dejavu_12.pf2
│   │       ├── dejavu_14.pf2
│   │       ├── dejavu_16.pf2
│   │       ├── dejavu_bold_14.pf2
│   │       ├── README
│   │       ├── slider_c.png
│   │       ├── slider_n.png
│   │       ├── slider_s.png
│   │       ├── starfield.png
│   │       ├── terminal_box_c.png
│   │       ├── terminal_box_e.png
│   │       ├── terminal_box_ne.png
│   │       ├── terminal_box_n.png
│   │       ├── terminal_box_nw.png
│   │       ├── terminal_box_se.png
│   │       ├── terminal_box_s.png
│   │       ├── terminal_box_sw.png
│   │       ├── terminal_box_w.png
│   │       └── theme.txt
│   ├── unicode.pf2
│   └── x86_64-efi
│       ├── acpi.mod
│       ├── adler32.mod
│       ├── affs.mod
│       ├── afs.mod
│       ├── ahci.mod
│       ├── all_video.mod
│       ├── aout.mod
│       ├── appleldr.mod
│       ├── archelp.mod
│       ├── ata.mod
│       ├── at_keyboard.mod
│       ├── backtrace.mod
│       ├── bfs.mod
│       ├── bitmap.mod
│       ├── bitmap_scale.mod
│       ├── blocklist.mod
│       ├── boot.mod
│       ├── boottime.mod
│       ├── bsd.mod
│       ├── bswap_test.mod
│       ├── btrfs.mod
│       ├── bufio.mod
│       ├── cacheinfo.mod
│       ├── cat.mod
│       ├── cbfs.mod
│       ├── cbls.mod
│       ├── cbmemc.mod
│       ├── cbtable.mod
│       ├── cbtime.mod
│       ├── chain.mod
│       ├── cmdline_cat_test.mod
│       ├── cmp.mod
│       ├── cmp_test.mod
│       ├── command.lst
│       ├── configfile.mod
│       ├── core.efi
│       ├── cpio_be.mod
│       ├── cpio.mod
│       ├── cpuid.mod
│       ├── crc64.mod
│       ├── cryptodisk.mod
│       ├── crypto.lst
│       ├── crypto.mod
│       ├── cs5536.mod
│       ├── ctz_test.mod
│       ├── datehook.mod
│       ├── date.mod
│       ├── datetime.mod
│       ├── diskfilter.mod
│       ├── disk.mod
│       ├── div.mod
│       ├── div_test.mod
│       ├── dm_nv.mod
│       ├── echo.mod
│       ├── efifwsetup.mod
│       ├── efi_gop.mod
│       ├── efinet.mod
│       ├── efi_uga.mod
│       ├── ehci.mod
│       ├── elf.mod
│       ├── eval.mod
│       ├── exfat.mod
│       ├── exfctest.mod
│       ├── ext2.mod
│       ├── extcmd.mod
│       ├── fat.mod
│       ├── file.mod
│       ├── fixvideo.mod
│       ├── font.mod
│       ├── fshelp.mod
│       ├── fs.lst
│       ├── functional_test.mod
│       ├── gcry_arcfour.mod
│       ├── gcry_blowfish.mod
│       ├── gcry_camellia.mod
│       ├── gcry_cast5.mod
│       ├── gcry_crc.mod
│       ├── gcry_des.mod
│       ├── gcry_dsa.mod
│       ├── gcry_idea.mod
│       ├── gcry_md4.mod
│       ├── gcry_md5.mod
│       ├── gcry_rfc2268.mod
│       ├── gcry_rijndael.mod
│       ├── gcry_rmd160.mod
│       ├── gcry_rsa.mod
│       ├── gcry_seed.mod
│       ├── gcry_serpent.mod
│       ├── gcry_sha1.mod
│       ├── gcry_sha256.mod
│       ├── gcry_sha512.mod
│       ├── gcry_tiger.mod
│       ├── gcry_twofish.mod
│       ├── gcry_whirlpool.mod
│       ├── geli.mod
│       ├── gettext.mod
│       ├── gfxmenu.mod
│       ├── gfxterm_background.mod
│       ├── gfxterm_menu.mod
│       ├── gfxterm.mod
│       ├── gptsync.mod
│       ├── grub.efi
│       ├── gzio.mod
│       ├── halt.mod
│       ├── hashsum.mod
│       ├── hdparm.mod
│       ├── hello.mod
│       ├── help.mod
│       ├── hexdump.mod
│       ├── hfs.mod
│       ├── hfspluscomp.mod
│       ├── hfsplus.mod
│       ├── http.mod
│       ├── iorw.mod
│       ├── iso9660.mod
│       ├── jfs.mod
│       ├── jpeg.mod
│       ├── keylayouts.mod
│       ├── keystatus.mod
│       ├── ldm.mod
│       ├── legacycfg.mod
│       ├── legacy_password_test.mod
│       ├── linux16.mod
│       ├── linux.mod
│       ├── loadbios.mod
│       ├── loadenv.mod
│       ├── loopback.mod
│       ├── lsacpi.mod
│       ├── lsefimmap.mod
│       ├── lsefi.mod
│       ├── lsefisystab.mod
│       ├── lsmmap.mod
│       ├── ls.mod
│       ├── lspci.mod
│       ├── lssal.mod
│       ├── luks.mod
│       ├── lvm.mod
│       ├── lzopio.mod
│       ├── macbless.mod
│       ├── macho.mod
│       ├── mdraid09_be.mod
│       ├── mdraid09.mod
│       ├── mdraid1x.mod
│       ├── memdisk.mod
│       ├── memrw.mod
│       ├── minicmd.mod
│       ├── minix2_be.mod
│       ├── minix2.mod
│       ├── minix3_be.mod
│       ├── minix3.mod
│       ├── minix_be.mod
│       ├── minix.mod
│       ├── mmap.mod
│       ├── moddep.lst
│       ├── modinfo.sh
│       ├── morse.mod
│       ├── mpi.mod
│       ├── msdospart.mod
│       ├── mul_test.mod
│       ├── multiboot2.mod
│       ├── multiboot.mod
│       ├── nativedisk.mod
│       ├── net.mod
│       ├── newc.mod
│       ├── nilfs2.mod
│       ├── normal.mod
│       ├── ntfscomp.mod
│       ├── ntfs.mod
│       ├── odc.mod
│       ├── offsetio.mod
│       ├── ohci.mod
│       ├── part_acorn.mod
│       ├── part_amiga.mod
│       ├── part_apple.mod
│       ├── part_bsd.mod
│       ├── part_dfly.mod
│       ├── part_dvh.mod
│       ├── part_gpt.mod
│       ├── partmap.lst
│       ├── part_msdos.mod
│       ├── part_plan.mod
│       ├── part_sun.mod
│       ├── part_sunpc.mod
│       ├── parttool.lst
│       ├── parttool.mod
│       ├── password.mod
│       ├── password_pbkdf2.mod
│       ├── pata.mod
│       ├── pbkdf2.mod
│       ├── pbkdf2_test.mod
│       ├── pcidump.mod
│       ├── play.mod
│       ├── png.mod
│       ├── priority_queue.mod
│       ├── probe.mod
│       ├── procfs.mod
│       ├── progress.mod
│       ├── raid5rec.mod
│       ├── raid6rec.mod
│       ├── random.mod
│       ├── read.mod
│       ├── reboot.mod
│       ├── regexp.mod
│       ├── reiserfs.mod
│       ├── relocator.mod
│       ├── romfs.mod
│       ├── scsi.mod
│       ├── search_fs_file.mod
│       ├── search_fs_uuid.mod
│       ├── search_label.mod
│       ├── search.mod
│       ├── serial.mod
│       ├── setjmp.mod
│       ├── setjmp_test.mod
│       ├── setpci.mod
│       ├── sfs.mod
│       ├── shift_test.mod
│       ├── signature_test.mod
│       ├── sleep.mod
│       ├── sleep_test.mod
│       ├── spkmodem.mod
│       ├── squash4.mod
│       ├── syslinuxcfg.mod
│       ├── tar.mod
│       ├── terminal.lst
│       ├── terminal.mod
│       ├── terminfo.mod
│       ├── test_blockarg.mod
│       ├── testload.mod
│       ├── test.mod
│       ├── testspeed.mod
│       ├── tftp.mod
│       ├── tga.mod
│       ├── time.mod
│       ├── trig.mod
│       ├── tr.mod
│       ├── true.mod
│       ├── udf.mod
│       ├── ufs1_be.mod
│       ├── ufs1.mod
│       ├── ufs2.mod
│       ├── uhci.mod
│       ├── usb_keyboard.mod
│       ├── usb.mod
│       ├── usbms.mod
│       ├── usbserial_common.mod
│       ├── usbserial_ftdi.mod
│       ├── usbserial_pl2303.mod
│       ├── usbserial_usbdebug.mod
│       ├── usbtest.mod
│       ├── verify.mod
│       ├── video_bochs.mod
│       ├── video_cirrus.mod
│       ├── video_colors.mod
│       ├── video_fb.mod
│       ├── videoinfo.mod
│       ├── video.lst
│       ├── video.mod
│       ├── videotest_checksum.mod
│       ├── videotest.mod
│       ├── xfs.mod
│       ├── xnu.mod
│       ├── xnu_uuid.mod
│       ├── xnu_uuid_test.mod
│       ├── xzio.mod
│       ├── zfscrypt.mod
│       ├── zfsinfo.mod
│       └── zfs.mod
├── initramfs-linux-fallback.img
├── initramfs-linux.img
├── initramfs-linux-lts-fallback.img
├── initramfs-linux-lts.img
├── intel-ucode.img
├── vmlinuz-linux
└── vmlinuz-linux-lts

46 directories, 448 files

There seems to be Windows EFI stuff indeed, so this is the path the output of efibootmgr was referring to. I guess it makes sense.

Update: from the grub I opened the shell, then exit and it prompted me with a menu allowing me to choose either the GRUB boot loader or the Microsoft one, both from the SSD; I guess this corresponds to what the output above shows? Anyway, I chose the Windows one but I got the same error I was talking about in the first post, telling me to launch the repair procedure from the Windows installer. Which would probably in turn override GRUB, I guess...

Last edited by effeeffe (2018-09-03 15:56:18)

Offline

#7 2018-09-03 16:22:22

erock
Member
Registered: 2018-09-03
Posts: 4

Re: [Solved] GRUB and os-prober do not see Windows 10 on a different drive

In your GRUB configuration file, note that the Windows entry should point to "\EFI\Microsoft\Boot\bootmgfw.efi" in the EFI system partition, not "Windows/Boot/EFI/bootmgfw.efi" in the main Windows partition.

Could you post your GRUB config file entry for Windows?

Offline

#8 2018-09-03 16:48:15

effeeffe
Member
Registered: 2017-10-18
Posts: 15

Re: [Solved] GRUB and os-prober do not see Windows 10 on a different drive

erock wrote:

In your GRUB configuration file, note that the Windows entry should point to "\EFI\Microsoft\Boot\bootmgfw.efi" in the EFI system partition, not "Windows/Boot/EFI/bootmgfw.efi" in the main Windows partition.

Could you post your GRUB config file entry for Windows?

No entry was generated, since os-prober was not seeing the partition. I also tried to manually add the entry following the wiki instruction but it did not work.

However, I finally solved the problem by getting the Windows installer and running the "fix boot problems" tool (or something similar, do not remember the exact name). To my surprise, it did not messed up GRUB... I do not know what it did, but now os-prober correctly sees Windows, the GRUB entry is generated and everything works.

Guess I should have more faith in Microsoft tools... thanks to both of you for your help.

For the record, this is the generated entry:

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-0C9F-0184' {
	savedefault
	insmod part_gpt
	insmod fat
	set root='hd0,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt1' --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  0C9F-0184
	else
	  search --no-floppy --fs-uuid --set=root 0C9F-0184
	fi
	chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###

Last edited by effeeffe (2018-09-03 16:50:18)

Offline

#9 2018-09-03 16:53:51

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,728

Re: [Solved] GRUB and os-prober do not see Windows 10 on a different drive

Ah glad to hear, since UEFI Windows is usually not the culprit anymore if something breaks wrt to booting, it's more likely that either Windows had no choice because you're running out of space on the ESP (it could still be nicer in that case, but it is what it is) or because your UEFI vendor goes into a panic mode to ensure Windows can boot if Windows only had the intention of updating it's own UEFI entry.

If neither of these are the case Windows usually isn't the culprit for /boot issues anymore (other than the fact that they reenable Fast Boot with every major update) roll

Last edited by V1del (2018-09-03 16:54:22)

Offline

Board footer

Powered by FluxBB