在这种情况下是否会安装Windows break grub?

我的计算机有两个500 GB的SSD,sda和sdb。 我在sda上运行Ubuntu 14.04,sdb上什么都没有。 我的主板有UEFI固件。 我想在sdb上安装Windows 10。

关于如何在Ubuntu之后安装Windows的问题有很多答案,但他们假设这两个系统位于同一磁盘上的不同分区上。 他们继续解释Windows将破坏Grub以及如何解决这个问题。

如果我将Windows安装到sdb上,一个完全独立的驱动器,它还会破坏grub吗?

非常感谢。

安装Windows实际上并没有在基于EFI的安装上破坏 GRUB; 它只是使Windows引导加载程序成为默认值。 对于基于BIOS的系统,这是通过Windows覆盖GRUB(可能被认为是一种破损)来完成的,但对于基于EFI的系统,这种情况发生在Windows安装自己的引导加载程序旁边GRUB然后默认告诉计算机使用Windows启动加载程序启动。 在第二个(EFI)情况下,GRUB保持不变,并且可以通过多种方式更改默认引导加载程序:

  1. 使用EFI固件的用户界面 – 详细信息因EFI而异,有些甚至不提供此function; 但有些允许您使用EFI设置实用程序永久更改引导顺序。 大多数情况下,您可以通过激活启动管理器的用户界面进行临时更改,通常是在启动后立即按Esc,Enter或function键。
  2. 使用EFI shell – EFI shell程序,版本2(内置于少数EFI中,并作为单独的二进制文件提供给其他人)具有一个名为bcfg的命令,用于操作引导变量。 您可以使用此工具更改引导顺序。 有关此主题的更多信息,请参见此处
  3. 在Windows中使用bcdedit – 在Windows 管理员命令提示符窗口中键入bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi会将Ubuntu设置为默认值。 (如果禁用安全启动, grubx64.efi可以和shimx64.efi一样shimx64.efi ,在某些情况下可能需要;但是shimx64.efi更有可能工作。)
  4. 在Windows中使用EasyUEFI – 第三方EasyUEFI程序提供了一种(相对)易于使用的GUI方法来操作EFI引导条目。
  5. 在Linux中使用efibootmgrefibootmgr命令可以显示和更改EFI引导条目。 你输入sudo efibootmgr -v查看当前条目,然后使用-o更改引导顺序,如sudo efibootmgr -o 2,7,4首先引导Boot0002 ,然后引导Boot0002 (如果失败)和final尝试Boot0004
  6. 在OS X中使用bless – OS X用于操作EFI引导条目的工具是bless 。 它有点复杂,Mac有点奇怪,所以我不会在这里详细描述。

请注意,在EFI系统上,使用一个磁盘而不是两个或更多磁盘在很大程度上是无关紧要的。 这是因为EFI引导过程涉及基于NVRAM的引导加载程序的指针。 NVRAM条目包括存储引导加载程序的磁盘和分区的标识符。 任何分区都可以容纳任意数量的引导加载程序(达到一些非常高的理论极限); 或者您可以根据需要将它们分布在尽可能多的分区和磁盘上。 这几乎都是一样的。 但需要注意的一点是:在处理BIOS模式多重启动时经常使用的一种策略是在安装第二个操作系统时删除已安装操作系统的磁盘。 这在EFI系统上仍然具有安全优势,但有一个问题:如果您删除磁盘,一些EFI会注意到它已经消失并删除存储在该磁盘上的引导加载程序的NVRAM条目。 因此,在BIOS系统上交换磁盘会使启动第二个操作系统变得更加困难,因为您需要重新创建其EFI启动管理器条目。

只要保留Windows的所有分区(系统保留和C :)限制在第二个磁盘(sdb),它就不会破坏安装在第一个磁盘(sda)上的grub。 您只需从BIOS中选择要引导的磁盘即可。 之后你的BIOS将简单地执行相应的bootloader,无论是windows还是grub。