为什么安装新的 GRUB 后无法启动 Windows Server?

为什么安装新的 GRUB 后无法启动 Windows Server?

我在硬盘上安装了三个不同的系统:Windows Server 2012 R2、Ubuntu Client 16.04 和 Ubuntu Server 16.04。当我安装完 Ubuntu Server 后,我无法通过新的 GRUB 访问 Windows Server,只能访问 Ubuntu 系统。这是为什么?这是我所做的事情的日志:

  1. 格式化 250GB HDD(格式化为 NTFS?)
  2. 为Windows Server创建150GB分区
  3. 在该分区上安装了 Windows Server
  4. 测试了Windows Server,运行良好
  5. 安装了 Ubuntu 客户端,工作正常,我可以在 GRUB 中选择 Windows 和 Linux
  6. 安装了Ubuntu Server,安装过程中安装了新的GRUB
  7. Windows 不显示在 GRUB 中,仅显示 Linux 客户端和 Linux 服务器
  8. 插入Windows安装驱动器,进入修复模式,输入bootrec /fixmbr
  9. Windows 启动,但没有 GRUB
  10. 进入 Ubuntu Server 安装程序,高级选项并输入rescue/enable=true
  11. Windows 不显示在 GRUB 中,仅显示 Linux 客户端和 Linux 服务器。

如何让所有系统都出现呢?所有分区都很好。我想我在 sda1 上有 windows,在(sda3?)上有 ubuntu 客户端,在 sda5 上有交换空间,在 sda4 上有服务器。

答案1

Grub 菜单不是动态的,它们是在update-grub操作系统内部运行某些内容时创建的。

当从多个操作系统进行管理时,Grub 无法正常工作。这不是问题的原因,但对解决问题没有帮助。因此,您需要从 Ubuntu 服务器或“Ubuntu 客户端”(Ubuntu 桌面?)中删除 Grub。由于 Ubuntu Server 似乎没有为你检测到 Windows,所以我会保留 Ubuntu Desktop 的 grub 并销毁 Ubuntu Server 的 grub。


启动进入 Ubuntu 桌面(客户)。并通过在命令行上运行以下命令来确保 Ubuntu 桌面的 grub 已正确安装:

sudo grub-install
sudo update-grub

这应该会让您回到检测所有操作系统的系统,因为您说它在您第一次安装时检测到了 Windows。

要清理,你应该启动进入 Ubuntu 服务器并删除所有 grub 软件包,让 Ubuntu Desktop 管理您的启动。您可以使用 或 列出已安装的 grub 软件包,dpkg --list | grep grub并使用 删除它们sudo apt-get autoremove <packages>。或者你可以运行这个:

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

相关内容