LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Laptop and Netbook
User Name
Password
Linux - Laptop and Netbook Having a problem installing or configuring Linux on your laptop? Need help running Linux on your netbook? This forum is for you. This forum is for any topics relating to Linux and either traditional laptops or netbooks (such as the Asus EEE PC, Everex CloudBook or MSI Wind).

Notices


Reply
  Search this Thread
Old 07-29-2019, 01:04 PM   #1
etcetera
Member
 
Registered: Aug 2004
Posts: 436

Rep: Reputation: 17
multiboot setup problems on MSI Titan GT80 SLI


The machine is MSI Titan GT80 SLI, UEFI.

I have 4 SSDs in it, I want to install it on a SATA III SSD. It has 2x2280 NVMe and 2 SATA-III.
In a multiboot configuration with Windows - each OS gets its own SSD. They are all GPT.

I've tried using the Windows boot manager to no avail, it does not recognize a Linux drive. I use bcdedit and EasyBCD to configure multiboot. When I try to add the Linux drive as a boot option and it's not visible and not possible to be added.

Does that mean bcdedit is completely unusable to configure the bootloader and I should be using Grub?

If so, how do I point NVRAM to default to the Grub bootloader on the Linux drive? How do I tell it to go to the Grub bootloader and not the Windows bcdedit entries?

Furthermore, how do I chain the other drives in the Grub bootloader to create a multiboot setup?
 
Old 07-29-2019, 03:38 PM   #2
yancek
LQ Guru
 
Registered: Apr 2008
Distribution: Slackware, Ubuntu, PCLinux,
Posts: 10,573

Rep: Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499
Quote:
Does that mean bcdedit is completely unusable to configure the bootloader and I should be using Grub?
I'm surprised you haven't apparently read the neosmart site on this since you are trying to use EasyBCD. bcdedit is designed by microsoft to be severely limited and will only boot a few windows systems. See there site at the link below, very explicitly explains it if you scroll down a bit to "what this means" section.

https://neosmart.net/wiki/easybcd/uefi/

You should be able to boot windows by setting the drive it is on to first boot priority in the BIOS. You can install Grub on the Linux drive and have a separate EFI partition there and use Grub to boot Linux and or windows if you wish by setting this drive to first boot priority in the BIOS.

After installing whichever Linux you want and correctly installing Grub EFI, you should be able to simply run the grub-mkconfig command to add other OS's on other drives connected.

It would be useful if you want help to actually post which release of windows you are using and which distribution/release of Linux you are using.
 
Old 07-29-2019, 03:57 PM   #3
etcetera
Member
 
Registered: Aug 2004
Posts: 436

Original Poster
Rep: Reputation: 17
Quote:
I'm surprised you haven't apparently read the neosmart site on this since you are trying to use EasyBCD. bcdedit is designed by microsoft to be severely limited and will only boot a few windows systems. See there site at the link below, very explicitly explains it if you scroll down a bit to "what this means" section.
Yes, I am sorely aware of this profound problem after months of unsatisfactory installs and I am obviously looking for a work-around. Of course I have seen this documents - years ago.

Quote:
You should be able to boot windows by setting the drive it is on to first boot priority in the BIOS.
I don't have BIOS. I have UEFI. As I indicated in the OP.

Quote:
You can install Grub on the Linux drive and have a separate EFI partition there and use Grub to boot Linux and or windows if you wish by setting this drive to first boot priority in the BIOS.
This is clear as mud. It's very high level. I need a nuts-and-bolts algorithm and that was the thrust of my question. I am aware that Linux can have Grub, the issue is making it the main bootloader and then chaining my other multiboot options off of it. I want Grub to direct the whole show, not BCDEDIT.

Quote:
After installing whichever Linux you want and correctly installing Grub EFI, you should be able to simply run the grub-mkconfig command to add other OS's on other drives connected.
so now we are getting somewhere. The real question is, if I install Linux on one of my 4 SSDs, how do I make that the default drive to go go in NVRAM? It's not possible to do so via Windows 10 (1903) as it does not assign a drive letter and basically doesn't see the drive other than in Disk Management, but not as a boot drive.

Quote:
It would be useful if you want help to actually post which release of windows you are using and which distribution/release of Linux you are using.
Win10/1903 but it is irrelevant and I am willing to install any distro that will run on this MSI machine. I could not install RH 7.6 and CentOS. I got much further with Fedora. Debian had major issues with hardware.

Last edited by etcetera; 07-29-2019 at 04:13 PM.
 
Old 07-29-2019, 04:01 PM   #4
etcetera
Member
 
Registered: Aug 2004
Posts: 436

Original Poster
Rep: Reputation: 17
Quote:
When installing Linux or any other 3rd party OS that ships with its own bootloader, instead of choosing to install GRUB to the bootsector as is traditionally done when opting to use EasyBCD to control your boot menu, choose to install GRUB to the MBR (or disk, in this case) and make it the main bootloader for your PC. You can add the Windows boot menu to the GRUB2 EFI boot menu – in this case, you’ll see GRUB’s boot menu when your PC starts, and from there you can choose Windows. You can still use EasyBCD to control the Windows boot menu and set up multi-boots and re-configure Vista+ entries in the BCD boot menu, but with the GRUB2 EFI menu loading first, you can use that to boot into Linux and to chainload NTLDR to boot into Windows 9x.
I need a detailed breakdown of this.

I've also had some luck installing Fedora and upon bootup hitting F11, interrupting the boot cycle and selecting the disk with the Fedora install. It's not as good as a multiboot option but almost as good.
I am thinking I will try that again.

I don't know why this UEFI / multiboot is so complicated.

Last edited by etcetera; 07-29-2019 at 04:02 PM.
 
Old 07-29-2019, 08:17 PM   #5
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,396

Rep: Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594
You should be able to hit one of the f-keys/esc/del to enter system setup and change boot order and not have to use the f11 all the time.
 
Old 07-30-2019, 05:13 AM   #6
yancek
LQ Guru
 
Registered: Apr 2008
Distribution: Slackware, Ubuntu, PCLinux,
Posts: 10,573

Rep: Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499Reputation: 2499
Quote:
if I install Linux on one of my 4 SSDs, how do I make that the default drive to go go in NVRAM?
There are multiple methods of doing that but basically, it involves going into the BIOS setup to permanently change the boot order. And yes, you do have a BIOS setup. You seem to be confusing this term with a Legacy/CSM install as against UEFI. You don't change the boot priority from windows, you do it in the BIOS setup.

First, you would obviously have to have properly installed some Linux system UEFI.

It's possible but not necessary to have an EFI partition on any or all drives. It depends upon what the user wants. Creating an EFI partition for your Linux drive isn't any different than creating any type partition, FAT32 100-300MB in size should do.
 
Old 07-30-2019, 10:12 AM   #7
etcetera
Member
 
Registered: Aug 2004
Posts: 436

Original Poster
Rep: Reputation: 17
If I make Linux the primary boot drive in BIOS and I can, that means its Grub will have to control multiboot of other disks. Do you have any examples of grub.conf? I have 2 more Win10-1903 drives I want to load. One primary and one clone.
 
Old 07-30-2019, 10:26 AM   #8
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,396

Rep: Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594
Code:
menuentry "Windows 10" {
        insmod part_gpt
        insmod chain
        set root='(hd0,gpt1)'
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
something like this will get you to the windows boot menu in efi mode
may have to change the set root to point to the drive/efi-partition that window bootloader is located on.

Last edited by colorpurple21859; 07-30-2019 at 10:29 AM.
 
Old 08-01-2019, 01:20 PM   #9
bodge99
Member
 
Registered: Oct 2018
Location: Ashington, Northumberland
Distribution: Artix, Slackware, Devuan etc. No systemd!
Posts: 368

Rep: Reputation: 66
Hi,
There seems to be a lot of confusion with Grub and UEFI in general.

Are you looking to have multiple Linux installations as well as windows and would like Grub to control everything?

If you are one who often changes distro's around/tries new ones etc. then I'd recommend using a slightly non-standard Grub setup.

See https://www.linuxquestions.org/quest...ml#post6005778

Essentially, Grub is set up in the EFI partition. A basic grub.cfg here (manually created to suit each installation) calls the relevant grub.cfg within each installation. The advantage of this method is that the update procedure for each discrete installation is totally standard. If you decide to delete any installation then you only need to remove/alter the relevant entry in the initial (EFI based) grub.cfg .

Grub will handle windows perfectly well. The following is my sample EFI grub.cfg with an entry for windows 10 added.
Code:
menuentry "Windows 10" {
	insmod part_gpt
	insmod fat
	set root='hd0,gpt2'
	chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Mint 19.1" {
        set root='hd0,gpt4'
        configfile (hd0,gpt4)/boot/grub/grub.cfg
}

menuentry "Slackware" {
	set root='hd0,gpt3'
        configfile (hd0,gpt3)/boot/grub/grub.cfg
}

menuentry "Devuan ASCII" {
        set root='hd0,gpt6'
        configfile (hd0,gpt6)/boot/grub/grub.cfg
}

menuentry "Devuan CERES" {
        set root='hd0,gpt5' root=UUID=1ccdf3dc-f75b-4be3-b12a-92e7398fd908 ro
        configfile (hd0,gpt5)/boot/grub/grub.cfg
}

menuentry "Mint19.1-beta-Cinnamon-ISO" {
       set isofile=linuxmint-19.1-cinnamon-64bit-beta.iso
       loopback loop (hd1,gpt4)/ISO/$isofile
       linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ISO/$isofile
       initrd (loop)/casper/initrd.lz
}       
 
menuentry "Mint19.1-Cinnamon-ISO" {
       set isofile=linuxmint-19.1-cinnamon-64bit.iso
       loopback loop (hd1,gpt4)/ISO/$isofile
       linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ISO/$isofile
       initrd (loop)/casper/initrd.lz
}       

menuentry "Mint-Xfce-ISO" {
       set isofile=linuxmint-19.1-xfce-64bit.iso
       loopback loop (hd1,gpt4)/ISO/$isofile
       linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ISO/$isofile
       initrd (loop)/casper/initrd.lz
}

menuentry "Mint-Mate-ISO" {
       set isofile=linuxmint-19-mate-64bit-v2.iso
       loopback loop (hd1,gpt4)/ISO/$isofile
       linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/bootiso/$isofile
       initrd (loop)/casper/initrd.lz
}

menuentry "Salix LIVE Install ISO" {
      set isofile=salixlive64-xfce-14.2.1.iso
      loopback loop (hd1,gpt4)/ISO/$isofile
      linux (loop)/boot/vmlinuz livemedia=$isofile 
      initrd (loop)/boot/initrd.gz
}

menuentry "Slackware Current LIVE Install ISO" {
      set isofile=slackware64-live-current-OCT-2018.iso
      loopback loop (hd1,gpt4)/ISO/$isofile
      linux (loop)/boot/generic livemedia=/dev/sdb4:/bootiso/$isofile nomodeset
      initrd (loop)/boot/initrd.img
}

menuentry "Slackware 14.2 Install ISO" {
      set isofile=slackware64-14.2-install-dvd.iso
      loopback loop (hd1,gpt4)/ISO/$isofile
      linux (loop)/kernels/huge.s/bzImage livemedia=$isofile
      initrd (loop)/EFI/BOOT/initrd.img
}

#menuentry "OpenSuse ISO" { ***DISABLED***
#      set isofile=suse.iso
#      loopback loop (hd1,gpt4)/ISO/$isofile
#      linux (loop)/boot/x86_64/loader/linux livemedia=$isofile
#      initrd (loop)/boot/x86_64/loader/initrd
#}

menuentry "Devuan ASCII Live ISO" {
      set isofile=devuan_ascii_2.0.0_amd64_desktop-live.iso
      loopback loop (hd1,gpt4)/ISO/$isofile
      linux (loop)/live/vmlinuz boot=live config findiso=/bootiso/$isofile username=devuan 
      initrd (loop)/live/initrd.img
}
This example has windows on the second partition of the first drive.

Bodge99

Last edited by bodge99; 08-01-2019 at 01:24 PM.
 
Old 08-04-2019, 11:09 PM   #10
etcetera
Member
 
Registered: Aug 2004
Posts: 436

Original Poster
Rep: Reputation: 17
This is a great start.

I have 4 separate drives in the machine (MSI Titan GT80 SLI). Drive #3 is where I keep my Linux (Ubuntu) and I want that to point to drives #1 and #2 with Windows. Each OS is on its own independent disk.
 
Old 08-05-2019, 04:59 AM   #11
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,396

Rep: Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594
Quote:
There seems to be a lot of confusion with Grub and UEFI in general.
Not confused here, I have multiboot with grub in efi mode about every conceivable way possible and boot the same gpt drives in legacy mode using grub, lilo, syslinux and efi mode using grub, elilo, syslinux, and refind.
 
Old 08-07-2019, 09:08 PM   #12
etcetera
Member
 
Registered: Aug 2004
Posts: 436

Original Poster
Rep: Reputation: 17
Can you explain this statement?

set root='hd0,gpt2'

How do I identify the device name of my Windows drive from within Linux?
 
Old 08-07-2019, 09:23 PM   #13
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,396

Rep: Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594
Quote:
Can you explain this statement?

set root='hd0,gpt2'
in the grub hd0 is first drive, gpt2 is second partition. grub counts drives from 0 and partitions from 1.

Quote:
How do I identify the device name of my Windows drive from within Linux
open a terminal and as root
Code:
fdisk -l
or
Code:
parted -l
will show which drive/partitions are ntfs/windows
 
Old 08-07-2019, 10:22 PM   #14
etcetera
Member
 
Registered: Aug 2004
Posts: 436

Original Poster
Rep: Reputation: 17
I am not splitting the disk, I am dedicating an entire disk to an operating system. I have 3 OS: Win10 one, Win10 two and Ubuntu 19.04. Each one gets its own disk.

I spent many cycles fruitlessly trying to boot Linux via BCD but as has been noted before, it's futile on an UEFI machine there I will make Ubuntu control the process via its Grub bootloader.
 
Old 08-08-2019, 05:43 AM   #15
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,396

Rep: Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594Reputation: 1594
at the grub menu press c for a grub prompt, and run the following till you find the one that list the microsoft folder.
Code:
ls (hd0,1)/EFI
ls (hd1,1)/EFI/
ls (hd2,1)/EFI/
ls (hd3,1)/EFI/
This is assuming the efi partition is the first partition on the windows drive. If the efi partition is not the first partition change to (hd0,2) etc. If there is no EFI/Microsoft the file to chainload could be /EFI/BOOT/bootx64.efi, in that case you will need to locate the drive that has the windows partitiion to determine the windows drive.

Then you can go a layer deeper with ls (hd1,1)/EFI/Microsoft/Boot/ to locate the bootmgfw.efi file if need be.

Once you find the windows drive/efi partition accordingly then edit the windows chainloader entry in /etc/grub.d/gu40_custom and then run update-grub.

Last edited by colorpurple21859; 08-08-2019 at 05:50 AM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How to point install to a specific drive on MSI Titan GT80? etcetera Linux - Laptop and Netbook 7 10-10-2018 02:32 PM
help with 939chip, A8N-SLI Premium board and 6800XT SLI cards and linux lleb Linux - General 11 09-08-2006 01:17 AM
msi k8n sli platinum,, which Ram? afatninja Linux - Hardware 1 03-19-2006 03:26 PM
MSI K8N Neo4 Platinum SLI Socket 939 Jude Lucien Debian 1 11-24-2005 05:24 PM
MSI K8N SLI Platinum + NVidia 6600GT (PCI-E) TiddlyPom Linux - Hardware 1 05-23-2005 04:19 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Laptop and Netbook

All times are GMT -5. The time now is 05:50 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration