Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
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.
The only problem would be the small 100 MB size. I don't know how much space Windows needs for its bootloader and how much space would be left over for grub-efi. You should mount this efi partition in Devuan and use df -h to determine the free space. Please post the results.
The recommended size for Linux alone is at least 128 MB with some distros recommending 200 MB or more. I'm not sure if Windows and Linux can share a small 100 MB EFI partition.
With EFI you don't boot from a drive but from EFI variables stored in NVRAM. You would need to manually select the grub efi loader for the first boot and then use grub-install to put the grub EFI variables first in the list for succeeding boots.
Code:
grub-install --target=x86_64-efi /dev/sda
Reboot.
Change the BIOS from BIOS boot to UEFI boot.
Use the one-time boot menu to force boot the disk. You may have to navigate to the disk -> EFI -> ubuntu -> grubx64.efi.
Re-install GRUB's EFI bootloader to update the UEFI boot selector.
grub-install
...Making sure I'm decoding this right... NVRAM = non-volitile RAM = settings in the BIOS chip?
I'm at step
14. Install the GRUB EFI bootloader.
grub-install --target=x86_64-efi /dev/sda
Should that be /dev/sdb since that's where the /boot/EFI partition is located?
I edited my post #12 to install the grub-efi package
Quote:
grub-install --target=x86_64-efi /dev/sda
Should that be /dev/sdb since that's where the /boot/EFI partition is located?
Don't need either one, don't have to add the /dev/sd? on an efi system, for the efi partition needs to be mounted to /boot/efi before running grub-install. The grub-install will ignore the /dev/sd? when installing in efi mode.
use this
Code:
grub-install --target=x86_64-efi
Last edited by colorpurple21859; 04-16-2020 at 11:27 AM.
I used Synaptic to load grub-efi and grub-efi-amd64-dbg which also loaded grub-efi-amd64, grub-efi-amd64-bin.
root@XXXXX:~# grub-install --target=x86_64-efi
Installing for x86_64-efi platform.
grub-install: error: cannot open `/boot/EFI/EFI/devuan/grubx64.efi': No such file or directory.
/boot/EFI/EFI contains directories named Boot and Microsoft and nothing else. Specifically, no devuan.
/boot/EFI/EFI/Boot contains bootx64.efi and nothing else.
/boot/EFI/EFI/Microsoft contains directories named Boot and Recovery. Boot is full of stuff--too much to list here. Recovery contains files named BCD, BCD.LOG, BCD.LOG1, BCD.LOG2.
This smells like I'm missing another package besides grub-efi.
I think the first efi needs to be lower case
/boot/efi
I created /boot/efi, changed /boot/EFI to /boot/efi in fstab, shutdown and restarted.
root@XXXXX:~# grub-install --target=x86_64-efi
Installing for x86_64-efi platform.
grub-install: error: cannot open `/boot/efi/EFI/devuan/grubx64.efi': No such file or directory.
------------------------------------------------------^^^
***************************************notice*
Now /boot/efi/EFI contains Boot and Microsoft just as before; still no devuan directory. What's supposed to create the /boot/efi/EFI/devuan directory?
I think the first efi needs to be lower case
/boot/efi
This is not the case here as the OP mounted the ESP at /dev/sdb2 at /boot/EFI.
Code:
# df -h
/dev/sdb2 95M 27M 69M 28% /boot/EFI
I'm not sure this was a good idea as I believe the Linux mountpoint should use lower case as is the Linux convention. However this is what the OP did.
To the OP it is a good idea to change the mountpoint in your fstab to lower case so it is easier to distinguish the Linux mountpoint from the contents of the ESP. Most guides tell you to use lowercase /boot/efi for your mountpoint such as the guide I posted in my previous post.
Create the ESP mount point.
mkdir /boot/efi
Add the ESP to /etc/fstab. It should look like this:
/dev/disk/by-partlabel/EFI-system /boot/efi vfat defaults 0 2
Mount the ESP.
mount /boot/efi
It's simply less confusing if you use lower case for all Linux paths and mountpoints.
To the OP it is a good idea to change the mountpoint in your fstab to lower case so it is easier to distinguish the Linux mountpoint from the contents of the ESP.
Add the ESP to /etc/fstab. It should look like this:
It's simply less confusing if you use lower case for all Linux paths and mountpoints.
This is exactly what I did. (Well, actually I rebooted after I made the changes to fstab; either way, /boot/efi got mounted.) Then I tried to install grub again. No joy.
I know you guys have high hopes I might be able to reconstruct my dual boot using the foundation I built, but I'm thinking that I might be fighting this same battle a week from now. I'm fairly confident that using what I've learned from you that by Monday I could have a working dual boot by wiping the disks and starting over the right way.
I sure appreciate all your efforts!
If I do start over, I'll install Windows 10 and my /SHARED/local directory on the 1 TB SATA-0 disk and Devuan on the 500 GB SATA-1 disk. I'll make sure to setup /boot/efi to point at the EFI partition on the Windows installation.
root@XXXXXX:~# grub-install --recheck --target=x86_64-efi
Installing for x86_64-efi platform.
grub-install: error: cannot open `/boot/efi/EFI/devuan/grubx64.efi': No such file or directory.
I know you guys have high hopes I might be able to reconstruct my dual boot using the foundation I built, but I'm thinking that I might be fighting this same battle a week from now
At this point you should take my original advice and create a new 200MB or larger ESP on the Linux drive sda. I never recommended sharing the small 100 MB existing ESP as 100 MB is less than Linux distros recommend just for themselves. As I said Fedora recommends at least 128MB. You wanted to avoid creating a new partition so I was OK with you trying it. Now that it didn't work now is the time to create a new larger ESP on sda.
Newer versions of Debian actually recommend a size of 500 MB.
I'm fairly confident that using what I've learned from you that by Monday I could have a working dual boot by wiping the disks and starting over the right way.
Giving up is never the right way when you never tried the recommended way to begin with.
You never tried the suggestion from colorpurple to use the verbose flag or at least you never replied with the results.
Quote:
I suspect the efi partition may not be big enough,
grub-install -v --target=x86_64-efi
see if any additional information is outputted as to what is happening.
Well, HAPPY DAY! I got a little farther. The entry for /boot/efi in fstab had the wrong options. I deleted everything and just used "defaults". I hope that's right.
Now, there's a /boot/efi/EFI/devuan folder with grubx64.efi in it. But I'm not quite there yet. The verbose stuff scrolled right off the screen and I couldn't see it all. So I sent the output to a file:
There must be a thousand lines in /root/grub-install.log that start with "grub-install: info: ...." ...Most of which I'm not even going to guess what's happening. And then it ends with this:
Code:
grub-install: info: executing modprobe -q efivars.
EFI variables are not supported on this system.
grub-install: info: executing efibootmgr -c -d /dev/sdb -p 2 -w -L devuan -l \EFI\devuan\grubx64.efi.
EFI variables are not supported on this system.
grub-install: error: efibootmgr failed to register the boot entry: No such file or directory.
I gotta say, without your encouragement, I'd have punted days ago. I probably would have gotten it wrong again, too.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.