Page 1 of 1

No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Sat Nov 24, 2012 12:54 am
by SirElderberry
Just got a new laptop with Win 8 pre-installed. The DVD installation went fine, and if I boot up the Live CD I can see the new partition/install properly, but I'm never offered a boot manager or choice of operating systems--the computer just goes straight into Windows 8. I have tried reinstalling grub onto my Mint partition and also using EasyBCD to add it to my Windows 8 boot menu, but when I do this the option that appears does not work (gives an error about the .mbr file). Any advice? I know WIndows 8 is new and it seems a lot of people haven't really got dual-boot working, but hopefully someone can tell what's going on here.

Re: No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Sat Nov 24, 2012 10:47 am
by remoulder
Are you trying to install the 64bit version? If so see http://forums.linuxmint.com/viewtopic.p ... 92#p651192

Re: No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Sat Nov 24, 2012 11:04 am
by srs5694
If your computer came with Windows 8 pre-installed, the computer almost certainly uses UEFI and has Secure Boot enabled. This creates at least two possible complications:
  • According to one source I've read (sorry, I don't have a URL handy), there was an error in creating the Mint 14 DVDs that omitted EFI support. If this is correct, your installer booted and installed in BIOS mode, which means that the computer makes it harder to switch between your two installed OSes. You may be able to press a key at boot time (probably a function key -- it's F8 on my ASUS P8H77-I motherboard, but it could be something else for you) to get a boot menu that may enable you to boot from the hard disk in BIOS/legacy mode. An accidental BIOS-mode installation on a UEFI-based computer is also a possibility even with a properly-created Linux installation disc.
  • If my information is wrong and Mint did a UEFI-mode install, it could be that Secure Boot is interfering -- the computer might try to boot GRUB (or whatever Mint installed), fail, and fall back to booting Windows. To fix this problem, you must disable Secure Boot.
If you've got a BIOS-mode installation, you can get an easier boot of Mint by installing my rEFInd boot manager, which is an EFI boot manager that supports handing off to a BIOS-mode boot loader. You'll need to disable Secure Boot to get it to run, though, and you'll need to uncomment and edit the "scanfor" line in its refind.conf configuration file to include "hdbios" as an option. You'll also need to install it from Windows (or from an EFI-booted Linux emergency disc). With a bit of extra configuration, you can even get rEFInd to boot Linux directly in EFI mode, obviating the need for GRUB.

Re: No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Sat Nov 24, 2012 12:23 pm
by SirElderberry
Thanks for the help, guys. I am installing 64-bit so I imagine that the DVDs omitting UEFI support is my issue. At this point I think I'm just going to wait until an updated ISO is released. When it is, will I need to reinstall from scratch or can I just reinstall grub?

Re: No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Sat Nov 24, 2012 3:00 pm
by srs5694
SirElderberry wrote:Thanks for the help, guys. I am installing 64-bit so I imagine that the DVDs omitting UEFI support is my issue. At this point I think I'm just going to wait until an updated ISO is released. When it is, will I need to reinstall from scratch or can I just reinstall grub?
If the install is clean, then re-installing GRUB should be all you need to do; however, if that's the case, there's little reason to wait for a new Mint disc. You can install an EFI-enabled version of GRUB, or another EFI boot loader, manually -- see my Web page on the topic for details, or this Ubuntu page for more details on GRUB specifically. This will get your Mint up and running more quickly, and you may learn more in the process. Waiting may produce an easier path to get things working, but maybe not. If it does go easily, you won't learn as much in the process.

Note that my comments about Secure Boot apply in either case, although if the Mint developers have signed up with Microsoft's/Verisign's signing service, disabling Secure Boot might not be necessary if you install a Mint boot loader. I don't happen to know if they've done this, though. (Ubuntu has, and both Fedora and SUSE plan to do so, but I don't know about Mint.)

Re: No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Sat Nov 24, 2012 9:49 pm
by SirElderberry
So today I've been trying a number of things--reinstalling GRUB, running rEFInd, running GRUB from my motherboard's setup utility...no dice. My problem seems to be that I can't boot in UEFI mode, because anytime I try to use your rEFInd install.sh or use efibootmgr or whatever it's called, I'm told I don't have access to the right variables, and the relevant folder indeed do not appear in /sys/firmware. I've tried to get into UEFI mode by going into my setup menu and adding a boot option at (for instance) fs0:/grub/grub.efi, but this never works. (Selecting this option causes the screen to flash black and then puts me back at the boot select screen.) I've tried a fair number of permutations on that file path, after installing GRUB2 to a (manually mounted) EFI system partition, so I know that file exists.

I can get into my Mint install by using the Live DVD and choosing "boot from local disk", but I don't really consider that a solution. Any ideas on how to get into UEFI mode?

Re: No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Sun Nov 25, 2012 12:47 am
by srs5694
If the /sys/firmware/efi directory is missing, then you've probably booted in BIOS mode. Unfortunately, in an effort to make new UEFI-based computers work "easily," most manufacturers have streamlined the boot process to the point that it can be hard to control whether the things boot in EFI mode, in BIOS mode, or in whatever mode is convenient (with "convenient" varying from one model to another).

I suggest you review your firmware's options on this score. Pay particular attention to two things:
  • Look for a boot menu. You can get this on most computers by pressing a function key (F8 on my one Secure Boot-enabled system, but it could well be different for you) at boot time. Examine it carefully; it may have EFI/UEFI boot options, BIOS/legacy boot options, and boot options that aren't clearly labelled as one or the other. Sometimes there will be multiple options for one device, like an EFI option and a BIOS/legacy option for an optical disc.
  • Enter your firmware setup utility and look for Secure Boot options. I've commented on Secure Boot several times in this thread but you haven't mentioned it at all, which makes me think you may have been ignoring my advice on this score. Doing so will lead to exactly the problems you're having, though; at this point, you MUST DISABLE SECURE BOOT to boot most Linux distributions in EFI mode. To the best of my knowledge, only Ubuntu 12.10 yet ships with a boot loader capable of booting on a store-bought machine with Secure Boot enabled and configured in its normal manner. (This situation will improve in the future, but that's where we are now.) Once again, you can learn more about disabling Secure boot on my Web page on the topic.

Re: No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Sun Nov 25, 2012 12:55 am
by SirElderberry
Oh, my apologies if I was unclear--I disabled Secure Boot as soon as I started mucking about with all of this, because I wanted it to be a nonfactor.

Re: No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Sun Nov 25, 2012 11:10 am
by srs5694
Then look for a boot menu in which you can select what configured boot loader or external device to boot.

You might also try downloading the CD version of rEFInd and boot from that. The CD image is not bootable in BIOS mode, and it searches only for EFI boot loaders, so if you can get it to launch, you can be sure that anything it boots starts up in EFI mode. Unfortunately, some computers don't seem to like the rEFInd boot CD.)

Re: No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Mon Nov 26, 2012 1:07 am
by SirElderberry
Semi-/Mostly-Solved! (not sure whether to tag it or not...)

Ok, using the rEFInd CD I was able to try to boot the grub.efi file I'd gotten by following these directions. However, this just gave me a GRUB terminal, rather than any actual operating systems. I fixed this by copying over the grub.cfg from my actual installation (which was mounted to /boot rather than the EFI root) and that gave me a working GRUB from which I could load Mint. However, GRUB in this case still does not allow me to boot to Windows properly (so I'm running rEFInd--I need to set up GRUB so it'll go straight to Mint, but whatever). Also, GRUB itself is being kind of weird. For one, the menu appears to have some odd graphical issues--nothing serious, but the menu is confined to the top-left of the screen, not using the whole thing. Second, when I pick Linux Mint to run it displays this.

So! It's now working, but not necessarily very prettily. Thank you everyone for the help, and thank you srs5694 for providing rEFInd which proved critical to the process.

Re: No bootloader after Mint 14 Install? (Win 8 Dual Boot)

Posted: Mon Nov 26, 2012 11:22 am
by srs5694
I'm glad you've gotten it mostly working.

At this point, I'd say you should begin experimenting with using rEFInd to boot the Linux kernel directly, bypassing GRUB. You can find detailed instructions on this topic here. There are a number of ways you can set this up, and you can experiment without endangering your current mostly-working configuration. The quickest to get started with is:
  1. Verify that your ESP (normally /dev/sda1) is mounting at /boot/efi. If it's not, mount it there temporarily or edit /etc/fstab so that it mounts there whenever you boot.
  2. Edit the /boot/efi/EFI/refind/refind.conf file to uncomment the "scan_all_linux_kernels" option.
  3. Copy your Linux kernel (vmlinuz-*) and initial RAM disk file (init*) from /boot to /boot/efi/EFI/linuxmint. If you've got multiple kernels installed, you can copy them all or just the one you want to use.
  4. Type "df" to identify your root filesystem (/dev/sda4, /dev/sda7, or whatever).
  5. Create a new file called /boot/efi/EFI/linuxmint/refind_linux.conf. It should look something like this, but with the "root=" option pointing to the root filesystem you've just identified:

    Code: Select all

    "Boot without graphics"      "root=/dev/sda4 ro"
    
  6. Close your programs and reboot to test it.
With any luck, you'll see a new Linux Mint entry in your rEFInd menu. When you select it, Linux should boot directly, without GRUB or the error screen to which you linked (which I believe is caused by buggy GRUB setup scripts, but I'm not positive of that). If this doesn't work, you can reboot and select the old GRUB entry to get in and try to fix whatever the problem is.

If this method of booting works to your satisfaction, there are ways to improve it at your leisure, such as:
  • Set up a separate /boot partition that uses FAT, ext2fs, ext3fs, or ReiserFS. rEFInd will then be able to load your kernel directly from this partition, without your having to copy it. (If you stick with the preliminary setup I've just described, you'd need to copy your kernel to the ESP whenever you get a kernel update.) Note that using anything but FAT for this partition will require installing an EFI filesystem driver (included with rEFInd).
  • Customize the icons shown in various ways. Note that if you set up a separate /boot partition, you'll get a generic Linux penguin rather than a Mint logo unless you do this.
  • Make further changes to refind_linux.conf to provide additional boot options or to change the "root=" specification to use a label or UUID. This can give you more boot-time options, make the installation more robust, and create a more graphical boot rather than the basic text-mode boot that my instructions create. You can use your grub.cfg file's Linux kernel options as a model for what to include.