How to designate a Linux drive as bootable in BIOS
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
How to designate a Linux drive as bootable in BIOS
I run MSI Titan GT80, it has 4 different SSDs:
1) PCIe NVMe 2280 with Win10 on it
2) PCIe NVMe 2280 that's a clone of (1)
3) M.2 SATA 2280 that has Fedora on it
4) Windows Data Disk 2.5" SATA
I use bcdedit / bcdboot utility to designate (1) and (2) as bootable. By default, it goes to (1). How do I designed (3) to be one of the boot options that I can pick from the BIOS boot menu?
When I ran Fedora installer, I specifically pointed to the (3) SSD and only it, no other drives were involved.
If you have windows 10 it should be EFI and you should have a key on boot to select Boot Options to select the drive on which you have Fedora. Did you install Fedora EFI? If you have an EFI partition on one of the drives, Fedora should have created a directory for its EFI files. You can set Fedora to boot first and have windows as a menuentry in its boot file. Knowing the type of installs you have would help. You should be able to get EFI boot info from Fedora with efibootmgr run from a terminal as root.
Under [U]EFI there is no "primary boot drive" in the old sense - that is BIOS thinking. So last century.
Fedora will install itself in the Win10 EFI partition - maybe that will qualify.
Stop fretting about Windows - there is no MBR being over-written, just a matter of adjusting which is the default boot manager. They are all always there.
You can set windows or any other OS to be the default system to boot with Grub by editing the /etc/default/grub file. In that file find the line:
Quote:
GRUB_DEFAULT=0
Change the zero ( 0 ) to the correct number. If your windows menuentry in Grub is the third entry put a two ( 2 ) there as Grub counts from zero in this instance. After doing this, you will need to run grub-mkconfig in Fedora to make the change permanent. Expplained in detail at the link below which also explains other methods.
Once you get to bcd you can't easily return to bios choice.
UEFI has a lot more tricks that aren't being used but the simple part of it is that you have a few ways to select the boot device in any bios usually. You move the boot order in one or more places.
Exactly where and how is this installed? IIUC, if mounted to M.2 interface on a PCIe slot card in a motherboard that has not a new enough chipset, or the PCIe card is not intended for SATA M.2 devices even though they fit the interface, it will be incapable of being a BIOS/UEFI bootable device. It would have to be chainloaded from elsewhere to be booted.
Fedora is installed on the SanDisk X400 SATA M.2 2280 SSD. It's in the correct slot, in the M.2 SATA (non-PCIe slot).
I previously cloned Windows 10 to that SSD and apparently my BIOS cannot boot non-PCIe devices at all and this seems to extend to Linux also (no matter what is on the SSD).
I have two PCIe devices, both used for Windows (One primary boot, the other backup boot or clone)
I am beginning to think I might have to installed Linux on the PCIe SSD, the alternative boot one. The SATA ones are not even showing up in the BIOS boot options, I need to double check this. The 2.5" SATA Samsung 850 is definitely not showing up so no matter what OS I put on it, it won't boot. It's a BIOS issue. The machine is in the UEFI mode. I tried Legacy mode to no avail.
Can you tell us which chipset your Titan GT80 has? Msi.com is giving nothing but errors trying to fetch manual and specifications, and all of the googled sites seem to have kept this secret. All I know for sure is the i7-4720HQ is a Haswell, which is on the border of support for NVMe booting, while the GT80 has far more storage interfaces than I expected ever to find on one laptop. The latter characteristic suggests to my instincts that there may be some boot limitations, maybe less than all M.2 interfaces can be booted from, due to at least one being intended for RAID0.
The model is MSI Titan GT80S SLI "SkyLake" edition 6QE.
I cloned my primary boot drive, well the one currently designed as such via bcdboot/bcdedit, from PCIe to SATA (both 2280 drives) and I could not boot, the BIOS does not see the non-PCIe (NVMe) drives. This is not a Windows issue, but a BIOS issue with my computer, just the way it's set up. I installed Linux on that SanDisk X400 and have no way to getting it to be seen in the boot option menu.
So I am thinking of putting Linux on the backup boot drive, where currently Windows lives but that means I lose a clone of my primary drive. So decisions, decisions.
The reason I asked for specifications, chipset specifically, is because of: https://www.intel.com/content/www/us...iast-ssds.html
Skylake I would expect to have full NVMe support, like the prior Broadwell, but not the 2nd prior Haswell.
Cloning is a possible reason for your trouble. Literal clones can't go back into the same machine simultaneously with a disk cloned from, except after adjustments on either clone or original to compensate for the cloned UUIDs, which neither BIOS nor operating systems nor bootloaders are equipped to accommodate. Duplicated UUIDs cause unpredicable behavior at best, corruption at worst.
I don't have a problem booting from NVMe. It boots just fine. The problem seems to be that you cannot boot from both NVMe *and* SATA. You have to pick one and a machine configured to boot from PCIe/NVMe cannot also boot from the SATA disk, no matter what operating system you put on it, Linux or not. I installed Linux on the SATA disk but cannot even get it to be seen by the machine in BIOS to boot off of it.
Quote:
Using an NVMe device to boot a computer system requires:
System BIOS configured to enable UEFI* version 2.3.1 and support NVMe boot
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.