When installing F28 on my Dell XPS 8930, Fedora failed to detect the
PCIe SSD containing the Windows OS, and so it didn't install Windows as an
option in the grub2 boot menu. The non-detection of the Windows OS seemed
to be because the SATA system on the XPS 8930 is RAID, rather than AHCI and
fedora doesn't support it.

Here is my setup: the Windows drive is the above-mentioned PCIe SSD, which I
left alone. I installed another SSD as a normal GPT drive to contain Linux,
along with two other normal GPT HD's to act as D:\ and E:\ drives on the
Window's side. I partitioned the Linux SSD into an EFI partition (vfat, 500
MB), an ext4 partition (30 GB) to contain the linux root (/), a linux swap
partition (20 GB), and an ext4 home partition (/home).

I then installed F28 on the Linux SSD with RAID still turned on in the BIOS, using
only the EFI, /, swap, and /home partitions of my Linux SSD.

ASIDE: I now have two separate EFI partitions, one on the Windows SSD and one
on my installed Linux SSE, and fortunately the BIOS boot menu is now aware of
both. So if all else fails, you can boot into either Linux or Windows by hitting F12
repeatedly (until the "F12 Boot" lights up) to choose either the "fedora" or the
"windows" boot loaders under the UEFI options in the BIOS boot options.

Because RAID was still on in the BIOS when I installed F28, Fedora failed to
discover the Windows SSD and so it wasn't added to the grub2 menu. So I decided
to try turning off RAID in the BIOS.

To do this, reboot and hit F2 repeatedly during bootup until "F2 Setup" lights
up. Then go to "Advanced", "SATA Operation" and switch it to AHCI.

Unfortunately, if you switch from RAID to AHCI in BIOS, you will find
that Windows will fail to boot. However, Linux will now detect the PCIe SSD
containing Windows. So boot into fedora (see "ASIDE" above if you
don't automatically have the option to boot int Linux) and remake the
grub.cfg file as follows;

1) become root (or do everything below using sudo)
2) fdisk -l
NOTE: you should now see /dev/nvme0n1 (or similar) in the fdisk list which is the PCIe
SSD -- if you don't, abandon the following steps. They won't work.
3) cd /boot/efi/EFI/fedora
4) cp -p grub.cfg grub.cfg0 (backup grub.cfg, just in case)
5) grub2-mkconfig > grub.cfg

Hopefully, you'll see the Windows Loader entry being installed. If not, I've
no further suggestions

Oddly enough, the grub2 stage in the boot process seems to be able to find
the Window's SSD even when RAID is turned back on. so...

6) reboot and turn RAID back on in the BIOS
7) set the boot sequence to boot "fedora" first and reboot.

You should now be able to dual boot Linux/Windows. If you choose to boot into
F28, you will not be able to see the Window's SSD partition (C:\), because RAID is
back on, but I am able to see (and mount) my other D:\ and E:\ drives. And,
amazingly enough, choosing the Windows loader in the grub menu does now
successfully boot Windows!

NOTE: you'll have to turn RAID off again in BIOS to successfully remake a grub.cfg
which includes Windows, so I've no idea whether the solution above will withstand a
fedora update. Time will tell...