Vì bạn nói bộ tải khởi động grub của bạn xuất hiện, nhưng menu trống, tôi nghĩ bạn không cần phải cài đặt lại grub, nhưng thay vào đó, như bạn yêu cầu, hãy chạy update-grub. Để đạt được điều này, bạn có thể sử dụng Live CD, gắn các phân vùng có liên quan từ đĩa cứng của bạn, chroot vào thư mục được gắn và chạy update-grub, hoạt động như thể bạn đang hoạt động trên đĩa cứng thực tế.
Khởi động với CD Live của bạn, chọn "Dùng thử Ubuntu mà không cần cài đặt".
Khi nó khởi động, hãy mở một thiết bị đầu cuối (ctrl-alt-t) và gắn kết phân vùng Ubuntu của bạn trên / mnt. Tôi giả sử phân vùng Ubuntu là / dev / sda5, nhưng bạn nên tự xác định điều này. Hãy cho tôi biết nếu bạn cần giúp đỡ để làm điều này:
sudo mount /dev/sda5 /mnt
Sau đó gắn thêm một vài thư mục cần thiết:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc
Ngoài ra, nếu bạn có một phân vùng khởi động Ubuntu riêng biệt (khá hiếm trong những ngày này, nhưng nó có thể là trường hợp):
sudo mount /dev/sdaX /mnt/boot
Làm thế nào bạn có thể biết nếu bạn có một phân vùng khởi động?
Khi bạn đã cài đặt phân vùng Ubuntu, hãy mở /mnt/etc/fstab
. Nếu bạn thấy một mục nhập /boot
, hãy lưu ý thiết bị nào đang trỏ đến ( /dev/sda4
có thể?). Đây là một trong những bạn phải gắn kết.
Khi chúng được gắn kết, hãy chroot để bắt đầu sử dụng thư mục được gắn kết làm phân vùng gốc:
sudo chroot /mnt
Bạn sẽ nhận được một #/
lời nhắc. Điều đầu tiên cần làm là xác nhận rằng bạn đang sử dụng đúng /boot
thư mục. Đi đến /boot/grub
và xem các tập tin ở đó. Cần có một loạt các tệp .mod và một tệp grub.cfg. Nếu thư mục trống, đừng tiếp tục, vì điều đó có nghĩa đây KHÔNG phải là boot
thư mục thực sự của bạn . Nhìn ở trên để xem làm thế nào để xác định nếu bạn cần gắn một boot
thư mục bổ sung .
Khi bạn đã xác nhận /boot/
có chứa các tệp chính xác, nghĩa là đó là vị trí chính xác, hãy nhập:
sudo update-grub
Điều này sẽ xây dựng lại tập tin /boot/grub/grub.cfg của bạn với các mục menu.
Sau đó thoát khỏi chroot:
exit
Tại thời điểm này, bạn có thể muốn kiểm tra xem mọi thứ đã được cập nhật chính xác chưa. Đối với điều này, cd /mnt/boot/grub
và kiểm tra xem các tệp của grub có ở đó không, cần có một loạt các tệp .mod và grub.cfg, các tệp sau sẽ có các mục cho các hạt nhân Ubuntu của bạn. Nếu bạn chỉ thấy các tệp grub.cfg và không có tệp .mod, điều đó có nghĩa rằng đây KHÔNG phải là thư mục khởi động chính xác, hãy xem phía trên để biết cách gắn một phân vùng khởi động riêng.
Ngắt kết nối các hệ thống tập tin:
sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot #Only if you mounted it earlier
sudo umount /mnt/
Và sau đó khởi động lại, hy vọng menu Grub của bạn sẽ được khôi phục.