双启动 (Ubuntu)-(USB 上带有启动分区的 Ubuntu)

双启动 (Ubuntu)-(USB 上带有启动分区的 Ubuntu)

我的计算机中有两个内部 SSD,其中一个当前安装了 Ubuntu 20,分区如下:

nvme0n1
    ├─nvme0n1p1
    │    vfat         EFI                                             
    ├─nvme0n1p2
    │    ext4         /boot                  
    └─nvme0n1p3
         crypto       LUKS                  
      └─luks-long_uuid
         LVM2_m                      
        ├─vgubuntu-root
        │  ext4         /                  
        └─vgubuntu-swap_1
           swap         swap

这与默认引导加载程序 GRUB2 配合得很好

但我想在我的另一个驱动器上安装第二个 Ubuntu 20,并具有独立的启动分区(在 USB 拇指上)。第二个驱动器具有以下分区:

sda                                                                     
    ├─sda1 empty (I will use that later)
    ├─sda2 empty (I will use that later)
    ├─sda3 empty (I will use that later)
    └─sda5
         crypto       LUKS                  
      └─sda5_crypt
         ext4         /

我在 USB 上安装了启动分区,如下所示:

sdc                                                                     
├─sdc1
│    vfat   EFI                                               
├─sdc2
│    ext4         /boot                  
└─sdc3
     ext4         empty

当我从 live CD 安装第二个 ubuntu 时,一切都运行良好(我可以使用 USB 引导至 SSD),但是当我更新前一个 SSD (nvme0n1) 上的 grub 时,因为之前的配置已被全新安装删除,我无法再用我的 USB 启动(但我可以启动到第一个 SSD/nvme0n1)

我尝试安装第二个 ubuntu(带或不带 EFI 分区、带或不带引导加载程序)。但要点是,当我从第一个 SSD/nvme0n1 更新 grub 时,它没有检测到第二个 ubuntu(即使我安装了它,os-prober 也找不到我的第二个操作系统)

对我来说,理想的情况是将我的 EFI 和启动分区放在 USB 上,并将第二个 SSD 的其余部分放在我的计算机上,但我也可以只将启动分区放在 USB 上。

答案1

正如评论中指出的@奥德弗雷德Ubiquity 有一个微妙之处,它只在它找到的第一个 EFI 分区上安装 Grub。 A解决方法是删除主驱动器上EFI分区的esp标志(gparted例如)(这里我的主驱动器的EFI是nvme0n1p1)。

然后update-grub在里面跑步chroot环境第二个驱动器的:在我的例子中,它是sda5_crypt安装在/mnt(例如)实时 Ubuntu 操作系统中的未加密的 luks 设备,该设备将接收安装的引导分区(此处sdc2带有ext4fs)/mnt/boot,以及将接收 EFI 分区的设备(此处sdc1带有vfatfs)安装在/mnt/boot/efi.

最后设置回esp主分区的标志(这里nvme0n1p1

相关内容