Cài đặt lại GRUB vào Master Boot Record

Chúng tôi viết 1 vài hướng dẫn nhỏ về Boot Dual các hệ điều hành máy tính với Ubuntu. Mình xin được chia ra 2 trường hợp chính như sau :

+ Đã có các hệ điều hành Windows XP/Vista và muốn cài đặt thêm Ubuntu
+ Cài Ubuntu trước hoặc giữa các hệ điều hành

- Với trường hợp thứ nhất các bạn chỉ cần làm rất đơn giản phân vùng lại máy và cài Ubuntu . Grub của Ubuntu sẽ tự động nhận các Boot trước đó.

Trường hợp này đơn giản nên mình chỉ nói sơ qua vài điều như vậy.Nếu ai chưa biết có thể tham khảo thêm về cách cài đặt Ubuntu đã viết trong diễn đàn

- Trường hợp thứ 2 được chia ra rất nhiều các trường hợp nhỏ.

I. Đã cài Ubuntu và muốn cài XP :

Các bạn đã có hệ điều hành Ubuntu trên máy giờ muốn cài thêm XP phải làm sao ?

-Bước đầu tiên là phải tạo đủ không gian trên đĩa để cài đặt Windows XP. Bản thân đĩa Ubuntu Live CD đã chứa trình biên tập GNOME Partition Editor để thay đổi dung lượng phân vùng (“khoảng đất” riêng biệt trên đĩa cứng) cho Linux nhưng đĩa cho Ubuntu 7.04 lại cài file hệ thống khi kiểm tra và gây ra lỗi. Thay vào đó, người dùng nên dùng GParted Live CD hoạt động độc lập. GParted LiveCD ISO có sẵn tại đây:

http://sourceforge.net/project/showfile ... _id=173828

Và bạn có thể ghi nó vào đĩa CD để khởi động hệ thống từ đó (ví dụ có thể dùng bản 0.3.4-7).

Khởi động máy từ GParted LiveCD. Tùy vào hệ thống, bạn có thể chọn lựa chọn khởi động cấu hình tự động.

Hình ảnh

Trong khi khởi động, nhấn nút Enter 2 lần khi gặp dấu nhắc đợi lệnh để chọn sơ đồ bàn phím và cài đặt ngôn ngữ. Khi giao diện GUI chính hiện ra, nhấn chuột phải vào phân vùng chính (tùy vào cách cài đặt của bạn, có thể là /dev/sda1) và chọn Resize/Move.

Hình ảnh

Dùng thanh trượt này để tạo đủ không gian chứa cài đặt XP sau này và nhấn vào Resize/Move.

Hình ảnh

Khi đã xong, thoát GParted và khởi động lại máy từ đĩa Windows XP CD.

-Cài đặt Windows XP

Khi đĩa CD tải xong, nhấn phím Enter để cài đặt Windows XP, sau đó nhấn F8 để chấp nhận thỏa thuận mua bản quyền.

Khi màn hình phân vùng hiện ra, bạn có thể thấy Windows Setup nhận ra hai phân vùng Ubuntu đã có và chỉ định tên ổ bằng chữ cái (mặc dù không thể đọc dữ liệu từ chúng).

Khoảng không gian đã tạo cho Windows XP xuất hiện ở đây, chọn nó và nhấn Enter.

Hình ảnh

Do phân vùng hoạt động chính ((/dev/hda1) được đánh dấu là khởi động được, Windows không thể cài đặt được cho đến khi phân vùng này được đánh dấu là không hoạt động để phân vùng mới “chiếm quyền”. Hãy nhấn Enter để thay đổi và sau đó định dạng lại phân vùng mới.

Hình ảnh

Không may là XP phát hiện ra 2 phân vùng Ubuntu và đã chỉ định tên ổ cho chúng nên phân vùng mới định dùng để cài sẽ được chỉ định là ổ F. Đây không phải là chữ cái chuẩn dành cho ổ của Windows.

Tuy nhiên, vấn đề này chỉ gây khó khăn với những ứng dụng cũ cần mặc định nơi cài đặt là ổ C.

Khởi động lại máy khi Windows đã được cài đặt và bạn sẽ thấy máy khởi động ngay vào XP. Do thành phần nạp khởi động GRUB của Ubuntu trong Master Boot Record đã bị ghi đè nên Ubuntu lúc này chưa khởi động được.

Có khá nhiều cách làm cho phân vùng Ubuntu khởi động được nhưng khá cầu kỳ và phải dùng đến phân vùng FAT32 (FAT32 có thể dùng cho cả Ubuntu và Windows). Tuy nhiên, cách đơn giản hơn là cài đặt lại GRUB làm thành phần nạp hệ thống.

-Cài đặt lại GRUB vào Master Boot Record

Khởi động máy bằng cách dùng Ubuntu Live CD.

Vào trình biên tập GNOME Partition Editor và bạn có thể thấy Windows XP Partition được coi là /dev/hda2 và được đánh dấu làm phân vùng khởi động.

Nhấn chuột phải vào phân vùng Windows và chọn Manage Flags.

Bỏ dấu ở “boot” và chọn Close.

Nhấn chuột phải vào phân vùng chính của Ubuntu (/dev/hda1), chọn Manage Flags và đánh dấu vào “boot”, nhấn Close.

Hình ảnh

Hình ảnh

Bây giờ cài đặt lại GRUB. Mở Terminal (Applications, Accessories, Terminal) và gõ vào dòng sudo grub

Hình ảnh

Ứng dụng GRUB sẽ hoạt động. Gõ tiếp find /boot/grub/stage1

Hình ảnh

Lệnh này sẽ tìm nơi GRUB được cài đặt và bạn sẽ nhận được kết quả là hd(0,0).

Đổi vị trí bằng cách gõ root (hd0,0)

Bây giờ bạn chuẩn bị cài đặt lại GRUB vào Master Boot Record chứ không phải vào phân vùng Ubuntu nữa.

Gõ setup (hd0)

Cài đặt lại GRUB vào Master Boot Record

Việc này sẽ giúp lưu GRUB vào Master Boot Record. Gõ vào dòng QUIT và EXIT để thoát khỏi GRUB và Terminal. Sau đó, khởi động lại hệ thống. Ubuntu sẽ xuất hiện khi khởi động.

- Tùy chỉnh menu khởi động

Điều cần làm tiếp theo là chỉnh sửa menu khởi động GRUB để cho phép Windows XP nạp khi khởi động.

Khởi động hệ thống vào hệ điều Ubuntu và vào tiện ích Terminal. Gõ vào dòng sudo gedit /boot/grub/menu.lst

Hình ảnh

Việc này sẽ giúp nạp tập tin menu GRUB (về cơ bản là một tập tin văn bản) bên trong GEdit.

Xuống mục sau “## ## End Default Options ##". Ở đó có các thành phần của menu GRUB.

Hình ảnh

Để tạo một đầu mục mới, kéo xuống tới gần cuối danh sách và gõ các dòng sau:

title Windows XP

root (hd0,1)

makeactivechainloader +1

Hình ảnh

Việc này sẽ đặt một mục trong menu khởi động để nạp Windows XP từ phân vùng của nó (hd0,1).

Nếu muốn tùy chọn nhiều hơn, lên phía trên MENU.LST và tìm dòng TIMEOUT. Giá trị bằng số được chỉ định cho TIMEOUT xác định khoảng thời gian truy nhập vào menu khởi động (tính bằng giây) trước khi hệ điều hành mặc định tải xuống.

Để cấu hình cho hệ thống khởi động song song, tốt hơn nên nâng giá trị này lên.

Hình ảnh

Ngay trên TIMEOUT là DEFAULT. Tính năng này xác định hệ điều hành nào được khởi động mặc định.

Hệ thống đếm số bắt đầu từ 0 và đếm lên. Vì vậy DEFAULT = 0 nghĩa là Ubuntu luôn khởi động mặc định. Nếu muốn Windows XP luôn khởi động chính, hãy thay đổi giá trị của nó về 0.

Hình ảnh

Lưu MENU.LST và thoát khỏi GEdit rồi khởi động lại hệ thống. Gõ phím ESC khi được yêu cầu lấy menu khởi động. Đi xuống đề mục Windows XP vừa tạo và nhấn Enter. Windows XP sẽ được tải xuống.