You are not logged in.

#1 2015-09-05 01:17:05

SupremeOgrelord
Member
Registered: 2015-09-04
Posts: 7

[SOLVED] Cannot make Grub the bootloader

My goal here is to dual boot Arch alongside Windows 10. My setup is a Toshiba P55T-b5154 laptop with two hard drives, and SSD and a HDD storage.

$ parted -l
Disk: /dev/sda: 2000GB
[... a hard drive with one ntfs msftdata partition...]

Disk: /dev/sdb: 500GB
GPT table:
1   315MB   ntfs     basic data partition         hidden, diag
2   105MB   fat32   EFI system partition       boot, esp
3   134MB           Microsoft reserved part.   msftres
4   213GB   ntfs     Basic data part.              msftdata
5   286DB   ext4    Linux filesys

Also can someone please tell me what that /dev/sdb3 partition is and why it has no file system format (I think it breaks os-prober as well)

I created that linux filesystem as the root pratition for Arch. I will be using a swapfile.

Then I do:

$ mount /dev/sdb5 /mnt
$ mount /dev/sdb2 /mnt/boot
$ pacstrap /mnt base base-devel
$ genfstab -U /mnt >> /mnt/etc/fstab
$ arch-chroot /mnt /bin/bash
...
$ mkinitcpio -p linux

Now I install grub and make the config

$ pacman -S grub efibootmgr
$ grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck
$ grub-mkconfig -o /boot/grub/grub.cfg

Now when I run efibootmgr, it says

$ efibootmgr
BootOrder: 0000, 0004, 0001, 0002, 0003
0000 = grub
0001 = windows boot manager
0004 = USB

$ exit
$ umount -R /mnt
$ reboot

But when I restart it doesn't even show arch, it just goes straight to Windows 10 (i unplug my usb)
Even when I reorder the boot order with efibootmgr again, it does the same thing. I've been stuck on this for the past few days and any ideas would be helpful. Did I configure / install anything wrong?

Edit: Mitigated by switching to gummiboot. If you REALLY want grub, you can boot it from an efi entry in gummiboot. But then good luck adding the windows bootloader to grub -.-

Last edited by SupremeOgrelord (2015-09-06 02:35:53)

Offline

#2 2015-09-05 01:51:41

SupremeOgrelord
Member
Registered: 2015-09-04
Posts: 7

Re: [SOLVED] Cannot make Grub the bootloader

Okay so I was actually able to get into grub adn then arch by going into windows 10, holding shift while pressing restart -> use device -> grub.
This is a very awkward way to get into arch. I would really appreciate it if there is another way to do it.

By the way this is a very noob question, but do I have to mount /dev/sdb5 /mnt everytime I boot up arch? I feel like I shouldn't be.

Offline

#3 2015-09-05 02:04:57

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,607

Re: [SOLVED] Cannot make Grub the bootloader

Have you turned secureboot off? If not, it will probably skip grub and go to the next entry.

Edit: for /dev/sda3, google should turn up plenty of info. As for having to mount /dev/sda5 to /mnt, that's only because you're in install disk environment instead of loading your new installation.

Last edited by Scimmia (2015-09-05 02:06:10)

Offline

#4 2015-09-05 02:12:03

SupremeOgrelord
Member
Registered: 2015-09-04
Posts: 7

Re: [SOLVED] Cannot make Grub the bootloader

I turned secure boot off from the bios before installing.

I know what sda3 is, it just seems odd that os-prober would break with a "can't find a squashfs superblock" error whenever it found that partition.

Offline

#5 2015-09-05 02:16:50

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,607

Re: [SOLVED] Cannot make Grub the bootloader

OK, if secure boot is off, can you get into the firmware boot menu? How about checking the settings in the firmware setup to see if it's screwing with the boot order?

Offline

#6 2015-09-05 02:26:13

SupremeOgrelord
Member
Registered: 2015-09-04
Posts: 7

Re: [SOLVED] Cannot make Grub the bootloader

Okay my firmware boot menu is strange. It's called the Toshiba Setup Utility.

I get into the boot menu and it has four options:
USB, SSD, ODD, LAN. In that order of precedence. No grub.

The SSD option seems to autoload the windows bootloader somehow.

Offline

#7 2015-09-05 02:34:19

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,607

Re: [SOLVED] Cannot make Grub the bootloader

God I hate some of these crappy UEFI implementations.

I would try installing something as the default loader (<ESP>/EFI/Boot/bootx64.efi), see if it will load that. I have no idea how to do this with Grub, though.

Offline

#8 2015-09-05 02:39:10

SupremeOgrelord
Member
Registered: 2015-09-04
Posts: 7

Re: [SOLVED] Cannot make Grub the bootloader

Yeah this is just really fustrating. Its slightly better now that I've figured out how to get into arch without using the installation media.That still requires Windows to start up though. I swear this thing is designed to force you to use only Windows.

I'll look into the bootx64.efi. More running through the wiki pages. If anyone has any shred of an idea on how to fix this, please let me know.

As a last resort option, I might just find a way to only load the windows bootloader, which can then allow me to boot grub through it... that's still dumb though.

Offline

#9 2015-09-05 02:43:16

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,607

Re: [SOLVED] Cannot make Grub the bootloader

Using gummiboot/systemd-boot will automatically install a default loader. I've done it with syslinux as well. Grub is just, well, complex.

Offline

#10 2015-09-05 02:53:56

SupremeOgrelord
Member
Registered: 2015-09-04
Posts: 7

Re: [SOLVED] Cannot make Grub the bootloader

I might do that with systemd-boot tomorrow.

Anything special I need to do to remove grub other than pacman -R grub?

Offline

#11 2015-09-05 13:35:55

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,757
Website

Re: [SOLVED] Cannot make Grub the bootloader

You don't need to remove GRUB, just install systemd-boot and it will copy the binary to $ESP/EFI/Boot/BOOTX*.EFI, create it's own NVRAM entry and attempt to place it first in the booting order.

I have seen this problem before (crappy firmware automatically booting the Windows bootmanager).

With systemd-boot, you can rename the $ESP/EFI/Microsoft folder to "hide" it from your firmware and write a custom entry for the systemd-boot menu.
https://bbs.archlinux.org/viewtopic.php … 2#p1514912

You could probably do something similar with GRUB using /etc/grub.d/40_custom wink

EDIT: There is also the option of using the Windows boot manager to load GRUB instead by using `bcdedit` (or EasyBCD).
https://pw999.wordpress.com/2013/12/21/ … d-of-grub/

Also:

OP wrote:

can someone please tell me what that /dev/sdb3 partition is and why it has no file system format (I think it breaks os-prober as well)

It seems that os-prober & `grub-mkconfig` have problems parsing those Windows partitions in the live installation environment.
https://bbs.archlinux.org/viewtopic.php?pid=1559261

Last edited by Head_on_a_Stick (2015-09-05 13:42:21)

Offline

#12 2015-09-06 02:32:54

SupremeOgrelord
Member
Registered: 2015-09-04
Posts: 7

Re: [SOLVED] Cannot make Grub the bootloader

Gummiboot / systemd-boot worked, thanks guys. I had to hide the Microsoft folder from the firmware, but it worked in the end.

Still not sure why grub never was set as default.

Also why doesn't gummiboot have a timeout set by default, that really confused me at first.

Last edited by SupremeOgrelord (2015-09-06 02:36:24)

Offline

Board footer

Powered by FluxBB