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)
Xong. Problem solved!
[convertkit form=7087807]
Mình nâng từ 7 lên 8 cũng hay bị lỗi vặt nên đã backup hết vm xong cài lại proxmox 8 từ đầu cho ổn định.
Xin chào anh.
Em có bộ máy i5 8400, main giga b360 d2v, ram 16G
Mục đích muốn cài:
1, xpen để dùng cam Ai + plex tải torrent từ nas
2, home assistant (bản x86 x64)
thì nên dùng esxi hay promox, hay dùng xpen tạo máy ảo chạy home assistant (phải máy ảo chứ docker không cài được bản full)
Mình nghĩ dùng Proxmox là tối ưu nhất nhé.
“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”
Làm thế nào để vào terminal vậy?