Set Dual Boot Windows 10/Fedora 32 w/ SDD & HDD

I got a brand new
Lenovo IdeaPad 3 laptop with
128 GB SSD + 1 TB HDD

This is the parition scheme:

Aim is to install Fedora (32 or 33 for the matter).
So, I’m asking for guidance.
I have performed the dual boot setup before but on a single disk laptop.
I particilarly notice there is a Windows Recovery partition in the SSD and think about moving it to the HDD.

There is really no difference between dual-boot installs on single or dual disk configs. You simply decide where to put the install, reduce the space used by windows, and install fedora. If you select the same efi partition as windows to mount at /boot/efi and do not reformat that it works flawlessly for me.

You can resize any of the windows partitions using the windows disk manager to fit your needs, and being careful of the space already used by windows. I do not think it safe to resize the recovery partition.

I would not relocate the recovery partition since windows depends on that and where it is to recover from a corruption in the OS. It appears you have almost 80G available on the SSD and the HDD appears almost empty.


I wouldn’t bother the SDD considering that Win10 has taken quite a lot of space there. Assuming the 260MB partition is a UEFI partition, simply boot up Fedora in UEFI mode and point Anaconda to the HDD. If everything goes well, you will end up with a dual-boot setup nonetheless – with Win10 booting from SSD and Fedora booting from HDD. Grub2 should be able to handle the configuration details.


Got it, @computersavvy, @twohot .
without being it a restriction

a) similar as how Windows has system in one disk C: (1) and data in D: (0), which is the chance to put / (with /var, /tmp, /usr /opt and so on) on disk 1 (C:) and home on 0 (D:)?
This to take advantage of the speed of the SSD for operating system and programs.

b) How and where do I setup /boot?
Didn’t fully catch you on this.

c) I would like to use btrfs

d) will I be able to setup enough partitions?

and e) does the 4-primary-partitions restriction apply even with 2 disks?

My idea is to use Windows the least possible.
It came preinstalled and is currently using 40 GB.
For data I would leave 64, GB for Windows and rest for Fedora.

How about swap that will change to another compressed method in Fedora 33?

Well, unless you specifically need a physical copy of /tmp it is by default a tmpfs in memory.
You could easily put /boot on space recovered from C: on the ssd which should speed up booting, but I would definitely not try and put all the rest of the OS there because of space limitations. Over time the system grows and unless you use LVM and are OK with having a logical volume span 2 disks it would be easy to run out of space. /boot cannot be on LVM.
With my system I am using over 11G for the OS on my laptop in a 150G partition. My 500G HDD has 100G dedicated to the 4 required partitions for windows and ~380G for all the fedora space, including /home. I don’t think it wise to expect to be limited to less than 40G for the entire OS including /boot. You have to allow space for windows to grow as well as linux. Updates, adding packages, etc slowly grows the required space whichever OS you are using…

As @twohot suggested I would go with putting fedora on the HDD and live with the slight slowdown in booting.

If you want btrfs it definitely would be better to just put it all on the HDD so it is a single volume. Subvolumes take the place of partitions.

With gpt partitioning the 4 primary partition limit is gone, but used wisely that has never been a limit for me anyway.

1 Like

Fine, @computersavvy.
I already shrunk the Data space for Windows in D:

853 GB for Fedora.
In the end, this lap it not meant to be my main computer.
That one is a desktop which I’ll upgrade soon.

Now, the /boot/efi thing.
How is it I need to setup the /boot to use it along the
windows bootloader?

Besides, is it advisable to wait for Fedora 33 to be realesed due to the changes it brings?

Please confirm that you are booting in UEFI mode, and that Disc-0 (HDD) has a GPT partition (not MBR). If the above conditions are true, then you will need to mount /boot/efi partition for Fedora. If Win10 was installed in Legacy/BIOS mode or HDD is formatted as MBR, you do not need to worry about /boot/efi mounting

Partitions you will need to boot in UEFI mode:
Plan for /, /boot, /swap, /home and /boot/efi
As for /boot/efi – if the first sentence above is true then you already have this partition. It is usually labelled ‘EFI System Partition’ or ‘ESP’. Do not create a new one. Just mount the existing one. This is very important. Once you have correctly instructed Anaconda to mount the EFI partition as /boot/efi, it will setup the bootloader accordingly. Your Fedora boot images always reside in /boot irrespective of the mode you are booting with.

For Legacy Booting:
Note: You do not need /boot/efi
Plan for /, /home, /swap, and /boot

You can install the Beta version of Fedora-33 and follow its updates until it is released officially. That wouldn’t hurt.

Thorough explanation, @twohot.
Yes, 1st partition in C: disk says EFI System Partition.
So, I’ll follow your path.

I recently setup a desktop computer under Fedora 32 only -no dual boot- and created a partition for /boot alone so the btrfs volume was labeled / and the rest just subvolumes.
Will it be similar but Anaconda will guide the /boot/efi setup?

If you boot the installer in UEFI mode, Anaconda will require /boot/efi before it can complete the installation. When mounting ESP at /boot/efi, DO NOT FORMAT IT! Formatting ESP will break Windows booting too and you do not want to be fixing Windows. The idea behind UEFI mode is that OSes can share the EFI partition.

I have not done a fresh installation since F28, so I have not experienced BTRFS. Sounds like you are doing an LVM-sort -of-thingy there. Anyway, if the standard disk tool in anaconda confuses you, try the the blivet tool. Select the ESP partition and tell Anaconda to mount it at /boot/efi (do not format). The Blivet tool is more explicit.

Yes, @twohot.
The BTRFS setup creates a similar to LVM volume.
New part to me is the /boot/efi.
Thanks to your indications I’ll find out.

I already downloaded the Fedora 33 beta disk image.
Now I need a USB drive to boot from and tell you where it goes to.

1 Like

So, making some progress with this thing.
accordingly to your directions, @twohot, @computersavvy, I need to use the /boot/efi partition WITHOUT formatting it.

As it is set in disk D:, the bootable disk selected by Windows being C: currently the data disk, i will have to choose both disks for the Fedora setup, right?

Windows in the laptop came in Secure mode.
So, it doesn’t allow to install anything not approved by Windows.
Either way, I’m planning to use Windows the least.
Just very few punctual tasks some sites don’t accept Linux for.

So, going to the point:
a) look for the EFI System Partition in Anaconda, select it to mount in /boot/efi and not format it.
b) label the BTRFS volume / and set subvolumes for /var, /usr, /usr/local, /opt and /home.

Wish me luck!
Or thoughful actions.

OK, process started.
Here what I’m facing:

First thing to do is to mount the /boot/efi Linux partition into the EFI System Partition.

Here is the disk and storage process selection screen

As for to try I chose the Personalized process

Next is the partition selection window.

Here I select Standard Partition

Next a window to choose the mounting point is shown.

No capacity was defined.

Finally for this stage is the parameter correction screen.

Here does a problem start.
No hint on how to add the Linux /efi/boot partition to the Windows EFI System Partition.
Capacity box shows the whole capacity.
And formatting cannot be disabled.

So, I aborted.

Now, using the Blivet-GUI.
I select both disks.
No problem creating the BTRFS (partition) volume in disk C: or sda, the data disk.
When selecting the D: or system disk to assign the /boot/efi mounting point…

select the edit tool to establish the mounting point

establish the mounting point

But, the big but…
I opened the editing window to check if formatting can be disabled and
when selecting the Without Format option, the mounting point shows deleted in the screen.

Any suggestion?

  1. You want to use the existing efi partition on C and mount it on /boot/efi without formatting.
  2. if you are using btrfs then it is only necessary to create 2 subvolumes, one for / and one for /home. Although you can create as many subvolumes as you choose, that seems an unnecessary administration issue. The drive is large enough that you are not likely to have any space issues.

With the images you posted it seems you selected to create an efi partition instead of choosing the one already existing. That is why it tried to force a format.

Let me make myself clear(er) @computersavvy.

  1. Exactly.
    I just want to prevent the mistake of damaging that Windows boot partition.
    So… is OK what I did?
    a) select the Windows EFI System Partition and
    b) establish /boot/efi as mounting point?
    Just that?
    Won’t it be formatted in the process?

  2. OK, I will create the btrfs partition at / mount point and also labeled /.
    And create /home as subvolume.

Phew! That was close. You almost made a mess there

Please stop describing the drives as though you are in Windows (e.g. C: or D:). Those drive letters are confusing. As far as your screenshots show, you have nvme0n1 and sda (where Sda is the HDD and nvme0n1 is the SDD).

In the Blivet-GUI, you will only do one thing on nvme0n1 (i.e. mount nvme0n1p1 as /boot/efi. That’s it. DO NOT FORMAT nvme0n1p1).

Tusting that you did not choose to format the EFI partition and that you only set it to be mounted at /boot/efi

Now go to sda. Do not touch sda1 because that is the data partition used by Windows. Select the unused space after sda1 and do the btrfs things there. You will need /boot, /home, and / subvolumes. Do not forget /boot.

1 Like

Long ago I gave up on Grub and started using the BIOS F12 button to boot one or another media.
It is always problematic to have more than one OS on a particular drive.
Experienced enthusiasts may argue otherwise, but after decades of using a wide range of different OSs in production environments, I can only recommend going with the BIOS. Otherwise, problems arise, sooner or later. Also, today Fedora 32 will seem painfully slow on a HDD. Your best bet is to ditch the HDD and replace it with the 2nd SSD where Fedora will occupy whatever 500 MB or so, and the rest may be an NTFS data partition shared by both OSs.

Well, as a coworker of mine said once, there are more dumb persons than askers.
And sorry for asking so much
Fine, @twohot, here I go again

nvme0n1p1 selected to be mounted on /boot/efi .

This is the partition layout of sda before partitioning for linux

Partition layout including btrfs and swap

This the layout of btrfs volume
(I know you talked of loss of administrative resources…)

Would I be able to proceed?

I surely will consider your advise on the replacement of the 1 TB HDD for another SSD.
I’ll just let some time pass to allow high capacity SSDs to get more affordable.

Thanks for the point of view anyway, @hsljo.

Oops. Didn’t realize that sda1 and sda2 were already taken. In any case, the free space is all we need

Is this still on the sda drive?

I fail to understand why you had to create all those subvolumes. Is that how btrfs works? Fedora usually creates all those as folders inside / (root) … although mounting those in separate partitions wouldn’t hurt. I thought that scheme is better suited for dedicated servers. Critical partitions would be /home, /, /swap and /boot. But then, I am thinking from the perspective of an Ext4 user. My perception is probably outdated

I hear you! Yes, a 1TB SSD costs about $60-70, but it is worth every $ because a laptop HDD is about 3x slower than a desktop HDD of the same size. On desktop, you are likely to get ~130-150 MB/s read transfer rate from a 1TB HDD. A laptop HDD of the same capacity will only deliver about 40-50 MB/s. This compared to sustained 200 MB/s and peak 450-500 MP/s transfer of an SSD makes a huge difference.