Wednesday, February 5, 2014

How to boot to Linux partition(CenOS,Ubuntu) after install win 8 (No UEFI)

Sau đây mình sẽ hướng dẫn khôi phục menu boot vào phân vùng linux(CentOS, Ubuntu) sau khi cài Win8( không UEFI).
Vấn đề của mình:
Máy tính mình có 1 ổ cứng chia 4 phân vùng trong đó:
- C: NTFS cài win 7
- D, E : NTFS: ổ dữ liệu
- F : Phân vùng linux
- Đâu tiên mình cài Linux cho máy tính ( CentOS), vào phân vùng F, sau đó cài Win 7 vào ổ C. Khi đó phân vùng của Linux sẽ không xuất hiện trong menuboot nữa, vấn đề đó đã được mình giải quyết đơn giản bằng cách sử dụng phần mềm easybcd download tại :
https://neosmart.net/EasyBCD/.
Các bạn có thể google có rất nhiều bài viết về nó. Nhờ nó mình tạo được menuboot với 2 options :
1. Boot vào Win
2. Boot vào Linux( CentOS).
Tuy nhiên vấn đề xuất hiện khi mình quyết định cài Win 8( không UEFI, nếu bạn đã cài và muốn kiểm tra xem máy bạn cài win 8 có UEFI hay không thì có thể vào Bios xem đã disable nó chưa) thay cho win 7, và đương nhiên menuboot mới xuất hiện cũng chỉ có thể cho phép boot vào win 8. Sử dụng easybcd một lần nữa nhưng,.... tuy menuboot đã có thêm option nhưng không thể boot được vào phân vùng linux( báo lỗi khá nhiều và linh tinh). Sau khi tìm hiểu mình đã tìm ra cách để tạo được option này và boot lại vào phân vùng linux:
Bước 1:
Vẫn sử dụng EasyBCD( bản mới nhất 2.2), khởi động phần mềm với quyền administrator, click vào Add New Entry, chuyển sang tab NeoGrub

Bấm vào install, chờ một lúc khi nào thấy nó xuất hiện nút Remove là đã cài xong, bấm vào Configure, thêm vào 2 dòng sau như hình( nếu bạn dùng CentOS)

root (hd0,10)
configfile /etc/grub.conf
Nếu bạn dùng Ubuntu : 
root (hd0,10)
configfile /etc/grub.d/40_custom
Ok. Sau đó bấm Ctrl +S lưu nó lại. Khởi động lại máy tính
Bước 2:
Sau khi khởi động lại máy tính, trước khi vào win 8 nó sẽ xuất hiện thêm 1 option boot:

NeoGrub Bootloader, dùng mũi tên lên xuống để chọn nó và bấm enter. Màn hình grub sẽ xuất hiện:
Bạn gõ lệnh sau và nhấn Enter:
root (hd0,1)
Sau đó tăng dần số 1 đằng sau lên thành 2 ,3....
root (hd0,2)
Sao cho khi nào thấy xuất hiện dòng thông báo :
Filesystem type is ext2fs,... Như trong hình là sau khi mình gõ root (hd0,6). thì dừng và khởi động lại máy.
Mục đích của bước này là tìm phân vùng linux của ta xem nó nằm ở vị trí nào.
Bước 3:
Vào lại win 8, bật easybcd với quyền administrator, vào Add New Entry-> NeoGrub như các bước trên-> bấm vào configure, sửa lại dòng :
root (hd0,10)
thành
root (hd0,6)
(hd0,6) đối với máy mình, với máy các bạn lấy thông tin ở bước 2
bấm Ctrl + S để lưu lại . Khởi động lại máy, chọn option NeoGrub Bootloader là bạn đã boot vào được phân vùng linux bình thường.
Các bạn có thể chỉnh sửa lại tên option boot trong easybcd cho tiện lợi.

No comments:

Post a Comment