首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新grub菜单项以正确指向旧操作系统安装

更新grub菜单项以正确指向旧操作系统安装
EN

Ask Ubuntu用户
提问于 2019-03-18 18:25:12
回答 1查看 2K关注 0票数 3

我最近在我的系统中添加了一个NVMe SSD。我已经在这个新的NVMe SSD上安装了Windows和Ubuntu。我想保留一个较早安装的Ubuntu。

代码语言:javascript
复制
NVMe0 - New Ubuntu 18.04 (works) [1]
      - New windows 10 (works) [2]
SSD0  - Ubuntu 18.04 (old) [3]
SSD1  - Windows 10 (old) [4]

我试过运行update-grub的时候。这导致grub菜单中有更多用于和的条目。但是,当我选择这两种方法之一时,会出现以下错误:

代码语言:javascript
复制
error: no such device: B6C5-4C11.
error: disk 'hd3,gpt2' not found.

如果我尝试从SSD0引导,我会得到我的旧的grub菜单,在那里我可以启动,但不能。

我想要完成的是:在引导到NVMe0之后,能够进入一个grub菜单。

这是一张素描

Update 1

NVMe0 EFI分区的UUID : A85E-D029 /etc/fstab的内容:

代码语言:javascript
复制
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#                
# / was on /dev/nvme0n1p5 during installation
UUID=0eb898d2-f93b-490f-b7f0-40d1ff6cacce /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p2 during installation
UUID=A85E-D029  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0
  1. 旧的Windows是在/dev/sde4上使用UUID E23CCF783CCF45EF的。
  2. 旧的Ubuntu在/dev/sdf1上,UUID为664b5f90-b52c-4f6b-b2b7-89933eb7bc27。

下面是update-grub生成的两个条目,它们会抛出错误。

代码语言:javascript
复制
menuentry 'Windows Boot Manager (on /dev/sde2)' --class windows --class os $menuentry_id_option 'osprober-efi-B6C5-4C11' {
    insmod part_gpt
    insmod fat
    set root='hd4,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd4,gpt2 --hint-efi=hd4,gpt2 --hint-baremetal=ahci4,gpt2  B6C5-4C11
    else
      search --no-floppy --fs-uuid --set=root B6C5-4C11
    fi
    chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Ubuntu 18.04.2 LTS (18.04) (on /dev/sdf1)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-664b5f90-b52c-4f6b-b2b7-89933eb7bc27' {
    insmod part_gpt
    insmod ext2
    set root='hd5,gpt1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd5,gpt1 --hint-efi=hd5,gpt1 --hint-baremetal=ahci5,gpt1  664b5f90-b52c-4f6b-b2b7-89933eb7bc27
    else
      search --no-floppy --fs-uuid --set=root 664b5f90-b52c-4f6b-b2b7-89933eb7bc27
    fi
    linux /boot/vmlinuz-4.15.0-46-generic root=UUID=664b5f90-b52c-4f6b-b2b7-89933eb7bc27 ro quiet splash $vt_handoff
    initrd /boot/initrd.img-4.15.0-46-generic
}

Update 2

所有4个操作系统都安装在UEFI模式的内部驱动器上。update-grub的输出:

代码语言:javascript
复制
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.18.0-16-generic
Found initrd image: /boot/initrd.img-4.18.0-16-generic
Found linux image: /boot/vmlinuz-4.18.0-15-generic
Found initrd image: /boot/initrd.img-4.18.0-15-generic
Found Windows Boot Manager on /dev/nvme0n1p2@/EFI/Microsoft/Boot/bootmgfw.efi
Found Windows Boot Manager on /dev/sde2@/efi/Microsoft/Boot/bootmgfw.efi
Found Ubuntu 18.04.2 LTS (18.04) on /dev/sdf1
Adding boot menu entry for EFI firmware configuration
done

Update 3

我安装了启动-修理。

代码语言:javascript
复制
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair

生成摘要输出2.1k行长报告

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-03-19 19:14:00

我不知道这个问题是在什么时候被修复的,因为我在测试之前做了以下所有的工作。

  1. 在新安装的Ubuntu上运行update-grub
  2. 运行 update-grub on旧Ubuntu安装
  3. 检查BIOS设置
  4. 闪现最新生物
  5. 重置bios设置
  6. 将所有设置重新设置为重置前的设置(UEFI而不是遗留的设置,等等)

我不明白为什么BIOS更新会产生影响,因为变更日志中唯一的项目是:“更新用于Intel安全问题的CPU微代码”。所以我最好的猜测是:第二步解决了这个问题。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1126711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档