Một ngày đẹp trời, server Proxmox của mình tự nhiên không thể khởi động được sau khi bị cúp điện. Mình phải cắm màn hình ngoài vào để kiểm tra thì thấy hệ thống bị dính lỗi GRUB, hiện ra thông báo như bên dưới và không thể khởi động tiếp.
Phải tốn gần cả tiếng Google mình mới mò ra cách khắc phục để hệ thống hoạt động trở lại bình thường. Giờ ghi lại ở đây đề phòng có bị thêm lần nữa còn nhớ cách làm.
Mục Lục:
I. Nguyên nhân gây lỗi
Lỗi này là do 1 bug của GRUB xảy ra trên các hệ thống boot bằng UEFI, được nâng cấp từ PVE 7 lên PVE8. Chi tiết có thể xem ở link này dành cho bạn nào quan tâm: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=987008
II. Cách khắc phục
Mình làm theo hướng dẫn ở đây của Promxox: https://pve.proxmox.com/wiki/Recover_From_Grub_Failure
1. Khởi động tạm thời
Đầu tiên, tải grml về và dùng Rufus để tạo Boot USB.
Cắm USB này vào máy chủ Proxmox và cho khởi động từ USB đó, chọn Boot grml.
Truy cập vào terminal của grml, gõ lệnh sau
vgscan
Gõ tiếp lệnh này để tạo 1 phân vùng lvm tạm
lvcreate -L 4M pve -n grubtemp
Code language: Nginx (nginx)
Khởi động lại hệ thống. Proxmox sẽ không còn báo lỗi GRUB nữa.
Sau khi khởi động xong, gõ lệnh sau để xóa phân vùng lvm vừa tạo ở trên
lvremove pve/grubtemp
Code language: Nginx (nginx)
2. Sửa lỗi GRUB
Để không gặp tình trạng lỗi GRUB như ban đầu, gõ lệnh này trong terminal shell của GRUB để cài đặt phiên bản GRUB tương thích.
[ -d /sys/firmware/efi ] && apt install grub-efi-amd64
Code language: CSS (css)
Chúc các bạn thành công!