Tôi có một hệ thống multiboot được thiết lập. Hệ thống có ba ổ đĩa. Multiboot được cấu hình với Windows XP, Windows 7 và Ubuntu - tất cả trên ổ đĩa đầu tiên. Tôi còn rất nhiều dung lượng chưa được phân bổ trên ổ đĩa và đã đặt trước nó để thêm các hệ điều hành khác và để lưu trữ các tệp ở đó trong tương lai.
Một ngày nọ, tôi tiếp tục và tải xuống Trình hướng dẫn phân vùng và tạo một phân vùng NTFS hợp lý từ bên trong Windows 7, vẫn còn một số không gian chưa phân chia. Mọi thứ hoạt động tốt, cho đến khi tôi khởi động lại máy tính vài ngày sau đó.
Bây giờ tôi đang nhận được:
error: unknown filesystem.
grub rescue>
Trước hết tôi rất ngạc nhiên khi không tìm thấy bất kỳ loại lệnh trợ giúp nào, bằng cách thử:
help
, ?
, man
, --help
, -h
, bash
, cmd
,, Vv
Bây giờ tôi bị mắc kẹt với hệ thống không thể khởi động. Tôi đã bắt đầu nghiên cứu vấn đề và thấy rằng mọi người thường khuyên nên khởi động vào Live CD và khắc phục sự cố từ đó. Có cách nào để khắc phục vấn đề này từ trong cứu hộ grub mà không cần Live CD không?
CẬP NHẬT
Bằng cách làm theo các bước từ các lệnh Persist được nhập vào giải cứu GRUB , tôi có thể khởi động để nhắc initramfs. Nhưng không nơi nào xa hơn thế.
Cho đến nay, từ khi đọc hướng dẫn về cứu hộ grub , tôi đã có thể thấy các ổ đĩa và phân vùng của mình bằng ls
lệnh. Đối với ổ cứng đầu tiên tôi thấy như sau:
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)
Bây giờ tôi biết rằng (hd0, msdos6) có chứa Linux trên đó, vì ls (hd0,msdos6)/
liệt kê các thư mục. Những người khác sẽ đưa ra "lỗi: hệ thống tập tin không xác định."
CẬP NHẬT 2
Sau các lệnh sau, bây giờ tôi vào menu khởi động và có thể khởi động vào Windows 7 và Ubuntu, nhưng khi khởi động lại, tôi phải lặp lại các bước này.
ls
ls (hd0,msdos6)/
set root=(hd0,msdos6)
ls /
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/linux.mod
normal
CẬP NHẬT 3
Cảm ơn Shashank Singh, với hướng dẫn của bạn, tôi đã đơn giản hóa các bước của mình để sau đây. Tôi đã học được từ bạn rằng tôi có thể thay thế msdos6 chỉ bằng 6 và tôi chỉ có thể làm insmod normal
thay vì insmod /boot/grub/linux.mod
. Bây giờ tôi chỉ cần tìm ra cách lưu cài đặt này từ bên trong grub, mà không cần khởi động vào bất kỳ HĐH nào.
set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal
CẬP NHẬT 4
Chà, có vẻ như đó là một yêu cầu để khởi động vào Linux. Sau khi khởi động vào Ubuntu, tôi đã thực hiện các bước sau được mô tả trong hướng dẫn :
sudo update-grub
sudo grub-install /dev/sda
Điều này đã không giải quyết vấn đề. Tôi vẫn nhận được nhắc nhở cứu hộ grub. Tôi cần làm gì để khắc phục vĩnh viễn?
Tôi cũng đã học được rằng các số ổ đĩa như trong hd0 cần được dịch sang các ký tự ổ đĩa như trong / dev / sda cho một số lệnh. hd1 sẽ là sdb, hd2 sẽ là sdc, v.v. Các phân vùng được liệt kê trong grub là (hd0, msdos6) sẽ được dịch thành / dev / sda6.
CẬP NHẬT 5
Tôi không thể hiểu tại sao những điều sau đây không khắc phục được grub:
sudo update-grub
sudo grub-install /dev/sda
Vì vậy, tôi đã tải xuống boot-Repair dựa trên câu trả lời từ https://help.ubfox.com/community/Boot-Repair post. Điều đó dường như thực hiện thủ thuật sau khi tôi chọn tùy chọn "Đề xuất sửa chữa (sửa chữa các sự cố thường gặp nhất)".