New EFI boot manager available: rEFInd

Chat about anything related to Linux Mint
Forum rules
Do not post support questions here. Before you post read the forum rules. Topics in this forum are automatically closed 6 months after creation.
Locked
antiduplicity

Multiple (2) Linux icons with rEFind

Post by antiduplicity »

I have setup linux mint to boot with EFI and followed all the recommendations. Now I have two linux icon when rEFind boots. One boot to mint perfectly, the other is looking for grub. I can edit its parameters and cause it to boot good, but I only need one linux icon.

Any help to get rid of one icon would be appreciated.

Michael
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: New EFI boot manager available: rEFInd

Post by srs5694 »

antiduplicity wrote:Found the problem. I was messing around with the refind.conf and told it not to search for linux installations. Now it comes up with two. One that works find by itself and one that looks for grub unless I edit the paramters. So, hopefully the final tweak. How do I get refind to only display 1 linux icon during boot?
So if I understand correctly, you've now got two Linux options: One launches a Linux kernel directly, with a label of "Boot boot\vmlinuz-{version} from {label or description}" and the other launches GRUB with a label of "Boot Linux from HD", and the latter is not working.

If that's the case, then the safest course of action is to ignore the non-functional GRUB entry, since removing it requires wiping GRUB from the MBR of the hard disk and/or from the boot sector of the Linux partition. This is possible, but it requires using "dd", which can be a bit risky. If you insist on trying, here's how:

Code: Select all

sudo dd if=/dev/sda5 of=/media/some-backup-medium/sda5.pbr bs=512 count=1
sudo dd if=/dev/zero of=/dev/sda5 bs=512 count=1
The first command creates a backup of the root partition's boot sector to a USB flash drive mounted at /media/some-backup-medium/ (you should mount something and adjust the path appropriately). Be sure you get the bs= and count= options right, and be sure not to reverse the if= and of= options! The second command wipes the boot sector of the Linux partition of any code, such as GRUB. This one's the riskier of the two; if you omit the "count=" or type a stray extra digit in the "bs=" option, you could seriously damage your disk, so be very careful!

If that doesn't work, you can repeat these steps with any other Linux partition(s) you might have, such as a /boot partition; but do not do this with a Windows or OS X partition! If that fails, you can specify the whole disk (/dev/sda), but adjust the "bs=" value down to 440. Doing the whole disk runs the risk of wiping the Windows boot loader.

If something goes wrong, you can reverse the process by booting an emergency system and reversing the if= and of= options for the failed command.
antiduplicity

Re: New EFI boot manager available: rEFInd

Post by antiduplicity »

srs5694 wrote:
antiduplicity wrote:Found the problem. I was messing around with the refind.conf and told it not to search for linux installations. Now it comes up with two. One that works find by itself and one that looks for grub unless I edit the paramters. So, hopefully the final tweak. How do I get refind to only display 1 linux icon during boot?
So if I understand correctly, you've now got two Linux options: One launches a Linux kernel directly, with a label of "Boot boot\vmlinuz-{version} from {label or description}" and the other launches GRUB with a label of "Boot Linux from HD", and the latter is not working.

If that's the case, then the safest course of action is to ignore the non-functional GRUB entry, since removing it requires wiping GRUB from the MBR of the hard disk and/or from the boot sector of the Linux partition. This is possible, but it requires using "dd", which can be a bit risky. If you insist on trying, here's how:

Code: Select all

sudo dd if=/dev/sda5 of=/media/some-backup-medium/sda5.pbr bs=512 count=1
sudo dd if=/dev/zero of=/dev/sda5 bs=512 count=1
The first command creates a backup of the root partition's boot sector to a USB flash drive mounted at /media/some-backup-medium/ (you should mount something and adjust the path appropriately). Be sure you get the bs= and count= options right, and be sure not to reverse the if= and of= options! The second command wipes the boot sector of the Linux partition of any code, such as GRUB. This one's the riskier of the two; if you omit the "count=" or type a stray extra digit in the "bs=" option, you could seriously damage your disk, so be very careful!

If that doesn't work, you can repeat these steps with any other Linux partition(s) you might have, such as a /boot partition; but do not do this with a Windows or OS X partition! If that fails, you can specify the whole disk (/dev/sda), but adjust the "bs=" value down to 440. Doing the whole disk runs the risk of wiping the Windows boot loader.

If something goes wrong, you can reverse the process by booting an emergency system and reversing the if= and of= options for the failed command.
OK, when I feel bold, I might try it. I was hoping for an "ignore" or "dont scan" option in the rEFind.conf file. Any such thing?
Michael
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: New EFI boot manager available: rEFInd

Post by srs5694 »

antiduplicity wrote:OK, when I feel bold, I might try it. I was hoping for an "ignore" or "dont scan" option in the rEFind.conf file. Any such thing?
Not with the specificity you want. There are "dont_scan_volumes", "dont_scan_dirs", and "dont_scan_files" options, but these apply only to EFI boot loaders, not to BIOS boot loaders. There's also the "scanfor" line, on which you can disable scanning for BIOS boot loaders entirely; but if you disable scanning for BIOS boot loaders, your Windows entry will disappear, too.
antiduplicity

Re: New EFI boot manager available: rEFInd

Post by antiduplicity »

antiduplicity wrote:
srs5694 wrote:
antiduplicity wrote:Found the problem. I was messing around with the refind.conf and told it not to search for linux installations. Now it comes up with two. One that works find by itself and one that looks for grub unless I edit the paramters. So, hopefully the final tweak. How do I get refind to only display 1 linux icon during boot?
So if I understand correctly, you've now got two Linux options: One launches a Linux kernel directly, with a label of "Boot boot\vmlinuz-{version} from {label or description}" and the other launches GRUB with a label of "Boot Linux from HD", and the latter is not working.

If that's the case, then the safest course of action is to ignore the non-functional GRUB entry, since removing it requires wiping GRUB from the MBR of the hard disk and/or from the boot sector of the Linux partition. This is possible, but it requires using "dd", which can be a bit risky. If you insist on trying, here's how:

Code: Select all

sudo dd if=/dev/sda5 of=/media/some-backup-medium/sda5.pbr bs=512 count=1
sudo dd if=/dev/zero of=/dev/sda5 bs=512 count=1
The first command creates a backup of the root partition's boot sector to a USB flash drive mounted at /media/some-backup-medium/ (you should mount something and adjust the path appropriately). Be sure you get the bs= and count= options right, and be sure not to reverse the if= and of= options! The second command wipes the boot sector of the Linux partition of any code, such as GRUB. This one's the riskier of the two; if you omit the "count=" or type a stray extra digit in the "bs=" option, you could seriously damage your disk, so be very careful!

If that doesn't work, you can repeat these steps with any other Linux partition(s) you might have, such as a /boot partition; but do not do this with a Windows or OS X partition! If that fails, you can specify the whole disk (/dev/sda), but adjust the "bs=" value down to 440. Doing the whole disk runs the risk of wiping the Windows boot loader.

If something goes wrong, you can reverse the process by booting an emergency system and reversing the if= and of= options for the failed command.
OK, when I feel bold, I might try it. I was hoping for an "ignore" or "dont scan" option in the rEFind.conf file. Any such thing?
Michael
Greetings,
I tried the two dd commands and there is no changed. I looked at the two Linux icons and this is what is under each

Boot vmlinuz from 23 GiB ext4 volume (this one does not work without editing before boot - when I edit the parameters, I delete what is below)
When I press F2 twice, the parameters displayed are: initrd=\initrd.img.old
Boot boot\vmlinuz-3.5.0-17-generic from 23 GiB ext volume (This one works every time)

Hope this helps with a solution

michael
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: New EFI boot manager available: rEFInd

Post by srs5694 »

antiduplicity wrote:I looked at the two Linux icons and this is what is under each

Boot vmlinuz from 23 GiB ext4 volume (this one does not work without editing before boot - when I edit the parameters, I delete what is below)
When I press F2 twice, the parameters displayed are: initrd=\initrd.img.old
Boot boot\vmlinuz-3.5.0-17-generic from 23 GiB ext volume (This one works every time)
That's totally different from what I believed the entries to be (or at least one of them). The solution in this case is to edit refind.conf. There are actually at least two specific edits that should fix the problem:
  • Create a line that reads "dont_scan_dirs /"
  • Create a line that reads "dont_scan_files vmlinuz"
nightdream33

Re: New EFI boot manager available: rEFInd

Post by nightdream33 »

Thank you for information
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: New EFI boot manager available: rEFInd

Post by srs5694 »

jennywatson128 wrote:What is EFI boot manager I don't have any idea about it can some one explain it?
A boot manager is a program that runs when you first power on or restart a computer and that lets you select which OS you want to boot.

The Extensible Firmware Interface (EFI) or its newer version, the Unified EFI (UEFI), is a class of firmware -- that is, software that's built into a device and that handles low-level tasks. On a motherboard, the firmware is in charge of controlling the boot process, among other things. EFI has more-or-less completely replaced the older BIOS firmware on new computers in the last two years, although most older computers use BIOS.

Thus, an EFI boot manager enables you to select the OS you want to boot on an EFI-based computer.
YeeP

Re: New EFI boot manager available: rEFInd

Post by YeeP »

srs5694 wrote:Your BusyBox boot is actually a boot using your regular Mint kernel; it's just that Mint installs the kernel itself as /boot/vmlinuz-{version} and a symbolic link to it as /vmlinuz. This is an unnecessary link in most cases, although some boot loaders or tools might need it. It's booting into BusyBox because there's (presumably) no refind_linux.conf file in the Linux root (/) directory, so when you boot that OS tag, the kernel is not getting the options it needs to set everything up correctly. The easiest and safest way to get rid of the extra tag is to edit /boot/efi/EFI/refind/refind.conf and add or edit the "dont_scan_dirs" line as follows:

Code: Select all

dont_scan_dirs /
This will cause rEFInd to ignore the /vmlinuz symbolic link (and any other kernel or boot loader in the root of any partition; but you don't seem to have any such boot loaders).
I would assume that is a reference to not look for kernels in the root directory?

Also, I assume you are telling me that opposed to just deleting it, in case it is used (safest way)?

from my earlier post:
For windows 8:
Boot EFI\Microsoft\bootmgfw.efi from 259 MiB FAT volume
For Mint 14:
Boot boot\vmlunuz-3.5.0-17generic from 74GiB ext4 volume

I would really like to move that linux kernel into the Boot EFI\ directory. Is that possible? Just so it is organized in the same way....

I could have:
Boot EFI\Microsoft\
Boot EFI\Linux\

I would guess that linux would not be thrilled with a folder name that has a space in it.... Also, after looking at that volume description, I think those are on two different partitions, so it might not be worth it.
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: New EFI boot manager available: rEFInd

Post by srs5694 »

YeeP wrote:
srs5694 wrote:

Code: Select all

dont_scan_dirs /
This will cause rEFInd to ignore the /vmlinuz symbolic link (and any other kernel or boot loader in the root of any partition; but you don't seem to have any such boot loaders).
I would assume that is a reference to not look for kernels in the root directory?
Yes; however, it should no longer be necessary. Please upgrade to the latest version (0.6.11), which includes code that excludes symbolic links from the boot list. This should deal with the issue without requiring any changes to refind.conf.
from my earlier post:
For windows 8:
Boot EFI\Microsoft\bootmgfw.efi from 259 MiB FAT volume
For Mint 14:
Boot boot\vmlunuz-3.5.0-17generic from 74GiB ext4 volume

I would really like to move that linux kernel into the Boot EFI\ directory. Is that possible? Just so it is organized in the same way....
Yes; but you'd need to manually copy your kernels, or set up a script to do the copying whenever a new kernel is installed. IMHO, that's a lot of hassle just to get the descriptions to look more similar in the rEFInd menu. Also....
I could have:
Boot EFI\Microsoft\
Boot EFI\Linux\

I would guess that linux would not be thrilled with a folder name that has a space in it....
You're misinterpreting the text; the leading "Boot" is an English verb, not part of the filename -- the filenames are "EFI\Microsoft\Boot\bootmgfw.efi" and "boot\vmlunuz-3.5.0-17generic". Neither contains a space (although in principle an EFI boot loader path could include a space).
Also, after looking at that volume description, I think those are on two different partitions, so it might not be worth it.
You're right that they're on different partitions.
YeeP

Re: New EFI boot manager available: rEFInd

Post by YeeP »

Updated to latest version, and third selection is gone. My guess is you also modified the recognition as far as what distro is installed? It now shows ubuntu icon. Nice work.
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: New EFI boot manager available: rEFInd

Post by srs5694 »

YeeP wrote:Updated to latest version, and third selection is gone. My guess is you also modified the recognition as far as what distro is installed? It now shows ubuntu icon. Nice work.
Yes, there's now code that tries to guess the distribution and use an appropriate icon. It looks like Mint identifies itself as Ubuntu in /etc/os-release, which is the file that rEFInd is checking for this, hence the misidentification. You can override this by giving your Mint root (/) partition a label of "linuxmint", as in:

Code: Select all

sudo tune2fs -L linuxmint /dev/sda{x}
...where "/dev/sda{x}" is the device name for your root (/) partition.
YeeP

Re: New EFI boot manager available: rEFInd

Post by YeeP »

So... I tried to manually update to Mint 15 and had nothing but problems (I assume I caused the problem). Never the less, I attempted to follow the steps you gave, verbatim, last night and am at another issue...

Steps you gave me:
srs5694 wrote:
YeeP wrote:

Code: Select all

yeep@yeep-Satellite-L855 ~ $ sudo parted /dev/sda print
password for yeep: 

Number  Start   End    Size    File system     Name  Flags
 1      1049kB  473MB  472MB   ntfs            Ba    hidden
 2      473MB   746MB  273MB   fat32           Ba    boot
 
The "boot" flag in parted denotes an ESP, so your ESP is /dev/sda2. (BTW, I changed your quote flags to code flags, which is what you should use for cut-and-pasted monospaced text, as in Terminal window displays, since it preserves formatting and improves legibility.)

At this point, you should:
  1. Create the /boot/efi mount point, as in "sudo mkdir /boot/efi"
  2. Mount /dev/sda2 at /boot/efi, as in "sudo mount /dev/sda2 /boot/efi"
  3. Optionally edit /etc/fstab to create an entry to mount /dev/sda2 at /boot/efi every time you boot.
  4. Install the efibootmgr package.
  5. Complete the installation of rEFInd by running the install.sh script (in /usr/share/refind-0.6.8/install.sh, or possibly something with an earlier version number if you're using an older version) or by uninstalling and re-installing the Debian package.
My confirmation of the /dev/sda2, which should not have changed between then and now.

Code: Select all

-yeep@YeeP-Machine ~ $ sudo parted /dev/sda print
[sudo] password for yeep: 
Model: ATA TOSHIBA MQ01ABD0 (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End    Size    File system     Name  Flags
 1      1049kB  473MB  472MB   ntfs            Ba    hidden
 2      473MB   746MB  273MB   fat32           Ba    boot
 3      746MB   880MB  134MB   ntfs            Ba    msftres
 4      880MB   324GB  323GB   ntfs
 7      324GB   334GB  10.5GB  linux-swap(v1)
 8      334GB   414GB  80.0GB  ext4
 9      414GB   525GB  111GB   ext4
 5      525GB   740GB  215GB   ntfs
 6      740GB   750GB  10.0GB  ntfs            Ba    hidden
New entry to fstab:

Code: Select all

/dev/sda2  /boot/efi  vfat  fmask=133  0  0
I completed all steps above (using the latest version of rEFInd) then went to my rEFInd menu. The listing in rEFInd previous and now;

Previous:

Code: Select all

For windows 8:
Boot EFI\Microsoft\bootmgfw.efi from 259 MiB FAT volume
For Mint 14:
Boot boot\vmlunuz-3.5.0-17generic from 74GiB ext4 volume
Now:

Code: Select all

For windows 8:
Boot EFI\Microsoft\bootmgfw.efi from 259 MiB FAT volume
For Mint 15 (assumption by me):
Boot boot\vmlunuz-3.8.0-19generic from 74GiB ext4 volume
Strange enough, I can select the Mint 15 and it performs the task it did in the past when it seemed to be trying to boot to busy box. Infact, the last part listed in this boot process is:

Code: Select all

BusyBox v1.20.2 (Ubuntu 1:1-20.0-8ubuntu1) built in shell (ash)
Enter 'help' for a list of built-in commands.
I then get a prompt of
(initramfs)
If I go into the firmware and change back to a CSM boot, I can get to Mint. If I change back to a UEFI boot, I do get the rEFInd menu again, from which I can select windows 8 and it will boot.

So at the end of the day, my problem is the inability to boot to Mint from the rEFInd menu. Any suggestions would be much appreciated.

Thank you. :mrgreen:
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: New EFI boot manager available: rEFInd

Post by srs5694 »

YeeP, it sounds like your /boot/refind_linux.conf file is corrupted or missing. Look for that file. If it's present, you can either rename it and generate a new file or try to fix it. If you want to generate a new file (as a replacement or if it's missing), try running the mkrlconf.sh script that comes with rEFInd. It should be on your path if you installed rEFInd via a Debian package, so just type the following:

Code: Select all

sudo mkrlconf.sh
If you didn't install rEFInd via the Debian package, you'll need to locate the mkrlconf.sh script in the rEFInd .zip file.
YeeP

Re: New EFI boot manager available: rEFInd

Post by YeeP »

srs5694 wrote:YeeP, it sounds like your /boot/refind_linux.conf file is corrupted or missing. Look for that file. If it's present, you can either rename it and generate a new file or try to fix it. If you want to generate a new file (as a replacement or if it's missing), try running the mkrlconf.sh script that comes with rEFInd. It should be on your path if you installed rEFInd via a Debian package, so just type the following:

Code: Select all

sudo mkrlconf.sh
If you didn't install rEFInd via the Debian package, you'll need to locate the mkrlconf.sh script in the rEFInd .zip file.
I did install via the Debian package, but never the less, the /boot/refind_linux.conf file did not exist. I ran the mkrlconf.sh script and it was created, then went into the firmware and changed to a UEFI boot. Booted into the rEFInd menu and ran a refresh just for good measure. Then had a successful boot into Mint 15 from the rEFInd menu. Than you for the help.

A couple of questions for you on this matter:

1) Do you think an update to 15 could have caused a problem in rEFInd, as opposed to just starting over fresh?
-These are the steps taken: http://linuxg.net/how-to-update-upgrade-from-linux-mint-14-nadia-to-linux-mint-15-olivia/

2) Do you think I missed a step in the process that caused this problem (So I can look for it in the future)?


Thank you,
Ryan
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: New EFI boot manager available: rEFInd

Post by srs5694 »

In theory, an update such as described in that site shouldn't have removed /boot/refind_linux.conf, unless I'm misunderstanding something about what it's doing. Of course, such a misunderstanding on my part is certainly possible! It's also possible that something else went wrong, especially if you did something else that's not described on that page, like erasing the contents of /boot or renaming /boot and creating a fresh /boot for the new packages.

In the future, you might just want to be aware that /boot/refind_linux.conf is important for booting Linux using rEFInd, and keep a backup of it, or be prepared to use mkrlconf.sh should refind_linux.conf go missing.
tsdadam

Re: New EFI boot manager available: rEFInd

Post by tsdadam »

I installed rEFind a while back and got it working with Mint 14.

I recently tried to upgrade to Mint 15 by wiping the linux partition (dual boot with Windows 8) recreating the partition and installing Mint 15 from USB.

The install seems to go well. All files copy, I tell it to install the boot loader in sda2 (my efi partition), and when I reboot in rEFInd I get two autodetected linux options - both booting from sda9 where the install is. If I try booting from either, I get a text-based load for a few seconds, the typeface changes, and then it leaves me at a Busybox (initramfs?) prompt.

It never goes any further than this. Is there something I should be doing in refind to get it working properly?
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: New EFI boot manager available: rEFInd

Post by srs5694 »

tsdadam wrote:The install seems to go well. All files copy, I tell it to install the boot loader in sda2 (my efi partition), and when I reboot in rEFInd I get two autodetected linux options - both booting from sda9 where the install is. If I try booting from either, I get a text-based load for a few seconds, the typeface changes, and then it leaves me at a Busybox (initramfs?) prompt.
It's not clear if you're booting on a rEFInd->GRUB2->kernel path or more directly rEFInd->kernel. You can tell which path you're using by examining the text that appears under the icons when you select an icon; if the text refers to "grub.efi" or "grubx64.efi", then rEFInd is launching GRUB 2; if the text refers to a filename that includes "vmlinuz" in its name, then rEFInd is launching the kernel directly.

If you're launching via GRUB 2, then the problem is in the GRUB 2 configuration. You can either fix that or switch to a direct boot of the kernel, as described [url=http://www.rodsbooks.com/refind/linux.html]in the rEFInd documentation.[/url]

If you're launching the kernel directly, then chances are you need a /boot/refind_linux.conf file, as described [url=http://www.rodsbooks.com/refind/linux.html#efistub]in the rEFInd documentation.[/url] You can boot directly without this file by telling the kernel where your root filesystem is manually: Instead of hitting the Enter key, press F2 or Insert twice. This opens a simple line editor in which you can add "ro root=/dev/sda{x}", changing "{x}" to the partition number of your root (/) filesystem. If this works, you can run the mkrlconf.sh script that comes with rEFInd, as in "sudo mkrlconf.sh" if you installed rEFInd via its Debian package, or "sudo ./mkrlconf.sh" script from the directory where that script exists if you unpack the rEFInd .zip file.
tsdadam

Re: New EFI boot manager available: rEFInd

Post by tsdadam »

Ok, I'm getting somewhere now.

To answer your question, yes, I had the vmlinuz icon, and adding the line you suggested worked great (although no plymouth splash, just text mode until Cinnamon starts).

I couldn't find that script to edit once in, and figured it was because I haven't installed rEFInd since the reinstall. I just downloaded the latest version of rEFInd and got the following error on install:

Code: Select all

//boot/efi doesn't seem to be on a VFAT filesystem. The ESP must be
mounted at //boot or //boot/efi and it must be VFAT! Aborting!
dpkg: error processing refind (--install):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 refind
Which suggests to me, maybe I forgot to allocate one of my partitions (presumably the EFI one) to /boot . Is this the problem, and is it easily rectified?

Thanks for your help, much appreciated.
tsdadam

Re: New EFI boot manager available: rEFInd

Post by tsdadam »

A bit of progress, I installed and ran boot-repair, and then re-installed rEFInd.

It seems to be picking up both the old version of mint I had installed, and the new one. If I try and load the actual loaders (as opposed to the auto-detected vmlinuz ones) it takes me straight to a GRUB prompt, which suggests to me maybe grub needs reinstalling or re-configuring?

And how do I get rid of the old loaders I don't want any more?

The vmlinuz options work btw, and take me silently to Cinnamon.
Locked

Return to “Chat about Linux Mint”