当 Ubuntu 更新运行并安装新内核时,“update-grub”将运行。它会查找并公布当前连接到计算机的所有 Ubuntu 系统,甚至其他 Linux 版本和 Windows。我认为它还有可能将新的 grub 引导加载程序复制到它找到的任何系统。
例如,假设您的硬盘上有一个Ubuntu系统,并且还创建了一个USB驱动器Ubuntu系统。然后启动到 USB 驱动器并在运行“update-grub”的位置进行更新。我说(认为)“update-grub”不仅会在 USB 驱动器上而且还会在硬盘驱动器上制作 grub 的新副本。如果 Ubuntu 系统相同则没有问题。但也存在潜在的问题:
- USB 和硬盘上不同版本的 Ubuntu;
- 1 为 32 位灯光系统,另一个为 64 位;
- 版本相同,但硬盘是带有 UEFI 的 SSD 驱动器。
当硬盘驱动器上已有系统并且您在 USB 驱动器上生成新系统时,也可能会发生这种情况。在系统生成和 Ubuntu 更新(当安装新内核时)期间,我弄乱了 USB 驱动器和硬盘驱动器上的几个系统,我相信在update-grub
运行时我已经追踪到了这一点。当生成一个新系统时,它会询问您在哪里安装引导加载程序,即使您回答正确,当生成链接内核时,它仍然可以复制到另一个驱动器。
是否可以限制 grub 可以/将在哪些驱动器上更新?为了缓解这种情况,我甚至打开了计算机的机箱并暂时断开硬盘驱动器的连接。但如果它是新的 SSD 卡驱动器之一,那就更困难了,我不准备尝试这个。
还有其他人经历过吗?我做错了什么吗?我所做的只是在带有硬盘的启动 USB 驱动系统上进行正常的 Ubuntu 更新(只是更新,而不是升级到新版本),或者启动到带有包含 Ubuntu 系统的 USB 驱动器的硬盘。然后这些系统中的一个或多个将无法再次启动。