我的系统是这样分区的:
hdda 500千兆 (/dev/sda) ssd 20千兆 (/dev/sdb)
/dev/sda
/boot(300兆) /home(剩余空间)
(/dev/sdb)
/(14 GB 主系统,配备 ubuntu 14.04 x64)
/(7 giga 用于测试另一个操作系统版本,实际上使用 ubuntu 14.04)
交换(2 GB)
在将 ubuntu 14.04 安装到 (/dev/sdb) 第二个分区 (7 GB) 后,我猜想 grub 已被替换。问题是,即使在使用我的主系统 ((/dev/sdb 14 GB) 将内核升级到最新版本后,即使选择使用 grub 定制程序,重启后也不会自动转到最新版本,只需重启并转到安装的第二个系统并在那里使用 grub 定制程序即可
答案1
如果安装了两次,通常必须进行两次更新。无论哪个系统的 grub 位于 MBR 中,都必须启动并sudo update-grub
运行以在第二次安装中找到较新的内核。
但是由于您有两个驱动器,请将主要工作安装的 grub 放入 sdb 的 MBR。并将测试安装的 grub 保留在 sda 的 MBR 中。安装时 grub 默认为 sda。最好使用其他东西,并在分区屏幕上更改为同一驱动器的 MBR。
您可以启动 sdb 中的安装并将 grub 安装到 SSD 的 MBR。然后更改 BIOS 以启动 SSD。
sudo grub-install /dev/sdb
sudo update-grub
如果您只能从 sda 启动,那么只需更改 /dev/sda。
但是如果你最初将 grub 安装到 sda,它会记住该设置以便在重大更新时重新安装。因此你还需要重置它:
要查看 grub2 使用的驱动器,请参见此行(仅限 BIOS,而非 UEFI)- grub-pc/install_devices:
sudo debconf-show grub-pc
它将显示驱动器型号和序列号以查看驱动器信息
sudo lshw -C Disk -short
让 grub2 记住更新时重新安装的位置:
sudo dpkg-reconfigure grub-pc
进入第一页,空格键选择/取消选择驱动器,输入接受,不要选择分区
您还可以通过在 40_custom 中手动添加自己的启动节并直接启动分区或链接到最新的内核来避免双重更新。
https://help.ubuntu.com/community/MaintenanceFreeCustomGrub2Screen
如果是 64 位或签名版本,UEFI 系统不使用 grub-pc,而是使用 grub-efi-amd64。因此,以上所有内容仅适用于基于 BIOS 的系统。