dual booting in uefi systems with two different hard drives.

I am trying to install leap 15.1 in a HP Pavillion, with no much success. I suppose that it is frequent nowadays that new computers
are manufactured with one SSD hard drive (some Gb) and a more standard mechanical (SATA) hard drive (some Tb). It is
also common to have the UEFI instead of BIOS. And that I suppose is my problem… I can install Leap, but sometimes
get the correct booting and sometimes I arrive to the grup2 prompt. During installation the automatic install wants to place
itself only in the SSD drive. If I use the “expert” -to say something- partitioning, I can divide the SATA drive in one part for
the microsoft w10, and other for /… but then the installer ask for a FAT partition to install grub… There is such a partition
on the SSD disk (larger the the apparently needed, that is 260 Mb). So I can boot in W10 and Leap 15.1 but going through the
cumbersome ESC etc… Any help please, I have look for many forums and there are no many answer. I think that this
configuration (SSD + SATA hard drives + UEFI) is very common now but I haven’t seen reflected in the comments…Thanks in
advance.

Your question is unclear.

I do not have any HP systems, but I understand that they can be tricky for UEFI booting.

If there is already an EFI partition on your SSD (as used by Windows), it is usually best to use that same partition with openSUSE. If you are using the expert partitioner, then set that EFI partition to be mounted at “/boot/efi”. If the installer warns that it is too small, just ignore that warning and continue.

Yes, it is possible to have a separate EFI partition on your hard drive. But it might confuse things, depending on how your BIOS handles it.

Hi
Yes, you can have multiple drives and boot from each, it requires a little configuration before hand to ensure all the drives are set to ‘gpt’ rather than ‘dos’.

Then on any of the drives you can then set the small partition ~260MB to type ef00 and formatted to FAT, then set this partiton to mount as /boot/efi.

The above can be done fine with openSUSE (or SLE), have no idea about other linux disributions and I’m sure windows would have issues on what to do (I would ensure it’s installed first…)

Likewise there are no issues with sharing a UEFI boot partition with other operating systems.

So you would have something like;


sda1 - type ef00, size 260MB, /boot/efi
sda2 - type 0c01, size 16MB, win reserved
sda3 - type 0700, size XXXGB, windows 10

sdb1 - type ef00, size 260MB, /boot/efi
sdb2 - type 8300, size XXXGB, / (operating system)
sdb3 - type 8200, size XGB, swap

During install you would then set openSUSE to use sdb1 from YaST expert partitioner. It’s not installing grub in /boot/efi it’s just installing the efi files required to get to the /boot folder.

Thank you very much for your quick answer !!. If I understand correctly, I see that you suggest to have two /boot/efi partitions?. In fact, in one of my attempts I create a fat partition (I was prompted to do that by the installer, when there was already a /boot/efi in the first sectors
of /sda ) and yes, leap put the loader there… the problem was that sometimes went to that partition in /sdb and sometimes no and it never found the w10 loader !!.. so reboot to change from leap to w10 did not work… Turning off the computer sometimes ended in /sda booting properly and sometimes no… I thought the problem was to have two different /boot/efi, one in the initial sectors of the SSD drive (where
it was originally for w10) and other in the /sda (in my case) hard drive.

So this was what the leap installer wanted to do with my first (SSD) drive (small 120 GB) forgetting completely my 1TB /sda, so I had to use “expert” partitioner :frowning:

/dev/nvmeon1p1 260.00 MiB EFI System FAT SYSTEM /boot/efi
/dev/nvme0n1p2 16.00 MiB Microsoft Reserverd
/dev/nvme0n1p3 81.00 GiB Windows Data NTFS Windows
/dev/nvme0n1p4 0.96 GiB Diagnostics NTFS Windows RE Tools
/dev/nvme0n1p5 35.00 GiB Linux Native BtrFS /
/dev/nvme0n1p6 2.00 GiB Linux Swap swap

Hi
So I’m guessing you want to use the HDD (sda?) for openSUSE?

You can use (share) this with openSUSE;


 /dev/nvmeon1p1    260.00  MiB   EFI System                  FAT        SYSTEM                   /boot/efi

In ‘Expert’ partitioner, select the current partitions and not the proposed ones and configure as required.

This needs some clarification.

There can be two EFI partitions. There can only be one “/boot/efi” partition.

Whether a partition is an EFI partition depends on formatting. To be a EFI partition, it should use FAT32, and it needs to have the partition type set to EFI (how you do that depends on partitioning software).

Whether a partition is “/boot/efi” depends entirely on what is mounted where within your linux system. Generally, this is specified in “/etc/fstab”. If you are installing, and using the expert partitioner, you must tell it which partition you want mounted at “/boot/efi”. And you should make sure that is an EFI partition (or that you format it as an EFI partition), else it will confuse things.

The problem is: ** SSD (~160 GiB) ** +** Hard SATA ( 1 TB)**, the original boot partition is in SSD, also the w10 code, (but the computer is new and there is some additional free space ), the Hard SATA has 500 GiB devoted the to windows data, the other 500 GiB I wanted for Leap. I do want to use the same partition SSD (in the first sector of the drive, ~ 260 MiB, there is space…) for dual booting, but the leap installer do not recognize that /boot/uefi partition or for some other reason wants me to create a fat partition in the 500 GiB of SATA drive. I do not know how to force the installer to put the grub in the original initial SSD partition, when I say ignore it, there is no booting, when I create one vfat sometimes boots but never reboot, and it does not find the windows loader. The original idea of the installer was to use the SSD free space and completely disregard the SATA drive, hence leaving with some few GiB for linux, and 500 GiB not used. I don’t know
if I explained myself…

I have read also about HP not being friendly with Linux distros, but I thought this was sorted out some time ago…

Hi
HP systems are fine with openSUSE/SLE, it’s my goto brand… have four HP laptops here… one runs openSUSE Leap for aircraft tracking, one runs openSUSE Tumbleweed and SLED, one runs Windows and SLED and the other runs SLES for SUSE Manager all run UEFI. In the past have had others running fine the only model had issues with were the ProBook models 4430 and 4440 with dual booting, but just moved to single or dual linux boot…

So, in expert partitioner, just select use existing partitions, for nvmeon1p1 select it and edit, make sure the radio button to not format is selected, then off to the right select the radio button to mount, in the drop down select /boot/efi and should be good to go with the hdd to create new partitions on the additional 500GB for openSUSE.

Thank you to all for the quick feedback… I was getting a bit crazy, with apparently random issues. Now, I think that the problem was (is)
that I tried several things, and the** 260 MiB partition for EFI/boot was full**. I think that after a painful excursion to windows partitions in windows 10, I was able to remove some previous bootloaders, thus making room for the “one-that-I-want” loader. I will make a clear install when I have some free time, and I will post the results.

Installing openSUSE on HP laptops was great fun: https://forums.opensuse.org/showthread.php/533733-Network-Problems-after-TW-install-on-HP-Laptop-15-da0xxx

EFI System Partition can hold many boot mangers:

erlangen:~ # find /boot/efi/ -type f
/boot/efi/EFI/manjaro/grubx64.efi
/boot/efi/EFI/arch/grubx64.efi
/boot/efi/EFI/tumbleweed-btrfs/grubx64.efi
erlangen:~ # 

As they all sit in their own directories no anoyancies will occur. If there are directory name clashes you may change names here:

erlangen:~ # grep DIST /etc/default/grub
GRUB_DISTRIBUTOR=Tumbleweed-btrfs 
erlangen:~ # 

Some linux distros install the kernel in the EFI partition. And that can fill it up fast.

Example please.

Both Solus and KaOS install kernels in the EFI partition.

KaOS mounts the EFI partition at “/boot” and installs the kernels there.
Solus does not mount the EFI partition anywhere, except when updating.

Both of those use systemd-boot for booting, and that requires the kernel to be in the EFI partition.

As far as I know, both Solus and KaOS use grub2 on a traditional BIOS (not UEFI) system. But that will probably change, now that the systemd folk have provided their own booting solution for traditional BIOS based systems.