I was installing three different systems on a hard drive: Windows Server 2012 R2, Ubuntu Client 16.04 and Ubuntu Server 16.04. When I finished installing Ubuntu Server I can't access Windows Server via the new GRUB, only the Ubuntu systems. Why is that? This is a log of things I was doing:

  1. Formatted a 250GB HDD (into NTFS?)
  2. Created a 150GB Partition for Windows Server
  3. Installed Windows Server on that partition
  4. Tested Windows Server, it works fine
  5. Installed Ubuntu Client, works fine, I can choose between Windows and Linux in GRUB
  6. Installed Ubuntu Server, installed new GRUB during installation
  7. Windows doesn't show up in GRUB, only Linux Client and Linux Server
  8. Plugged in the Windows install drive, entered into repair mode, typed bootrec /fixmbr
  9. Windows boots up, but no GRUB
  10. Went into the Ubuntu Server installer, advanced options and typed in rescue/enable=true
  11. Windows doesn't show up in GRUB, only Linux Client and Linux Server.

How to make all the systems appear? All the partitions are fine. I think I have windows on sda1, ubuntu client on (sda3?), exchange space on sda5 and server on sda4.

1 Answer 1


Grub menus are not dynamic, they are created when something runs update-grub inside the OS.

Grub doesn't work well when managed from multiple OS. This isn't the cause of your problem but it won't help with the solution. So you will want to remove Grub from either Ubuntu server or "Ubuntu Client" (Ubuntu Desktop?). Since Ubuntu Server doesn't seem to detect Windows for you, I would keep Ubuntu Desktop's grub and destroy Ubuntu Server's grub.

Boot into Ubuntu Desktop (Client). And make sure Ubuntu Desktop's grub is properly installed by running this on the command line:

sudo grub-install
sudo update-grub

This should get you back to a system that detects all OS, since you say it detected Windows the when you first installed.

To clean up, you should then boot into Ubuntu Server and remove any grub packages, let Ubuntu Desktop manage your boot. You can list installed grub packages with dpkg --list | grep grub or and remove them with sudo apt-get autoremove <packages>. Or you can just run this:

sudo apt-get autoremove $(dpkg --list | awk '/grub/ {print $2}')

You must log in to answer this question.

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