我有一个旧的戴尔系统通过 MBR 启动,但坏了,所以我将 sda 移到了新的戴尔系统并尝试设置 uefi 启动。当我尝试启动我创建的条目时,戴尔 BIOS 显示“未找到可启动设备”。
由于系统有第二个磁盘,我暂时断开了 sda 并将 CentOS v7 安装到 sdb,这样就可以正常工作了。我能够启动 sdb - 即使在我重新连接 sda 之后也是如此。
因此,我将 sda efi 文件系统从 FAT32 重新创建为 FAT16,因为这是在 sda efi 分区上创建的 CentOS 安装程序 - 并且我将所有文件从 sdb boot/efi 复制到 sda boot/efi。但我仍然无法从 sda 启动。
我不想在 sda 上重新安装 CentOS。 我需要做什么才能让 Dell BIOS 启动我创建的 efi 条目?
这是当前的 efibootmgr 输出:
efibootmgr -v
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0005,0001,0002,0000
Boot0000 Windows Boot Manager HD(1,GPT,8e1549f6-8d27-4875-9395-0f045305a79d,0x800,0x4b000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0001* CentOS HD(1,GPT,85ecf60a-9298-458c-8abb-3a31dacca6a8,0x800,0x64000)/File(\EFI\centos\shimx64.efi)
Boot0002* fbx64 HD(1,GPT,2c34da76-532b-4c4c-8202-7d0eb71550c0,0x800,0xf4800)/File(\EFI\BOOT\fbx64.efi)
Boot0005* grub HD(1,GPT,2c34da76-532b-4c4c-8202-7d0eb71550c0,0x800,0xf4800)/File(\EFI\centos\shimx64.efi)
下面两个 efi 条目是我创建的。CentOS 条目是 CentOS 安装程序创建的。
奇怪的是,当我重新连接 sda 时,我仍然可以从 sdb 启动 CentOS。
其他详情:
- 启动模式为 UEFI
- 安全启动:关闭
- BIOS 磁盘模式为 ACHI
- sda 通过 GPT 进行分区
在 BIOS 启动屏幕中,我可以看到使用 efibootmgr 创建的用于启动 CentOS 的条目。
sda分区信息:
parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA HGST HDN726040AL (scsi)
Disk /dev/sda: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: pmbr_boot
Number Start End Size File system Name Flags
1 1049kB 514MB 513MB fat16 efi boot
3 514MB 8513MB 8000MB ext4
4 8513MB 8713MB 199MB fat32 efi boot
6 8713MB 10.5GB 1800MB swap
5 10.5GB 4001GB 3990GB xfs
是的,我知道分区 4 处有第二个 efi 分区。最初,我从旧交换分区创建了该分区,但后来发现戴尔可能不喜欢 sda4 处的 efi 分区。因此,我将旧的 /boot 分区转换为 efi(我保存了所有内核映像等,并将它们复制到根分区上的 /boot),并将 sda1 设置为挂载在 /boot/efi 上。
答案1
我没时间修复 UEFI 启动,所以最后只能在转移的 OS 磁盘上重新安装 CentOS v7,然后将其重新配置回原样(我保存了 /etc/)。到目前为止,重新配置我需要的基本功能所花的时间比修复 UEFI 启动问题所花的时间要少——但我还没有让所有东西都恢复正常运行。
@user1686-感谢您的回复。