我的电脑上有三个磁盘。一个 HDD,两个 SSD。
在硬盘上- 现在只有空闲空间了。以前我在那里安装过 Ubuntu。
在 SSD1 上- 有 Windows + EFI 系统分区(可能是 GRUB 的安装位置。过去,使用此分区在 HDD 上双启动旧的 Linux 安装和 Windows 安装)
现在,我买了一个新的SSD并安装了Ubuntu。我们称之为SSD2。
在 SSD2 上- 仅限 Ubuntu(非特定的 EFI 系统分区)+ 用于 Windows 文件的分区。
在安装过程中,在“引导加载程序安装设备”选项中我选择了:
“/dev/nvme0n1p4” > 格式:ext4 与我安装整个系统的分区相同,不是特定的 EFI 系统分区。
所以这里我有两个问题。1- 我是否安装了两个 GRUB?我的意思是,如果我移除 SSD1,我是否能够仅使用 SSD2 启动 Linux?2- 将引导加载程序安装在系统分区上(就像我在 SSD2 上所做的那样)而不是安装在某个特定的 EFI 分区上(就像我在 SSD1 上所做的那样)有什么实际后果吗?
做了一些研究,但仍然有点困惑,然而,得到了一些命令可以帮助你澄清我目前的情况:
sudo fdisk -l
Disk /dev/nvme0n1 (SSD2 - New): 232,91 GiB
Device Start End Sectors Size Type
/dev/nvme0n1p1 34 32767 32734 16M Microsoft reserved
/dev/nvme0n1p2 32768 253513727 253480960 120,9G Microsoft basic data
/dev/nvme0n1p4 254513152 488396799 233883648 111,5G Linux filesystem
Disk /dev/nvme1n1 (SSD1 - Old): 119,25 GiB
Device Start End Sectors Size Type
/dev/nvme1n1p1 2048 249659391 249657344 119G Microsoft basic data
/dev/nvme1n1p2 249659392 250068991 409600 200M EFI System
lsblk
sda (HDD) 8:0 0 931,5G 0 disk
└─sda6 8:6 0 7,2G 0 part
nvme0n1 (SS2 - New) 259:0 0 232,9G 0 disk
├─nvme0n1p1 259:1 0 16M 0 part
├─nvme0n1p2 259:2 0 120,9G 0 part
└─nvme0n1p4 259:3 0 111,5G 0 part /
nvme1n1 (SSD1 - OLD) 259:4 0 119,2G 0 disk
├─nvme1n1p1 259:5 0 119G 0 part
└─nvme1n1p2 259:6 0 200M 0 part /boot/efi
sudo efibootmgr-v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0002,2001,2002,2003
Boot0000* ubuntu HD(2,GPT,giant_number)/File(\EFI\ubuntu\shimx64.efi)RC
Boot0002* Windows Boot Manager HD(2,GPT,giant_number)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.= (giant_number)......
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
答案1
我只能看到您的系统上安装了一个 grub 实例,并且该实例安装到您的 EFI 系统分区/dev/nvme1n1p2
(SSD1 - OLD
)。
如果您删除包含 EFI 系统分区的驱动器,则将无法在此机器上启动任何操作系统。
将 Grub 实例安装到 OS 分区仅在传统模式下有意义,但在 UEFI 模式下则没有意义。在 UEFI 模式下,安装程序将尝试将 Grub 安装到现有 ESP(安装程序会自行搜索有效的 ESP)并忽略您选择的引导加载程序位置。