Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
1,9 MB
Nội dung
TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- [LỜI NÓI ĐẦU] LINUX hệ điều hành họ UNIX miễn phí dùng cho máy tính cá nhân sử dụng rộng rãi Được viết vào năm 1991 Linus Tovard, hệ điều hành LINUX thu thành công định Hiện nay, LINUX ngày phát triển đánh giá cao thu hút nhiều quan tâm nhà tin học Trong năm gần hệ điều hành LINUX bước đưa vào sử dụng Việt Nam nhiều tổ chức, công ty dự án tin học chọn LINUX môi trường để phát triển ứng dụng Chính nhu cầu tìm hiểu hệ điều hành trở nên quan trọng cần thiết Việc tìm hiểu cấu hình mơi trường tải khởi động GRUB-2 Hệ Điều Hành LINUX(UBUNTU 10.10) cơng việc khó khăn GRUB trình khởi động máy tính – có nhiệm vụ tải nhân khởi động hệ thống Linux số hệ điều hành khác: FreeBSD, NetBSD, OpenBSD, GNU HURD, DOS, Windows 95, 98, Me, NT, 2000 XP Nó có trách nhiệm chuyển tải kiểm soát tới phần mềm hệ điều hành hạt nhân (chẳng hạn Linux hay GNU Hurd hạt nhân) Do việc tìm hiểu cấu hình Grub ubuntu 10.10 quang trọng linh hoạt thuận tiện cho việc khởi động Hệ Điều Hành Linux đặc biệt hữu ích cho multiboot, hệ thống phân vùng thực nạp lớn để khởi động Linux thực tế hệ điều hành nguồn mở khác Đây lần em vào nghiên cứu đề tài hệ điều hành LINUX(Tìm hiểu cấu hình GRUB Linux) quỹ thời gian có hạn nên đề tài khơng tránh khỏi thiếu sót Rất mong nhận đóng góp ý kiến thầy bạn bè Em xin chân thành cảm ơn hướng dẫn thầy Nguyễn Tấn Khôi bạn bè giúp đỡ em hoàn thành đề tài GVHD: NGUYỄN TẤN KHÔI LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- I Giới thiệu GRUB Tổng quát GRUB trình khởi động máy tính – có nhiệm vụ tải nhân khởi động hệ thống Linux số hệ điều hành khác: FreeBSD, NetBSD, OpenBSD, GNU HURD, DOS, Windows 95, 98, Me, NT, 2000 XP Năm 1995, Erich Boley thiết kế GRUB Năm 1999, Gordon Matzigkeit Yoshinori K Okuji kế thừa GRUB thành gói phần mềm GNU thức • • • Tính GRUB hỗ trợ nhiều hệ điều hành – cách khởi động trực tiếp nhân hệ điều hành cách nạp chuỗi (chain-loading) GRUB hỗ trợ nhiều hệ thống tập tin: BSD FFS, DOS FAT16 FAT32, Minix fs, Linux ext2fs ext3fs, ReiserFS, JSF, XFS, VSTa fs GRUB cung cấp giao diện dòng lệnh linh hoạt lẫn giao diện thực đơn, đồng thời hỗ trợ tập tin cấu hình GVHD: NGUYỄN TẤN KHƠI LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Cài đặt GRUB II Trang- Nơi tải GRUB xuống GRUB có sẵn ftp://alpha.gnu.org/gnu/grub mirror Tên gói GRUB có dạng grub-version.tar.gz, thí dụ grub-0.93.tar.gz Cài đặt GRUB môi trường Linux Cần phân biệt bước cài đặt GRUB: - Cài đặt môi trường hệ điều hành để sử dụng GRUB - Cài đặt GRUB để GRUB làm trình khởi động máy tính Sau tải thư mục thích hợp, giải nén lệnh tar xzvf grub-0.93.tar.gz Sau đó: cd grub-0.93.tar.gz /configure (Để liệt kê tuỳ chọn biên dịch: /configure help | more ) Tiếp theo: make make install Quá trình cài đặt shell grub, chương trình kiểm tra multiboot mbchk, hình ảnh GRUB (thông thường cài vào thư mục /usr/share/grub/i386-pc), tài liệu hướng dẫn sử dụng trang man GRUB III Sử dụng GRUB (File cấu hình) Chuẩn bị tập tin cần thiết Có hai cách cài đặt GRUB làm trình khởi động máy tính: dùng mơi trường ngun thuỷ GRUB (cách khuyên dùng) dùng môi trường hệ điều hành giống Unix GVHD: NGUYỄN TẤN KHƠI LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- Trước cài GRUB làm trình khởi động cần chép tập tin stage1, stage2 *stage1_5 từ thư mục /usr/share/grub/i386-pc (thư mục hình ảnh) vào thư mục /boot/grub (thư mục khởi động) Trong số tập tin *stage1_5 cần chép tập tin thích hợp với hệ thống tập tin /boot/grub, chẳng hạn chép tập tin e2fs_stage1_5 thư mục nằm ext2 ext3 Ngoải chép tập tin splash.xpm.gz vào thư mục /boot/grub Thuật ngữ dùng GRUB 2.1 Xác định thiết bị (thiết-bị[,số-thứ-tự-phân-vùng][,chữ-cái-tiểu-phân-vùng-bsd]) • • [ ]: thơng số tuỳ chọn thiết-bị: fd (ổ đĩa mềm) hd (ổ đĩa cứng, GRUB không phân biệt IDE hay SCSI hay RAID) theo sau số biểu thị số thiết bị theo BIOS bắt đầu với a Ví dụ: (hd0) (0x80) (128) • • tương đương • số-thứ-tự-phân-vùng: số thứ tự phân vùng ổ đĩa, bắt đầu với 0, • phân vùng mở rộng bắt đầu 4, số phân vùng sơ cấp thực có ổ đĩa chữ-cái-tiểu-phân-vùng-bsd: đại diện cho tiểu phân vùng BSD, a hay e Cú pháp tắt gọi tiểu phân vùng BSD (thiết-bị[,chữ-cái-tiểu-phân-vùng-bsd]), trường hợp GRUB tìm phân vùng PC chứa nhãn đĩa BSD, tìm tiểu phân vùng đưọc u cầu Thí dụ: • • (hd0): toàn ổ đĩa thứ (hoặc MBR cài đặt GRUB) (hd0,0): phân vùng thứ ổ đĩa cứng thứ (hoặc sector khởi • • (hd0,4): phân vùng mở rộng thứ ổ đĩa cứng thứ (hd1,a): phân vùng BSD a ổ đĩa cứng thứ hai; cần xác định cụ thể số PC slice dùng, sử dụng cú pháp (hd1,0,a), bỏ trống số PC slice, GRUB tìm PC slice có phân vùng BSD a (fd0): ổ đĩa mềm thứ động phân vùng cài GRUB) • GVHD: NGUYỄN TẤN KHƠI LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- Ở hệ thống có đĩa cứng IDE đĩa cứng SCSI, trình tự khởi động BIOS thiết lập "IDE trước SCSI", GRUB dùng nhãn sau: • • • • (hd0) (hd1) (hd2) (hd3) Đĩa cứng IDE thứ Đĩa cứng IDE thứ hai Đĩa cứng SCSI thứ Đĩa cứng SCSI thứ hai Ngồi cịn có thiết bị ổ đĩa mạng (nd) cài đặt GRUB có bật tính hỗ trợ mạng Có thể dùng chức hồn thành dịng lệnh GRUB, ví dụ gõ root ( , GRUB liệt kê ổ đĩa, phân vùng, hay tên tập tin 2.2 Xác định tập tin Có cách xác định tập tin, tên tập tin tuyệt đối danh sách khối • Tên tập tin tuyệt đối GRUB giống với tên tập tin tuyệt đối Unix, dùng / làm dấu phân cách thư mục Ví dụ: (hd0,0)/boot/grub/menu.lst có nghĩa tập tin (hd0,0)/boot/grub/menu.lst nằm phân vùng ổ đĩa cứng thứ Nếu bỏ qua tên thiết bị tên tập tin tuyệt đối, GRUB dùng thiết bị root ngầm định Thí dụ thiết lập thiết bị root, chẳng hạn (hd1,0), lệnh root /boot/kernel có nghĩa (hd0,1)/boot/kernel • Danh sách khối (block list) dùng để xác định tập tin không xuất hệ thống tập tin, chẳng hạn trình nạp chuỗi (chainloader) Cú pháp: [offset]+độ-dài[,offset]+độ-dài] Thí dụ 0+100,200+1,300+300 GRUB đọc khối đến 99, khối 200 khối 300 đến 599 Nếu bỏ qua offset, GRUB lấy offset Cũng cú pháp tên tập tin, danh sách khối khơng chứa tên thiết bị GRUB dùng thiết bị root GRUB Thí dụ +1 thiết bị root (hd0,1) tương ứng với (hd0,1)+1 GVHD: NGUYỄN TẤN KHƠI LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- Lệnh blocklist liệt kê danh sách khối tập tin, ví dụ: grub> blocklist (hd1,0)/vmlinuz (hd1,0)1322144+96,1322248+1227 có nghĩa tập tin vmlinux, nằm phân vùng thứ đĩa cứng thứ hai, chiếm 96 khối kể từ khối 1322144 1227 khối kể từ khối 1322248 – thấy tập tin bị phân mảnh Các tập tin hình ảnh GRUB GRUB bao gồm số hình ảnh: giai đoạn chính, giai đoạn tuỳ chọn gọi Giai đoạn 1.5, hình ảnh khởi động mạng stage1 Giai đoạn 1, hình ảnh dùng đề khởi động GRUB, kích thước 512 byte stage2 Giai đoạn 2, hình ảnh cốt lõi GRUB e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 jfs_stage1_5 minix_stage1_5 reiserfs_stage1_5 vstafs_stage1_5 xfs_stage1_5 Tất hình ảnh gọi Giai đoạn 1.5 nbrub pxebrub Là hình ảnh khởi động mạng Cơ chế khởi động dùng GRUB Trên sector thứ đĩa cứng chứa, bảng phân vùng, đoạn mã thực thi giai đoạn q trình khởi động máy tính, đoạn mã IPL (initial program load) Đoạn mã chuẩn mà lệnh fdisk /mbr DOS tạo Khi thiết lập BIOS quy định khởi động từ đĩa cứng đó, BIOS trao quyền điều khiển cho IPL đoạn mã giai đoạn Khi đoạn mã chuẩn nạp, định phân vùng chủ động (active) trao quyền điều khiển cho đoạn mã thực thi nằm gần sector thứ phân vùng chủ động Những xảy phụ thuộc vào hệ điều hành Ở hệ điều hành DOS cũ, phần cốt lõi thi hành hệ điều hành nằm vị trí đĩa khởi động trực tiếp từ giai đoạn Trong trường hợp điển hình hơn, chương trình khởi động giai đoạn hai nạp đến lượt biết nơi để tìm nhân thành phần cốt lõi hệ điều hành khởi động chúng Khi GRUB trình khởi động cài đặt, đoạn mã trình khởi động thay đoạn mã IPL chuẩn Nó phải vừa vặn 512 byte phải chia sẻ chung với bảng phân vùng Khác biệt trình khởi động GVHD: NGUYỄN TẤN KHÔI LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- đoạn mã IPL chuẩn quyền điều khiển đâu tiếp sau Trong trường hợp GRUB, quyền điều khiển trao cho trình Giai đoạn (hoặc Giai đoạn 1.5) Giai đoạn cài vào MBR vào sector khởi động phân vùng, Giai đoạn đặt hệ thống tập tin Giai đoạn 1.5 cài hệ thống tập tin (chẳng hạn phân vùng /boot), vùng khởi động FFS ReiserFS, sector sau MBR Giai đoạn 1.5 đủ nhỏ sector sau MBR thường khơng sử dụng Kích thước vùng số sector cho head trừ Giai đoạn 1.5 Giai đoạn đặt nơi đâu, Giai đoạn nạp tập tin cấu hình từ nơi đâu đĩa cứng (tập tin cấu hình khơng cần phải đặt hệ thống tập tin) Vì tất công việc mà Giai đoạn phải làm tải Giai đoạn Giai đoạn 1.5 Giai đoạn mã hố vị trí Giai đoạn (hay Giai đoạn 1.5) dạng danh sách khối, nên khơng hiểu cấu trúc hệ thống tập tin Vì GRUB hỗ trợ chế độ CHS lẫn LBA nên Giai đoạn GRUB, sau thăm dị thơng số chế độ truy cập đĩa cứng, tải sector Giai đoạn (hoặc Giai đoạn 1.5) Giai đoạn tự tải phần cịn lại (tức tải từ địa bắt đầu cộng thêm 512 byte) Giai đoạn 1.5 cầu nối stage1 stage2, nghĩa Giai đoạn 1.5 Giai đoạn nạp Giai đoạn 1.5 nạp Giai đoạn stage1 không hiểu hệ thơng tập tin *_stage1_5 hiểu hệ thống tập tin (chẳng hạn e2fs_stage1_5 hiểu ext2fs Giai đoạn 1.5 cho phép Giai đoạn nạp từ hệ thống tập tin đường dẫn thông thường mà không cần phải dùng danh sách khối Vì an tồn di chuyển vị trí stage2 đến nơi khác (chẳng hạn giải phân mảnh hệ thống tập tin), sau GRUB cài đặt Gai đoạn nạp Giai đoạn 1.5 vào nhớ cần Một số phần cứng cần bước trung gian để nạp Giai đoạn 2, chẳng hạn phân vùng /boot nằm vị trí 1024 cylinder đầu ổ cứng sử dụng chế độ LBA Cài GRUB môi trường nguyên thuỷ GRUB 5.1 Cài GRUB dùng lệnh setup setup [ force-lba] [ stage2=tập_tin_stage2_hđh] [ prefix=thư_mục] thiết_bị_cài_đặt [thiết_bị_hình_ảnh] Cài GRUB dùng lệnh install install [ force-lba] [ stage2=tập_tin_stage2_hđh] tập_tin_stage1 [d] thiết_bị_đích tập_tin_stage2 [địa_chỉ] [p] [tập_tin_cấu_hình] [tập_tin_cấu_hình_thực] Chi tiết lệnh tham khảo tại: http://vnoss.org/docs/?id=2 GVHD: NGUYỄN TẤN KHÔI LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- Cài GRUB môi trường hệ điều hành giống Unix 7.1 Cài GRUB dùng lệnh grub-install Cách hồn tồn khơng khuyến khích, máy tính khơng thể khởi động với GRUB Thí dụ, hầu hết hệ điều hành khơng cho GRUB biết cách ánh xạ xác ổ đĩa BIOS sang thiết bị hệ điều hành, GRUB đoán cách ánh xạ Trong hầu hết trường hợp q trình thành cơng, khơng ln ln Do GRUB cung cấp tập tin ánh xạ người dùng định nghĩa device.map; tập tin cho thấy ánh xạ sai bạn cần phải sửa lại Nếu khơng may phải cài đặt GRUB môi trường hệ điều hành giống UNIX, gọi lệnh grub-install với tư cách siêu người dùng (root) Cách sử dụng dễ dàng, bạn cần định đối số nơi cài đặt GRUB Đối số tập tin thiết bị hay ổ đĩa/phân vùng theo GRUB Cú pháp: grub-install thiết_bị_cài_đặt Thí dụ: cài GRUB vào MBR ổ đĩa IDE thứ Linux: # grub-install /dev/hda Nếu ổ đĩa BIOS thứ nhất: # grub-install 'hd(0)' Một thí dụ khác có phân vùng khởi động gán /boot Vì GRUB trình nạp khởi động, khơng biết điểm gán, nên cần chạy lệnh grub-install sau: # grub-install root-directory=/boot /dev/hda Như nói, việc đốn ổ đĩa BIOS hệ điều hành giống UNIX khó khăn Vì vậy, sau cài đặt, grub-install nhắc người dùng kiểm xem có đốn ánh xạ khơng Cần cẩn thận, kết xuất sai máy tính bạn gặp rắc rối khởi động lại máy tính Các tuỳ chọn lệnh grub-install help In tóm tắt tuỳ chọn dịng lệnh version In số phiên GRUB thoát force-lba Bắt buộc GRUB dùng chế độ LBA Chỉ dùng tuỳ chọn BIOS khơng hoạt động chế độ LBA hỗ trợ chế độ LBA grub-shell=tập_tin Dùng tập_tin làm shell grub Bạn thêm tuỳ chọn tuỳ ý vào tập_tin sau tên tập tin, thí dụ: grub-install grub-shell="grub –read-only" /dev/fd0 recheck Kiểm tra lại ánh xạ thiết bị, /boot/grub/device.map tồn Nên dùng tuỳ chọn thêm/tháo đĩa vào/ra khỏi máy tính Lưu ý grub-install thực chất Bourne shell script chức thực shell grub thực Vì chạy grub trực tiếp để cài GRUB, mà không cần grub-install Nhưng không nên làm trừ bạn quen thuộc với yếu tố nội GRUB Việc cài trình nạp khởi động hệ điều hành chạy nguy hiểm GVHD: NGUYỄN TẤN KHÔI LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- Cài GRUB shell grub Cách dùng lệnh grub môi trường hệ điều hành Cần lưu ý shell grub trình mơ – thay lời gọi BIOS lời gọi hệ thống UNIX hàm libc, khơng chạy mơi trường ngun thuỷ, đơi hoạt động khơng xác, việc ánh xạ ổ đĩa BIOS thiết bị hệ điều hành Quá trình cài đặt dùng shell grub tương tự Giai đoạn nguyên thuỷ Bạn cần cẩn thận buffer cache grub dùng thiết bị thơ thay hệ thống tập tin mà hệ điều hành sử dụng, có khả cache inconsistency gây hư hỏng hệ thống tập tin Lời khuyên là: • • • • tháo gán trước chạy grub, có thể, ổ đĩa mà GRUB viết liệu lên gán chế độ chỉ-đọc tháo gán ổ đĩa gán với cờ chỉđọc chắn khơng có hoạt động đĩa chạy lệnh grub ổ đĩa bắt buộc phải gán với cờ đọc-viết khởi động lại hệ điều hành sớm tốt Điều khơng cần thiết bước tuân thủ, khởi động lại cách an toàn Sau hoàn tất cài đặt, việc nhập lệnh quit quan trọng quit làm cho buffer cache trở nên consistent; đừng ấn Nếu muốn cài GRUB không tương tác, định tuỳ chọn batch dòng lệnh Một thí dụ đơn giản: #!/bin/sh # Du`ng /usr/sbin/grub ne^'u o+? he^ tho^'ng cu~ /sbin/grub batch /dev/null root (hd0,0) setup (hd0) quit EOT Các tuỳ chọn lệnh grub: help In tóm tắt tuỳ chọn dịng lệnh version In số phiên GRUB verbose In thơng điệp verbose nhằm mục đích gỡ lỗi device-map=tập_tin Dùng tập tin ánh xạ thiết bị tập_tin GVHD: NGUYỄN TẤN KHÔI LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 10 no-floppy Khơng thăm dị ổ đĩa mềm Tuỳ chọn khơng có tác dụng tuỳ chọn devicemap định probe-second-floppy Thăm dò ổ đĩa mềm thứ hai Shell grub khơng thăm dị tuỳ chọn khơng định đơi cần thời gian lâu Shell grub bỏ qua tuỳ chọn đinh tập tin ánh xạ thiết bị config-file=tập_tin Đọc tập tin cấu hình tập_tin thay /boot/grub/menu.lst boot-drive=ổ_đĩa Thiết lập ổ đĩa khởi động stage2 ổ_đĩa Đối số số nguyên (thập thân, bát phân hay thập lục phân) install-partition=phân_vùng Thiết lập phân vùng khởi động stage2 phân_vùng Đối số số nguyên (thập thân, bát phân hay thập lục phân) no-config-file Khơng dùng tập tin cấu hình no-curses Không dùng giao diện curses batch Tuỳ chọn có ý nghĩa no-config-file no-curses read-only Không viết vào đĩa Có thể cài GRUB theo tập tin có sẵn chứa thơng số cần thiết cho lệnh grub Thí dụ có tập tin /etc/grub.conf sau: root (hd0,4) install /grub/stage1 d (hd0) /grub/stage2 0x8000 (hd0,4)/grub/menu.lst quit Và bạn vừa hiệu chỉnh tập tin device.map, bạn phải cài lại GRUB: grub batch device-map=/boot/grub/device.map