Phục hồi grub
Vì grub là một chương trình mạnh và uyển chuyển, có những tính năng vượt xa Lilo, nên ta dùng grub cho việc quản lý khởi động các hệ điều hành Linux và Windows. Trong trường hợp bạn cài lại WindowsMe/XP, nó sẽ sửa lại masterboot record ghi vào đó thông tin để khởi động Windows. Do đó phần thông tin để khởi động grub bị xóa đi và lúc này bạn chỉ có thể khởi động được Windows mà thôi. Để phục hồi lại grub, bạn thực hiện như sau:
1. Khởi động Linux bằng CD: Khi đã có Linux cài sẵn trên hệ thống, bạn có thể khởi động từ một đĩa boot và sau đó làm việc với hệ thống trên bình thường. Đầu tiên, để khởi động, bạn cho CD số 1 trong bộ CD cài đặt Linux để khởi động. Sau khi dấu nhắc khởi động hiện ra bạn nhập vào: boot: linux rescue.
Sau quá trình nạp kernel vào bộ nhớ và khởi động xong, bạn chưa thể làm gì được bởi cấu trúc hệ thống file hiện tại là ảo, còn cây thứ bậc file hệ thống thực sự với gốc root “/” được đặt trong thư mục/ mnt/sysimage.
Do đó bạn cần chuyển root làm việc sang/mnt/sysimage, lúc đó đường dẫn đến các file thi hành và thư viện của hệ thống mới được thiết lập lại cho đúng và các chương trình trong hệ thống lúc này mới có thể thực thi được.
Chuyển root sang một thư mục khác bằng lệnh sau:
# chroot/mnt/sysimage. Giờ đây, bạn có thể làm việc trên hệ thống giống như khi khởi động Linux bình thường bằng grub trước đây.
2. Cài đặt và cấu hình grub bằng lệnh grub-install:
- Nếu muốn cài grub để quản lý việc khởi động các hệ điều hành, bạn chọn việc cài grub lên master boot record:
# grub-install/dev/hda.
- Nếu muốn cài grub lên phân vùng cài linux thôi, rồi sau đó dùng system commader để boot linux, chẳng hạn bạn cài lên hda8: # grub-install/dev/hda8.
Cấu hình grub
Một file cấu hình grub được đặt trong/boot/grub/grub.conf và tương ứng với việc cài các OS như trên, nó có dạng như sau:
<< file/boot/grub/grub.conf >>
default=0
timeout=10
splashimage=(hd0,7)/boot/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-14)
root (hd0,7)
kernel/boot/vmlinuz-2.4.18-14 ro root=LABEL=/
initrd/boot/initrd-2.4.18-14.img
title WinNT
rootnoverify (hd0,1)
chainloader +1
title WinMe
rootnoverify (hd0,0)
chainloader +1
Giá trị của default dùng để xác định mặc định sẽ khởi động mục nào. Mỗi mục hiển thị khi khởi động dùng để chọn lựa hệ điều hành nào được khởi động.
Danh sách các mục chọn này được khai báo sau title. Chẳng hạn:
title WinNT
rootnoverify (hd0,1)
chainloader +1
rootnoverify dùng để chỉ định partition nào được dùng để khởi động. Và đối với Windows, kiểu khởi động được khai báo là chainloader +1.
Giả sử có thêm một phân vùng chứa Linux khác hoặc một kernel khác mà bạn mới biên dịch, để khởi động nó, bạn chỉ cần thêm vào một mục nhập khác với các thông tin:
- title: Dùng để hiển thị lên màn hình chọn lúc khởi động.
- root: Khai báo phân vùng nào chứa hệ thống file dùng để làm việc. Ổ cứng trong hệ thống được đánh số từ hd0, hd1 trở đi. Các partition trong mỗi ổ cứng được đánh số từ 0,1...
- kernel, initrd: Khai báo thư mục chứa file kernel và ramdisk:
title Red Hat Linux (2.4.18-14)
root (hd0,7)
kernel/boot/vmlinuz-2.4.18-14 ro root=LABEL=/idebus=66
initrd/boot/initrd-2.4.18-14.img
idebus=66: mặc định Linux sẽ cho rằng bus dữ liệu của ổ cứng với mainboard là 33 MHz, bạn có thể thêm khai báo này để tăng tốc cho đường truyền dữ liệu lên 66 MHz nếu bus dữ liệu của bạn có hỗ trợ.
Khi trên hệ thống có hơn một hệ điều hành Linux hoặc đã biên dịch một nhân Linux mới, bạn cứ việc khai báo thêm một mục nhập mới với cấu trúc như trên.
Ngoài ra, ta có thể sử dụng lệnh khai báo hoặc thay đổi một mục nhập để khởi động hệ điều hành từ màn hình grub lúc khởi động. Đây là một tính năng tuyệt vời vì khi lỡ khai báo sai trong file cấu hình, bạn có thể sửa để nó khởi động đúng từ trình grub.
Gỡ bỏ grub hoặc Linux
Đôi khi bạn không muốn sử dụng grub nữa, mà chỉ cần khởi động với Windows 9x/Me mà thôi, hoặc muốn gỡ bỏ Linux. Lúc này, bạn sẽ nghĩ đến việc gỡ bỏ grub. Để gỡ bỏ grub ra khỏi hệ thống, khởi động hệ thống với hệ điều hành DOS. Từ dấu nhắc, ta gõ lệnh sau: >fdisk/mbr.
Lệnh này thực hiện việc khôi phục lại thông tin vùng masterboot record cho việc khởi động Windows 9x/Me. Sau khi khởi động lại, hệ thống sẽ khởi động bằng Windows bình thường, không hiện lên menu của grub nữa. Bây giờ, bạn có thể khởi động lại và hệ thống vào thẳng hệ điều hành Windows. Phân vùng cài đặt Linux bây giờ có thể xóa đi để dùng cho việc khác nếu bạn muốn gỡ bỏ nó ra khỏi hệ thống.
Không có cách xóa grub ra khỏi master boot record. Nó vẫn nằm đó cho đến khi nào một boot loader mới được cài đè lên.
Bình luận (0)