Tôi đang ở giữa một vấn đề tương tự (tình cờ cũng trên vòm)
Grub không tìm thấy tệp này và chạy vì nó đang sử dụng "tiền tố" không chính xác
Dưới đây là những gì bạn làm. Bạn khởi động vào chế độ cứu hộ grub, sau đó bạn chỉ cần tìm ra cách để khởi động nó.
Đầu tiên bạn chạy set này sẽ liệt kê các biến, ví dụ của tôi là
cmdpath=(hd0)
prefix=(hd1,msdos3)/boot/grub
root=hd1,msdos3
Bây giờ, tiền tố là biến trong đó grub tìm tệp normal.mod. Trong trường hợp của tôi hd1, msdos3 giống với / dev / sdb3 (tương tự, hd0, msdos1 sẽ là / dev / sda1) những gì bạn có thể muốn làm để xem danh sách các phân vùng hợp lệ được nhập vào ls
Bây giờ, trong trường hợp của tôi, một lần nữa, grub đã được cài đặt trên / dev / sdb1 được gắn kết là / boot trong phân vùng vòm của tôi, vì vậy tiền tố chính xác sẽ là (hd1, msdos1) / grub
Vì vậy, để tôi khởi động, tôi cần phải làm điều này:
set prefix=(hd1,msdos1)/grub
insmod normal
normal
Trong trường hợp của bạn, bạn sẽ phải nhớ hoặc đoán phân vùng mà bạn đã cài đặt grub trên. Bạn có thể đoán sai, nó sẽ không gây hại gì, lệnh insmod sẽ thất bại và bạn có thể thử lại với một phân vùng khác.
Sau này, grub tải như bình thường và tôi có thể chọn ra khỏi danh sách những gì tôi muốn khởi động. Thông thường khi một mớ hỗn độn như thế này xảy ra, việc cài đặt lại grub vào mbr của bạn (sử dụng grub-install ) sẽ khắc phục nó vĩnh viễn để bạn không phải làm điều này mỗi khi khởi động. Tuy nhiên tôi đang gặp rất nhiều khó khăn trong việc tìm hiểu phải làm gì nếu sửa nó không dễ dàng như vậy (hoặc tôi muốn chia sẻ những gì bạn nên làm).
Chỉ khi điều này không thành công (ví dụ: nếu tiền tố là chính xác nhưng bạn vẫn không thể khởi động) thì bạn nên dùng đến các cds sống hoặc cứu để giải quyết vấn đề (tốt nhất là tránh điều đó)
grub-install
. Bạn không phải lặp lại bất kỳ bước nào, chỉ cần sử dụng chúng làm hướng dẫn để nhận được thông báo từ liveCD.