Решение заключалось в использовании диспетчера загрузки Refind.
В моей установке прямо сейчас мой диск Windows не изменился по сравнению с новой установкой Windows, что означает, что у него есть диспетчер загрузки Windows. На диске с Linux у меня установлены GRUB и Refind с разделами для Fedora и Ubuntu.
Я позволил Fedora управлять установкой GRUB. Это важно, поскольку Fedora использует BTRFS, которую GRUB не поддерживает полностью, поэтому Fedora необходимо управлять всеми записями, поскольку Ubuntu не видит раздел Fedora.
Когда компьютер загружается, он переходит на дополнительный диск, что дает мне возможность вернуться к основному диску и загрузить Windows или загрузить Ubuntu или Fedora. Если я выберу Ubuntu, я перейду прямо к Ubuntu. Если я выберу Fedora, он перейдет к загрузчику GRUB, которым управляет Fedora. Я не мог заставить Fedora перейти прямо к Fedora, вероятно, потому, что Refind не видит раздел Fedora BTRFS. Еще одна причина позволить Fedora управлять GRUB.
Если я вытащу диск с Linux, в моем BIOS по-прежнему будет запись для диспетчера загрузки Windows, и он загрузится прямо с него, как если бы я никогда не устанавливал Linux. Если я вытащу диск Windows, Refind просто покажет параметры Ubuntu и Fedora, как будто Windows никогда не существовало.
Это решение отлично работает, единственная сложность будет заключаться в том, что у вас есть две операционные системы BTRFS, которые не могут видеть друг друга. Я не уверен, как это решить.
После всего этого я действительно считаю, что любая мультизагрузочная система должна использовать Refind. Это решило все мои проблемы и заняло 10 минут, чтобы установить.