» » Khôi phục Grub cho Ubuntu sau khi cài Windows

Khôi phục Grub cho Ubuntu sau khi cài Windows

Sau khi cài Windows, bạn sẽ không boot được vào Ubuntu. Bạn cần phải khôi phục Grub cho Ubuntu để bạn có thể boot và sử dụng song song 2 hệ điều hành. Đây là vấn đề mà bạn thường hay gặp phải nếu như bạn đang chạy song song 2 hệ điều hành Ubuntu và Windows.

Ubuntu sử dụng Grub2 làm bootloader và nó hỗ trợ tự động nhận dạng các hệ điều hành khác đã được cài đặt. Vì vậy, bạn có thể boot vào Windows từ menu Grub. Windows bootloader không hỗ trợ tự động nhận dạng các hệ điều hành Linux như Ubuntu, CentOS… vì vậy mà sau khi cài Windows, bạn sẽ không thấy Ubuntu trong menu boot của Windows.

Bạn có thể thêm Ubuntu vào menu boot của Windows bằng cách sử dụng EasyBCD. Tuy nhiên, sử dụng bootloader của Windows sẽ làm chậm và tốn thời gian hơn nếu như bạn muốn boot vào Ubuntu. Vì vậy, bạn nên khôi phục Grub sau khi cài Windows để có thể boot nhanh hơn vào Ubuntu.

lấy lại boot grub cho Ubuntu sau khi cài Win 7/8/10

Bạn cần phải có một LiveCD hoặc một USB, nên sử dụng phiên bản Ubuntu cho DVD hoặc USB trùng với phiên bản Ubuntu đang cài đặt trên ổ đĩa.

  1. Khôi phục Grub cho Ubuntu sử dụng Terminal
  2. Sử dụng Boot-Repair

Khôi phục Grub cho Ubuntu sử dụng Terminal

Boot vào Ubuntu Live DVD hoặc Live USB và mở Terminal. Đầu tiên bạn cần phải kiểm tra tất cả các phân vùng trên ổ đĩa và xác định rằng Ubuntu đã được cài đặt trên phân vùng nào. Sử dụng lệnh sau:

sudo fdisk -l

Kết quả như sau:

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 34.4 GB, 34359738368 bytes
255 heads, 63 sectors/track, 4177 cylinders, total 67108864 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a72c1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    16777215     8387584   83  Linux
/dev/sda2        16779262    25163775     4192257    5  Extended
/dev/sda3   *    25163776    26187775      512000    7  HPFS/NTFS/exFAT
/dev/sda4        26187776    67106815    20459520    7  HPFS/NTFS/exFAT
/dev/sda5        16779264    25163775     4192256   82  Linux swap / Solaris

Sau khi đã xác định được phân vùng mà bạn đã cài đặt Ubuntu, bạn cần lấy thông tin ở mục Device, của mình là /dev/sda1. Bây giờ, mình sẽ mount phân vùng này vào thư mục /mnt.

sudo mount /dev/sda1 /mnt

Để chắc chắn rằng bạn đã mount đúng cách, sử dụng lệnh sau để xem danh sách thư mục và file có trong /mnt. Nếu như danh danh sách thư mục và file ở đây giống như những gì có trong phân vùng mà bạn đã cài Ubuntu thì đúng rồi.

sudo ls -l /mnt

Sử dụng lệnh dưới để mount một số thư mục cần thiết.

for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done

Chroot cho thư mục /mnt:

sudo chroot /mnt

Tiếp theo, bạn cần xác định ổ đĩa cần cài đặt lại GRUB2. Bạn có thể sử dụng lệnh sudo fdisk -l để xem danh sách ổ đĩa như ở trên. Ổ đĩa sẽ không có các chữ số ở cuối như phân vùng, ví dụ phân vùng /dev/sda1 thì ổ đĩa sẽ là /dev/sda.

Disk /dev/sda: 34.4 GB, 34359738368 bytes

Sau khi đã xác định được ổ đĩa, sử dụng lệnh dưới đây để cài đặt lại Grub:

grub-install /dev/sda

Kết quả như sau:

root@ubuntu:/# grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.

Bạn cũng cần phải cập nhật lại menu Grub2 để có thể boot vào Windows. Sử dụng lệnh dưới:

update-grub

Kết quả như sau:

root@ubuntu:/# update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-3.19.0-30-generic
Found initrd image: /boot/initrd.img-3.19.0-30-generic
Found linux image: /boot/vmlinuz-3.19.0-25-generic
Found initrd image: /boot/initrd.img-3.19.0-25-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Recovery Environment (loader) on /dev/sda3
done

Bạn cần phải thực hiện lệnh chroot trước khi sử dụng lệnh để cài đặt lại Grub như trên. Nếu bạn không tiến hành chroot thì bạn sẽ gặp lỗi như sau:

ubuntu@ubuntu:~$ sudo grub-install /dev/sda
Installing for i386-pc platform.
grub-install: error: failed to get canonical path of `/cow'.
ubuntu@ubuntu:~$ sudo update-grub
/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.

Như vậy là bạn đã cài đặt và update Grub2 thành công chỉ với một vài lệnh đơn giản. Bây giờ bạn có thể khởi động lại máy tính bằng lệnh sudo reboot và thử nghiệm.

Khi bạn khởi động lại máy thì hệ thống sẽ tự động unmount, nhưng nếu bạn muốn unmount trước khi khởi động lại máy, sử dụng lệnh dưới:

sudo for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done
sudo umount /mnt

Trên đây là một trong 2 cách mà bạn có thể cài đặt lại Grub sau khi cài Windows. Bạn cũng có thể sử dụng phần mềm Boot-Repair để khôi phục Grub tự động chỉ với 1 click.

Sử dụng Boot-Repair

Boot-Repair là công cụ đơn giản có thể giúp bạn sửa chữa một số vấn đề liên quan đến khởi động máy tính. Nó có thể giúp bạn sữa lỗi hiệu quả trong một số trường hợp như không vào được Ubuntu sau khi cài Windows 7/8/10, khôi phục và lấy lại menu boot để bạn có thể boot vào Ubuntu.

khôi phục Ubuntu sau khi cài lại Win với Boot-Repair

Để cài đặt Boot-Repair trên Ubuntu, sử dụng lệnh sau:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Sau khi đã cài đặt, mở và chọn nút Recommended repair để phần mềm tự động sửa lỗi boot cho hệ thống của bạn, khuyến nghị bạn nên sử dụng tùy chọn này. Nếu bạn muốn sử dụng các tính năng nâng cao, nhấn nút Advanced options.

Từ giờ, bạn có thể yên tâm cài đặt lại Windows mà không cần phải lo lắng về vấn đề mất Ubuntu. Chúc bạn thành công!

Thích hoặc chia sẽ bài này