Cách sửa lỗi boot Ubuntu từ Grub rescue

Hi mọi người,

Hà Mã Tím đáng yêu vừa sửa xong cái Ubuntu nên sẵn chia sẻ cho ai sau này gặp phải case này sẽ dễ thông qua hơn.

Bối cảnh:

  • Tình hình là hôm nay Ubuntu bị thiếu dung lượng đĩa nên Hà Mã Tím đáng yêu qua Windows resize phân vùng C và D.
  • Thực hiện trên Laptop, dualboot

Quá trình:

  • Nhưng khi resize phân vùng C thì sau khi reboot Minitool Partition Wizard bị treo. Mặc dù nó ghi là không nên turn off nhưng Hà Mã Tím thấy lâu quá, khoảng 30 phút nên tắt luôn.
  • Minitool Partition Wizard sẽ boot lại và lấy cái gì đó từ recovering partition để undo và Windows vẫn khỏe mạnh.
  • Hà Mã Tím đáng yêu xác nhận là không có hỏng hóc gì, vì Hà Mã Tím try tới 2 lần và turn off 2 lần vì nó treo khi resize C, nên cuối cùng Hà Mã Tím đáng yêu chỉ resize D.
  • Windows ngon lành cành đào, ổ D được resize thành công

Sự cố:

  • Khi boot Ubuntu, không thể boot, Grub rescue trong lùm nhảy ra báo không tìm thấy file grub

Cách sửa
B1: Xem có bảo nhiêu partition đã mount, phân vùng sẽ đánh số từ trái sang gpt1, gpt 2,…:

$ls

B2: Tìm partition root. Nếu bạn biết phân vùng nào là root thì bỏ qua, không thì kiểm tra từng cái, ví dụ:

$ls (hd0, gpt0)/

Nếu bạn thấy nó in danh sách folder trong đó có boot, home, etc,… hoặc giống như

$ls /

mà bình thường bạn chạy thì đó chính là phân vùng root.
Giống giống như vầy:

B3: Ví dụ bạn check và thấy (hd0, gpt0) là phân vũng root. Thì bây giờ bạn chỉ cần set lại phân vùng root:

$set root=(hd0,gpt0)

Ngay sau đó bạn có thể thử

$ls /

bạn sẽ thấy nó in ra như B2 lúc bạn dùng

$ls (hd0, gpt0)/

B4: Tìm thư mục grub, bạn cần check xem thư mục grub nằm ở path nào, bằng cách ls vào boot tại phân vùng root

$ls /boot/

thông thường grub sẽ nằm trong /boot/grub

B5: Set prefix path cho grub. Sau khi có path của grub, bạn chỉ cần set prefix:

$set prefix=(hd0,gpt0)/boot/grub

B6: Set boot mode thành normal:

$insmod normal

B7: Boot vào Ubuntu:

$normal

B8: Update lại Grub. Sau khi Ubuntu đã boot thành công. Bạn chỉ cần update lại Grub tự động:

$sudo update-grub

image

Thế là hoàn thành. Step by step nên nhiều bước, thực ra nếu làm chỉ 3 phút thôi.
Good luck!

6 Likes

Hippo đang xài Ubuntu phiên bản mấy đó? Thấy version kernel có vẻ bự hơn các bản Ubuntu thường thấy. Mà quái lạ là grub sao thấy có i386-pc ấy nhỉ?

Tớ cũng vừa cài đặt lại máy tính, dùng Ubuntu 20.04, chạy thấy cũng ngon, chưa buồn cài cắm thêm gì khác nên cứ vào Terminal mà gõ lệnh đuối quá đuối. Có chút lóng ngóng do thói quen dùng lâu ngày: Ubuntu cũ thì nút nằm phía dưới cửa sổ, còn cái này nằm phía trên, các nút đóng/ mở/ minimize cửa sổ ở Ubuntu cũ nằm bên trái, giờ nằm bên phải. Giá mà mấy cái giao diện GUI đó hiểu điều khiển qua mic thì đỡ rách việc nhỉ?

3 Likes

Hà Mã Tím đáng yêu cũng lên 20 rồi :crazy_face: từ 18 trở lên là giao diện đổi nhiều khi click nhầm nên Hà Mã Tím đáng yêu kéo task bar sang phải luôn
P.s cái ảnh đó lấy từ mạng do Hà Mã Tím đáng yêu pass khúc đó rồi ko muốn làm lại :expressionless: mà lúc làm cũng in ra tượng tự thế

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?