Khắc phục sự cố khởi động Linux với GRUB

Quản trị mạng - GRUB (Grand Unified Bootloader) là một trình khởi động cho phép người dùng cài đặt nhiều bản phân phối trên hệ thống và lựa chọn ra một bản khi hệ thống khởi động. GRUB được sử dụng trên những hệ thống kiểu Unix. Hệ điều hành GNU và hầu hết các bản phân phối sử dụng GRUB làm trình khởi động. GRUB cung cấp một giao diện dòng lệnh kiểu bash rất dễ sử dụng.

Linux cần GRUB để khởi động, tuy nhiên bạn có thể gặp phải lỗi với GRUB ngăn cản tiến trình khởi động của hệ thống. Bạn có thể nhận biết sự cố xảy ra bởi vì khi đó bạn sẽ thấy những dấu hiệu sau xuất hiện:
  • GRUB đã bị xóa hoàn toàn và bạn sẽ không thấy gì ngoại trừ một con trỏ nhấp nháy khi máy chủ khởi động.
  • GRUB sẽ tạo ra một thông báo lỗi GRUB cụ thể.
  • GRUB cho biết nó không thể tìm thấy một file cần thiết.
Nếu gặp phải sự cố với GRUB, có hai phương pháp bạn có thể áp dụng để khắc phục chúng. Bạn có thể cài đặt lại GRUB hoặc khởi động lại hệ thống thủ công bằng cách nhập GRUB trong dòng lệnh. Sau đây chúng ta sẽ thực hiện cài đặt lại GRUB sau đó tải GRUB thủ công nếu gặp phải lỗi GRUB.

Cài đặt lại GRUB

Nếu gặp phải một lỗi trầm trọng với MBR trên hệ thống, nó xảy ra trong trường hợp thấy một con trỏ nhấp nháy lúc máy khởi động. Khi có lỗi xảy ra với MBR bạn sẽ không thấy thông báo lỗi GRUB. Thông thường trong tình huống đó bạn sẽ không thể khởi động hệ thống, cách tốt nhất là sử dụng đĩa CD cứu trợ để khởi động hệ thống. Bạn có thể sử dụng Knoppix để khởi động.

Sau khi khởi động bằng đĩa cứu trợ, vào môi trường chroot rồi sử dụng lệnh grub-install để cài đặt lại GRUB. Nếu muốn cài GRUB trong MBR và ổ cứng được đánh địa chỉ bởi file thiết bị /dev/sda, bạn sẽ phải sử dụng lệnh grub-install /dev/sda. Lệnh này sẽ đọc file cấu hình của GRUB (có địa đường dẫn /boot/grub/menu.lst trên hầu hết các bản phân phối) và căn cứ vào đó để ghi GRUB bootloader mới vào MBR. Dưới đây là những thông tin hiển thị khi sử dụng grub-install để cài đặt lại GRUB.
root@Knoppix:/# grub-install /dev/sda

You shouldn't call /sbin/grub-install. Please call /usr/sbin/grub-install instead!

Searching for GRUB installation directory ... found: /boot/grub

Installation finished. No error reported.

This is the contents of the device map /boot/grub/device.map.

Check if this is correct or not. If any of the lines is incorrect,

fix it and re-run the script `grub-install'.

(hd0) /dev/sda





Khởi động thủ công với GRUB


Bạn không nhất thiết phải cài đặt lại GRUB. Nếu mã GRUB vẫn tồn tại nhưng vì lỗi nào đó trong file cấu hình của GRUB hệ thống không thể khởi động được, khi đó bạn có thể thử khởi động thủ công. Đây là phương pháp phù hợp nhất nếu GRUB hiển thị một thông báo lỗi rồi dừng tiến trình khởi động. Khi nhập thủ công mọi lệnh GRUB, bạn có thể thấy chính xác vị trí xảy ra lỗi giúp khắc phục sự cố. Thực hiện các bước sau để tải thủ công cấu hình GRUB.

1. Để vào menu khởi động GRUB bạn cần kiểm tra kỹ hành vi hệ thống khi khởi động. Trong hầu hết trường hợp, nó yêu cầu bạn nhấn phím Escape (ESC) khi GRUB được xử lý. Khi đó bạn sẽ chuyển sang dòng lệnh GRUB. Một cách khác, bạn có thể khởi động từ một đĩa CD cứu trợ rồi nhập lệnh GRUB để mở giao diện dòng lệnh của GRUB.


2. GRUBShell cung cấp một số hỗ trợ cho người dùng do đó bạn không cần phải nhớ chính xác các câu lệnh. Để xem mọi lệnh GRUB bạn chỉ cần sử dụng lệnh help.


3. Khi tải thủ công GRUB yêu cầu bạn phải nhập thủ công mọi lệnh trong file /boot/grub/menu.lst. Tốt nhất bạn nên kiểm tra nội dung hiện thời của file menu.lst sử dụng lệnh cat /boot/grub/menu.lst. trong file này bạn cần kiểm tra những gì hệ thống cần khởi động.


4. Với những dòng mẫu hiển thị trên màn hình bạn cáo thể nhập thủ công mọi dòng GRUB. Điều đó có nghĩa bạn phải nhập những dòng root, kernel và initrd. Ví dụ như:
root (hd0,0)

kernel /boot/vmlinuz-2.6.24-16-server root=/dev/sda2 ro splash

initrd /boot/initrd-2.6.24-16-server
5. Sau khi nhập những lệnh đó hệ thống sẽ đợi chỉ dẫn. Thông thường khi đó bạn hãy nhập lệnh khởi động. Sau khi nhập lệnh quá trình khởi động sẽ bắt đầu. Bạn cần chú ý kĩ để phát hiện những lỗi xảy ra. Nếu hệ thống không khởi động một cách bình thường có thể nó cũng sẽ hiển thị thông báo lỗi nếu bạn nhập thủ công những dòng trong file menu.lst. Nếu trường hợp đó xảy ra bạn cần kiểm tra lỗi và khởi động lại hệ thống cho đến khi quá trình khởi động thực hiện bình thường.

GRUB sẽ được tải trong giai đoạn khởi động đầu tiên. Khi đó có thể có những lỗi phát sinh trong MBR, trong file cấu hình GRUB hay trong file được GRUB tải. Trong những trường hợp đó bạn có thể nhập thủ công mọi lệnh GRUB để kiểm tra lỗi. Nếu không phát hiện được lỗi bạn có thể lựa chọn cài đặt lại GRUB.
Thứ Năm, 20/09/2018 09:26
1,37 👨 44.710
0 Bình luận
Sắp xếp theo
    ❖ Linux