Thử nghiệm được thực hiện với Ubuntu 7.04 (một phiên bản của Linux) và Windows XP Service Pack 2. Trong đó, Ubuntu được cài đặt trước, XP được cài sau trên ổ cứng Seagate 80 GB SATA.
Cài đặt Ubuntu
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 trang này 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.
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.
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.
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.
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.
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.
Bây giờ cài đặt lại GRUB. Mở Terminal (Applications, Accessories, Terminal) và gõ vào dòng sudo grub
Ứng dụng GRUB sẽ hoạt động. Gõ tiếp find /boot/grub/stage1
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)
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.
Chỉnh sửa 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
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.
Để 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
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.
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.
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.
Việt Toàn (theo APC)