note/efi-files

EFI 文件

这是我的 dell 电脑现在的分区示意图:

/                         <- /dev/sda7
├── boot
│   ├── efi               <- /dev/sda1
│   │   └── EFI
│   │       ├── Boot
│   │       │   ├── bootx64.efi
│   │       │   └── fbx64.efi
│   │       ├── Microsoft
│   │       │   ├── Boot
│   │       │   │   ├── BCD
│   │       │   │   ├── bootmgr.efi
│   │       │   │   └── ...
│   │       │   └── ...
│   │       ├── ubuntu
│   │       │   ├── grubx64.efi
│   │       │   └── ...
│   │       └── ...
│   ├── grub
│   │   ├── grub.cfg
│   │   ├── x86_64-efi
│   │   │   ├── core.efi
│   │   │   ├── grub.efi
│   │   │   └── ...
│   │   └── ...
│   └── ...
└── ...

其中 /boot/efi/EFI/Boot/bootx64.efi/boot/efi/EFI/ubuntu/grubx64.efi/boot/grub/x86_64-efi/grub.efi 的内容是一样的。

而在 mac 虚拟机上装的 arch 是这样的:

/                        <- /dev/sda2
├── boot                 <- /dev/sda1
│   ├── EFI
│   │   └── grub
│   │       └── grubx64.efi
│   ├── grub
│   │   ├── x86_64-efi
│   │   │   ├── core.efi
│   │   │   ├── grub.efi
│   │   │   └── ...
│   │   └── ...
│   └── ...
└── ...

看出什么不同了吗?

修复

HP UEFI doesn't boot Ubuntu automatically - Ask Ubuntu

/boot/EFI/grub/grubx64.efi 复制到 /boot/EFI/BOOT/bootx64.efi 就可以了。

 /                        <- /dev/sda2
 ├── boot                 <- /dev/sda1
 │   ├── EFI
+│   │   ├── BOOT
+│   │   │   └── bootx64.efi
 │   │   └── grub
 │   │       └── grubx64.efi
 │   ├── grub
 │   │   ├── x86_64-efi
 │   │   │   ├── core.efi
 │   │   │   ├── grub.efi
 │   │   │   └── ...
 │   │   └── ...
 │   └── ...
 └── ...

About Me