Nếu bạn thay thế bo mạch chủ UEFI, bạn sẽ cần thêm đường dẫn của bộ tải hệ điều hành vào UEFI.
Nó có thể được thực hiện bởi efibootmgr
tiện ích. Bạn sẽ cần phải khởi động từ Ubuntu LiveUSB, tìm phân vùng EFI của bạn và thêm các bản ghi.
Phân vùng EFI có thể dễ dàng tìm thấy. Đó là một phân vùng fat32 nhỏ, có boot
cờ trong nhiều trường hợp.
Trình tải EFI là các tệp nằm trong phân vùng EFI của bạn. Ubuntu có hai bộ tải grubx64.efi
và shimx64.efi
. Cái sau được ký với khóa Microsoft để có thể khởi động với Secure Boot trên. Nhưng trong hầu hết các trường hợp, một trong hai hoạt động. Bạn chỉ có thể thêm một cách an toàn shimx64.efi
.
Những bộ tải được đặt tại /boot/EFI/ubuntu
.
Vì vậy, để thêm bản ghi vào UEFI, bạn sẽ cần chạy
sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu -d /dev/sdX -p N
nơi /dev/sdX
là đĩa nơi phân vùng EFI tọa lạc và N
số lượng phân vùng đó. Ví dụ cho /dev/sdb2
nó sẽ nhìn theo cách này
sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu -d /dev/sdb -p 2
/dev/sda1
là mặc định. Nếu bạn có phân vùng EFI ở đó, bạn có thể bỏ qua -d
và -p
tham số.
-c
tham số là tạo bản ghi UEFI.
-l
là một đường dẫn đến trình tải ở định dạng Windows bắt đầu \EFI
vì một số lý do.
-L
là một nhãn hiệu Bạn sẽ thấy nó trong bios của bạn như là một tùy chọn khởi động. Bạn có thể thay đổi nó thành một cái gì đó khác, nhưng tôi không chắc chắn rằng nó update-grub
sẽ không thay đổi nó ubuntu
trở lại.
Nếu bạn chạy sudo efibootmgr -v
, bạn sẽ thấy tất cả các bản ghi của bạn với các đường dẫn và nhãn.
Bạn có thể xóa một bản ghi được thêm sai bằng cách chạy
sudo efibootmgr -Bb nnnn
nơi nnnn
là con số kỷ lục.
Thông tin thêm về efibootmgr
tiện ích có thể được lấy bởi
man efibootmgr
Bạn có thể thêm bản ghi cho các hệ điều hành khác như Windows theo cách tương tự. Nhưng tôi không thể cung cấp thêm chi tiết về tập tin và đường dẫn của chúng.