You are not logged in.
My setup is following:
Machine is Lenovo Thinkpad T420
Disks:
mhi@mhi $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 16M 0 part
└─sda2 8:2 0 465.8G 0 part
sdb 8:16 0 111.8G 0 disk
├─sdb1 8:17 0 550M 0 part /boot/efi
├─sdb2 8:18 0 40G 0 part /
└─sdb3 8:19 0 71.3G 0 part /home
/dev/sda - 500Gb HDD in the main disk tray with 64bit Win10 installed
/dev/sdb - 120Gb SSD installed instead of CD drive, with fresh-y 64 bit Arch install.
Both drives are gpt partitioned:
mhi@mhi $ sudo parted -l
Model: ATA ST9500325AS (scsi)
Disk /dev/sda: 500GB
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 500GB 500GB ntfs Basic data partition msftdata
Model: ATA KINGSTON SV300S3 (scsi)
Disk /dev/sdb: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 578MB 577MB fat32 boot, esp
2 578MB 43.5GB 42.9GB ext4
3 43.5GB 120GB 76.5GB ext4
So what I want to achieve is a GRUB boot menu entry allowing me to boot into windows without changing bootloader order in BIOS setup.
Two ways of doing so that I'm aware of:
1) Using ntldr and pointing it to bootmgr at the root of Windows partition: bootmgr executable is there, but this approach does not work with x86_64 GRUB as far as I know. I could not insmod ntldr when I tried this way.
2) Chainloading Windows EFI bootloader, as described in GRUB article from archwiki: https://wiki.archlinux.org/index.php/GR … menu_entry
But here I start encountering weird stuff:
1) There is not esp partition of /dev/sda, there's only windows recovery of 16M and main Windows partition
2) no /efi/... structure at the root of Windows partition:
mhi@mhi $ ll /mnt/win
total 5537933
drwxrwxrwx 1 root root 4096 Feb 18 12:24 ./
drwxr-xr-x 5 root root 4096 Feb 17 01:23 ../
-rwxrwxrwx 1 root root 400228 Oct 30 2015 bootmgr*
-rwxrwxrwx 1 root root 1 Oct 30 2015 BOOTNXT*
lrwxrwxrwx 2 root root 14 Feb 18 2018 'Documents and Settings' -> /mnt/win/Users/
-rwxrwxrwx 1 root root 3388678144 Feb 18 14:12 hiberfil.sys*
drwxrwxrwx 1 root root 0 Feb 18 12:08 Intel/
drwxrwxrwx 1 root root 0 Feb 18 12:16 NVIDIA/
-rwxrwxrwx 1 root root 2013265920 Feb 18 13:53 pagefile.sys*
drwxrwxrwx 1 root root 0 Oct 30 2015 PerfLogs/
drwxrwxrwx 1 root root 4096 Feb 18 12:21 ProgramData/
drwxrwxrwx 1 root root 8192 Feb 18 12:13 'Program Files'/
drwxrwxrwx 1 root root 4096 Feb 18 12:23 'Program Files (x86)'/
drwxrwxrwx 1 root root 0 Feb 18 2018 Recovery/
drwxrwxrwx 1 root root 0 Feb 18 12:06 '$Recycle.Bin'/
-rwxrwxrwx 1 root root 268435456 Feb 18 13:53 swapfile.sys*
drwxrwxrwx 1 root root 4096 Feb 18 13:40 'System Volume Information'/
drwxrwxrwx 1 root root 4096 Feb 18 12:22 Users/
drwxrwxrwx 1 root root 28672 Feb 18 13:33 Windows/
At this point I start to doubt that Windows indeed boots as UEFI.
But I have UEFI only set in BIOS, Windows boots perfectly by itself, and there's this log file:
mhi@mhi $ cat /mnt/win/Windows/Panther/setupact.log | grep Callback_BootEnvironmentDetect
2018-02-18 08:20:25, Info IBS Callback_BootEnvironmentDetect:FirmwareType 2.
2018-02-18 08:20:25, Info IBS Callback_BootEnvironmentDetect: Detected boot environment: EFI
What's even more convincing is the fact that if I delete/move the bootmgr executable from root of Windows partition, Windows still boots perfectly.
So, I'm a bit at a loss.
Last edited by mhi (2018-02-18 14:33:26)
Offline
Ok, a bit of extensive googling on windows side of things and re-reading the GRUB wiki page gave me this:
EFI partition is present, and somehow is hidden within windows partition. The menu entry I needed was automatically generated after I installed os-prober package and re-generated GRUB config.
Offline