0

I have a 4-disk setup:

  • 240GB NVMe SSD (/dev/sdd)
  • 120GB Sata3 SSD (/dev/sdc)
  • 2TB HDD
  • 3TB HDD

I installed Windows on /dev/sdd which is the 240GB NVMe SSD. After installing Arch several times I finally got it working and booted to find out that I had created two EFI partitions: one on /dev/sdc1 (120GB SSD) and the other (that Windows created during installation) on /dev/sdd1 (NVMe).

Now I would like to move the GRUB from the 500MiB EFI on the Sata SSD to the NVMe drive, which I successfully completed, but Windows is not recognized and performing ls /EFI/EFI/Microsoft/boot I get that the file or directory is incorrect, maybe because ls /EFI/EFI reports NO Microsoft folder, that is probably caused by Arch that is mounting/booting the EFI partition in the Sata SSD in /EFI all though I booted from the GRUB installed on the WD240G (NVMe drive) in the boot menu at startup.

So, Arch does work via GRUB, Windows does work selecting his own boot manager, but the GRUB does not boot Windows and Arch has no Windows folder or files inside his EFI, which now should be the same as the Windows EFI but seems not, all though I performed:

  1. umount /EFI
  2. mount /dev/sdd1 /EFI
  3. grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB
  4. grub-mkconfig -o /boot/grub/grub.cfg

    • Why am I still not able to boot Windows from the Windows EFI GRUB?
    • Why does Arch does not see Windows in its EFI?
    • Do I have to format/delete the /dev/sdc1 EFI partition created during Arch installation or do I have to reinstall Arch a final time with the correct setting now that I know how to do it, mounting /dev/sdd1 instead of /dev/sdc1 in /EFI?
5
  • Use the Windows ESP...
    – jasonwryan
    Oct 13, 2018 at 3:13
  • @jasonwryan I have only the 100MB EFI partition since I'm on Seven Pro, and the problem tho is the fact that since I created and installed Arch using the EFI partition in the Arch disk, now it mounts that partition which contains NO Windows file at all so GRUB does not see Windows. But as stated in the question, Windows works fine with his bootloader, and Arch works fine with GRUB, I just don't want to switch every time.. Oct 13, 2018 at 4:46
  • @BJPGameVideosITA It's best practice to have an EFI System partition for each disk for its respective operating systems. If you want to combine them thats one thing but if all you're trying to do is have GRUB detect Windows on another disk thats different. Is that what you're trying to do?
    – jdwolf
    Oct 14, 2018 at 0:38
  • That was what I wanted to do, but as I didn't installed or configured anything this important to keep that hard, I just found the time to reinstall Arch as only two partitions for / and /home using the Windows already created UEFI. Oct 14, 2018 at 21:06
  • Also thanks for the suggestions to @jdwolf Oct 14, 2018 at 21:07

2 Answers 2

1

Instead of merging the EFI system partitions just leave them separate if you have operating systems on both of the disks. This also keeps both of the disks bootable independently.

What you want is to have GRUB detect operating systems on other disks. To do that install the os-prober package and rerun grub-mkconfig.

You can also leave the existing UEFI menu entries in place that way you can always boot them separately if you choose.

0

Run "efibootmgr -v" as root in Arch. The output describes the boot information stored in the system NVRAM. Note that it identifies the partition where each installed bootloader is supposed to be loaded, using an UUID that is unique for each GPT-style partition.

Until you change this information, the UEFI firmware will still be looking for GRUB on the ESP partition of your /dev/sdc disk. Just adding the contents of one ESP partition to the other will not change anything.

Read the efibootmgr man page to see how to change the NVRAM boot settings. Or post the output of efibootmgr -v if you need more help in figuring out the necessary efibootmgr commands.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .