You are not logged in.

#1 2017-09-25 21:30:35

lo1
Member
Registered: 2017-09-25
Posts: 584

[SOLVED] Arch and Windows 8.1 dual boot, MBR/BIOS, EFI disabled

SOLUTION IN THE REPLY

Hi.
First of all, thanks anyone in advance for your patience and your time. This is, in some way, a one of a kind request for help. As you will see, i'm not posting any code from my configuration, please continue reading if you're interested in helping me and you'll understand why.

Here's the scenario:
common hp laptop shipping with Windows 8.1, UEFI and secure boot with a single hdd (partition table has been correctly converted to MBR, secure boot disabled, did a full wipe yesterday);
amd apu;
"vanilla" windows 8.1.

These are the hdd partitions as i'm writing:

/dev/sda1 System Reserved (Windows)
/dev/sda2 Windows OS
/dev/sda3 NTFS Data
/dev/sda4 Linux Filesystem (Arch Linux succesfully installed, bootable and working)

Each partition is primary as you may guess.

As the title, I couldn't get GRUB properly working, no matter what i tried. I'm sort of a newbie to arch, but not really to the point that i didn't know if this wasn't worth a new topic.

I followed religiously the installing steps and commands from the official wiki guide, installed GRUB to /dev/sda MBR, grub-mkconfig as stated in official guide, then installed os-prober and again grub-mkconfig.
As you may guess, Windows boot manager didn't show up. Lots of retry, nothing happens.
I read online that sometimes it has to do with NTFS filesystem errors/corruption, so I did a MBR restore from my Windows 8.1 live usb (ran each "bootrec" command), did a chkdsk, analyzed the disk (no errors found), then again boot into arch linux live usb to reinstall GRUB. No luck.

I decided i had to manually configure /etc/grub.d/40_custom.
Following archwiki guide, i added these lines and nothing else, not touching the "exec tail" above,

if [ "${grub_platform}" == "pc" ]; then
  menuentry "Microsoft Windows 8.1 BIOS-MBR" {
    insmod part_msdos
    insmod ntfs
    insmod search_fs_uuid
    insmod ntldr     
    search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 MY_UUID
    ntldr /bootmgr
  }
fi

ran mkconfig again and nothing happens.

The only result to this and any following manual change to grub.d is a new menuentry in GRUB which does not boot anything and gets me again to grub main screen after a black screen quickly appears/disappears.

I thought it had to do with msdos1 not matching partition number (/dev/sda2), changing msdosx got me nowhere.

Changed UUID to match /dev/sda1, and so again changed msdos2 to msdos1, ran another grub-mkconfig: nothing.

Refixed Windows MBR, tried again all the solutions mentioned above: nothing.

Tried both chrooting from live usb and running full os properly: nothing.

I read practically everything about dual booting with GRUB but i can't get it to work properly.

os-prober command alone does not show anything, though a curious behaviour is that running it from my live usb after a chroot i receive

 Failed to connect to lvmetad: No such file or directory. Falling back to internal scanning.

So GRUB installed, properly working but unable to boot windows in any already documented ways. I really need some advice.

Thanks in advance!

P.S. i didn't post any code cause i'm running windows right now and, as you've read, i've tried any official solution plus booting arch linux means rewriting my MBR and then installing GRUB to operate a os that still need further configuration, and for today i did enough of that. Sorry for the inconvenient, feel free to ask output of any command and i'll provide them as anyone start considering this topic.

Edit: i also disabled windows fast startup and hibernate as it seems they may cause issues

Last edited by lo1 (2017-10-25 15:17:52)

Offline

#2 2017-09-26 18:12:23

lo1
Member
Registered: 2017-09-25
Posts: 584

Re: [SOLVED] Arch and Windows 8.1 dual boot, MBR/BIOS, EFI disabled

SOLUTION VALID FOR UEFI SHIPPED PC USING LEGACY/MBR

Ok here's how i managed to solve the issue:

for some reason my arch live usb was booting automatically from some sort of uefi boot manager ("bios" level, hdd not mounted yet). You just need to press whatever key let's you choose your boot option at startup to start arch live usb from USB DRIVE (and not UEFI USB DRIVE)
And that's it, follow the wiki to understand how to install and succesfully configure GRUB.
Cheers

Edit: Tip: if you don't see the coloured installation menu of the arch Linux live USB boot,  your USB live has booted the EFI way. Follow the instructions above.

Last edited by lo1 (2017-09-29 14:03:44)

Offline

#3 2017-09-26 20:29:38

Blasphemist
Member
From: Colorado
Registered: 2013-01-17
Posts: 160

Re: [SOLVED] Arch and Windows 8.1 dual boot, MBR/BIOS, EFI disabled

It sounds like your UEFI works like my INSYDEH2O UEFI firmware. There is a way to set the priority of devices for boot just like there always was in BIOS. This controls what order devices show up in when I access the built in boot manager and using this I can set up so that if I have a bootable CD/DVD in the drive at boot time, it boots from that device, it doesn't boot from what is first in my UEFI boot order. On my Toshiba Satellite I press F2 to get the built in boot manager.


Simple and Open

Offline

#4 2017-09-26 20:35:28

lo1
Member
Registered: 2017-09-25
Posts: 584

Re: [SOLVED] Arch and Windows 8.1 dual boot, MBR/BIOS, EFI disabled

Blasphemist wrote:

It sounds like your UEFI works like my INSYDEH2O UEFI firmware. There is a way to set the priority of devices for boot just like there always was in BIOS. This controls what order devices show up in when I access the built in boot manager and using this I can set up so that if I have a bootable CD/DVD in the drive at boot time, it boots from that device, it doesn't boot from what is first in my UEFI boot order. On my Toshiba Satellite I press F2 to get the built in boot manager.

Exactly. I used my laptop only for mainstream use for some years, hence i needed a little catch up and created this topic. Let's hope someone will need this reminder!

Offline

Board footer

Powered by FluxBB