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.
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.
- Khôi phục Grub cho Ubuntu sử dụng Terminal
- 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.
Để 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!