我有一个 m.2 NVMe 硬盘,安装在一台计算机上,与安装的 Ubuntu 完美配合。我将硬盘移到另一台计算机上,但无法用它启动。当我启动计算机时,它会带我进入 EFI shell。
在 BIOS 中,驱动器不是在启动设备下列出,但在Advanced
>NVMe configuration
中列出了我的驱动器。我还尝试从实时 CD 启动,我可以看到驱动器和所有文件。
我不太确定,但我可能已以传统模式而非 UEFI 模式安装了操作系统。
我怎样才能让 BIOS 将驱动器视为可启动驱动器?我需要重新安装 Grub 吗?
答案1
经过进一步调查,结果发现操作系统确实是在传统 BIOS 模式下安装的,这就是为什么它在 BIOS 中没有被发现为可启动设备。我在 BIOS 中启用了传统模式,看看会发生什么,不幸的是,启动时屏幕一片黑,所以那里有些不对劲。
我想尝试将其从 BIOS 转换为 UEFI。尽管有时您无法将驱动器从一台计算机移植到另一台计算机(如 Nmath 在评论中所说),但我自己已经这样做过几次了,除了专有硬件驱动程序(可以轻松安装)之外,从未遇到任何重大问题,所以我决定再次这样做。这也比全新安装简单得多。
这是我的过程:
- 使用 Ubuntu 启动 Live USB(并确保它处于 UEFI 模式,如果 BIOS 禁用了传统模式,它显然会处于 UEFI 模式)。
- 备份我的分区表,以防
sfdisk -d /dev/nvme0n1 > mbr-backup.txt
出现问题。 - 使用将分区从 MBR 转换为 GPT
gdisk /dev/nvme0n1
,然后w
写入新的分区表。 - 使用 GParted,调整第一个分区的大小,使其前面留出 550 MB,然后在开头添加一个新的 FAT32 分区,并向其中添加 EFI 和 BOOT 标志。
- 运行
boot-repair
并按照所有提示进行默认修复。
幸运的是,Ubuntu 在检测硬件变化方面做得很好。我从安装了 Nvidia 显卡的电脑上取下驱动器,并将其放入另一台装有 Intel 显卡的电脑上,一切正常。