Tìm hiểu và cấu hình GRUB trên LINUX - Pdf 33

TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 1

GVHD: NGUYỄN TẤN KHÔI

[LỜI NÓI ĐẦU]

LINUX là một hệ điều hành họ UNIX miễn phí dùng cho máy tính cá
nhân đang được sử dụng rộng rãi hiện nay. Được viết vào những năm 1991
bởi Linus Tovard, hệ điều hành LINUX đã thu được những thành công nhất
định. Hiện nay, LINUX ngày càng phát triển được đánh giá cao và thu hút
nhiều sự quan tâm của các nhà tin học.
Trong những năm gần đây hệ điều hành LINUX từng bước được đưa
vào sử dụng tại Việt Nam. nhiều tổ chức, công ty và các dự án tin học đã
chọn LINUX là môi trường để phát triển các ứng dụng của mình. Chính vì
thế nhu cầu tìm hiểu hệ điều hành này đang trở nên rất quan trọng và cần
thiết.
Việc tìm hiểu và cấu hình trong môi trường bộ tải khởi động GRUB-2
Hệ Điều Hành như LINUX(UBUNTU 10.10) là công việc rất khó khăn.
GRUB là trình khởi động máy tính – nó có nhiệm vụ tải nhân và khởi động
hệ thống Linux cũng như một số hệ điều hành khác: FreeBSD, NetBSD,
OpenBSD, GNU HURD, DOS, Windows 95, 98, Me, NT, 2000 và XP .Nó
có trách nhiệm chuyển tải và kiểm soát tới một phần mềm hệ điều hành hạt
nhân (chẳng hạn như Linux hay GNU Hurd hạt nhân)..
Do đó việc tìm hiểu và cấu hình Grub trên ubuntu 10.10 là rất quang
trọng trong linh hoạt và thuận tiện cho việc khởi động Hệ Điều Hành Linux
bởi nó đặc biệt hữu ích cho multiboot, hệ thống phân vùng và nó thực sự là
bộ nạp lớn nhất để khởi động Linux và thực tế bất kỳ hệ điều hành nguồn
mở nào khác
Đây là lần đầu tiên em đi vào nghiên cứu đề tài của hệ điều hành
LINUX(Tìm hiểu và cấu hình GRUB trên Linux) và quỹ thời gian có hạn
nên đề tài sẽ không tránh khỏi những thiếu sót. Rất mong nhận được sự đóng


GRUB hỗ trợ nhiều hệ thống tập tin: BSD FFS, DOS FAT16 và FAT32, Minix fs,
Linux ext2fs và ext3fs, ReiserFS, JSF, XFS, và 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
cũng hỗ trợ tập tin cấu hình.

TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 3

GVHD: NGUYỄN TẤN KHÔI

II. Cài đặt GRUB
1. Nơi tải GRUB xuống
GRUB có sẵn ở hoặc các mirror của nó. Tên gói
GRUB có dạng
grub-version.tar.gz
, thí dụ
grub-0.93.tar.gz
.
2. Cài đặt GRUB trong môi trường Linux
Cần phân biệt 2 bước của cài đặt GRUB:
- Cài đặt trong môi trường hệ điều hành để có thể sử dụng được GRUB
- Cài đặt GRUB để GRUB làm trình khởi động máy tính.
Sau khi tải về một thư mục thích hợp, giải nén bằng lệnh
tar xzvf grub-0.93.tar.gz
Sau đó:
cd grub-0.93.tar.gz
./configure
(Để liệt kê các tuỳ chọn khi biên dịch:
./configure --help | more

/boot/grub

(thư mục khởi động). Trong số các tập tin
*stage1_5
có thể chỉ cần chép tập tin thích
hợp với hệ thống tập tin của
/boot/grub
, chẳng hạn chép tập tin
e2fs_stage1_5
nếu thư
mục này nằm trên ext2 hoặc ext3. Ngoải ra có thể chép tập tin
splash.xpm.gz
vào thư
mục
/boot/grub
.
2. Thuật ngữ dùng trong 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) hoặc
hd
(ổ đĩa cứng, GRUB không phân biệt IDE hay SCSI
hay RAID) theo sau bởi một con số biểu thị số của thiết bị theo BIOS và bắt đầu
với 0 hoặc a . Ví dụ:


: phân vùng mở rộng thứ nhất trên ổ đĩa cứng thứ nhất
• (hd1,a)
: phân vùng BSD
a
trên ổ đĩa cứng thứ hai; nếu cần xác định cụ thể số PC
slice nào được dùng, sử dụng cú pháp như
(hd1,0,a)
, nếu bỏ trống số PC slice,
GRUB tìm PC slice đầu tiên có phân vùng BSD
a

• (fd0)
: ổ đĩa mềm thứ nhất TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 5

GVHD: NGUYỄN TẤN KHÔI

Ở hệ thống có 2 đĩa cứng IDE và 2 đĩa cứng SCSI, trình tự khởi động trong BIOS được
thiết lập là "IDE trước SCSI", GRUB sẽ dùng các nhãn sau:
• (hd0)
Đĩa cứng IDE thứ nhất
• (hd1)
Đĩa cứng IDE thứ hai
• (hd2)
Đĩa cứng SCSI thứ nhất
• (hd3)
Đĩa cứng SCSI thứ hai
Ngoài ra còn có thiết bị ổ đĩa mạng

thống tập tin, chẳng hạn như một 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 các khối 0 đến 99, khối 200 và khối 300 đến 599.
Nếu bỏ qua offset, GRUB sẽ lấy offset là 0.
Cũng như trong cú pháp tên tập tin, nếu danh sách khối không chứa tên
thiết bị thì GRUB sẽ dùng thiết bị root của GRUB. Thí dụ
+1
khi thiết bị
root là
(hd0,1)
tương ứng với
(hd0,1)+1
.

TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 6

GVHD: NGUYỄN TẤN KHÔI

Lệnh
blocklist
liệt kê danh sách khối của tập tin, ví dụ:
grub> blocklist (hd1,0)/vmlinuz
(hd1,0)1322144+96,1322248+1227
có nghĩa là tập tin
vmlinux
, nằm ở phân vùng thứ nhất của đĩa cứng thứ hai, chiếm
96 khối kể từ khối 1322144 và 1227 khối kể từ khối 1322248 – có thể thấy rằng

pxebrub

Là các hình ảnh khởi động mạng.
4. Cơ chế khởi động dùng trong GRUB
Trên sector thứ nhất của đĩa cứng chứa, ngoài bảng phân vùng, một đoạn mã thực thi
được là giai đoạn đầu tiên của quá trình khởi động máy tính, hoặc đoạn mã IPL (initial
program load). Đoạn mã chuẩn này là cái mà lệnh
fdisk /mbr
trên DOS tạo ra. Khi thiết lập
trong BIOS quy định khởi động từ đĩa cứng đó, BIOS sẽ trao quyền điều khiển cho IPL
hoặc đoạn mã giai đoạn một. Khi đoạn mã chuẩn được nạp, nó sẽ quyết định phân vùng
nào là chủ động (active) và trao quyền điều khiển cho đoạn mã thực thi được nằm ở trong
hoặc gần sector thứ nhất của phân vùng chủ động. Những gì xảy ra tiếp theo phụ thuộc
vào hệ điều hành. Ở các hệ điều hành DOS cũ, phần cốt lõi thi hành được của hệ điều
hành nằm ngay tại vị trí đầu tiên của đĩa và được khởi động trực tiếp từ giai đoạn một.
Trong các trường hợp điển hình hơn, một chương trình khởi động giai đoạn hai sẽ được
nạp và đến lượt nó sẽ biết nơi nào để tìm nhân hoặc các thành phần cốt lõi của hệ điều
hành và khởi động chúng. Khi GRUB hoặc một trình khởi động được cài đặt, đoạn mã
của trình khởi động đó sẽ thay thế đoạn mã IPL chuẩn. Nó phải vừa vặn trong 512 byte
và còn phải chia sẻ chung với bảng phân vùng. Khác biệt chính giữa một trình khởi động
TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 7

GVHD: NGUYỄN TẤN KHÔI

và đoạn mã IPL chuẩn là quyền điều khiển sẽ đi đâu tiếp sau đó. Trong trường hợp của
GRUB, quyền điều khiển sẽ được trao cho trình Giai đoạn 2 (hoặc Giai đoạn 1.5).
Giai đoạn 1 được cài vào MBR hoặc vào sector khởi động của phân vùng, còn
Giai đoạn 2 được đặt trên một hệ thống tập tin. Giai đoạn 1.5 có thể được cài trong
một hệ thống tập tin (chẳng hạn như ở phân vùng
/boot

Giai đoạn 1.5 vào bộ nhớ nếu 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 như khi phân vùng
/boot
nằm ở vị trí quá 1024 cylinder đầu
của ổ cứng hoặc khi sử dụng chế độ LBA.
5. Cài GRUB trong môi trường nguyên thuỷ của 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]
6. 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ỉ] [

/boot
. Vì GRUB là một
trình nạp khởi động, nó không biết gì về các điểm gán, nên cần chạy lệnh
grub-install
như
sau:
# grub-install --root-directory=/boot /dev/hda
Như trên đã nói, việc đoán ổ đĩa BIOS trong hệ điều hành giống UNIX là khá khó khăn.
Vì vậy, sau khi cài đặt,
grub-install
sẽ nhắc người dùng kiểm ra xem nó có đoán đúng các
ánh xạ không. Cần cẩn thận, vì nếu kết quả xuất ra sai máy tính rất có thể bạn sẽ gặp rắc
rối khi khởi động lại máy tính.
Các tuỳ chọn của lệnh
grub-install

--help

In tóm tắt về các tuỳ chọn dòng lệnh và thoát.
--version

In số phiên bản của GRUB và thoát.
--force-lba

Bắt buộc GRUB dùng chế độ LBA. Chỉ dùng tuỳ chọn này nếu BIOS không hoạt
động ở chế độ LBA mặc dù nó hỗ trợ chế độ LBA.
--grub-shell=tập_tin

Dùng tập_tin làm shell grub. Bạn có thể thêm các tuỳ chọn tuỳ ý vào tập_tin sau
tên tập tin, thí dụ:

Quá trình cài đặt dùng shell grub tương tự như ở Giai đoạn 2 nguyên thuỷ. Bạn
cần cẩn thận về buffer cache.
grub
dùng thiết bị thô thay vì hệ thống tập tin mà hệ
điều hành đang sử dụng, vì vậy có khả năng cache inconsistency nào đó gây hư
hỏng hệ thống tập tin. Lời khuyên là:

tháo gán trước khi chạy
grub
, nếu có thể, các ổ đĩa mà GRUB có thể sẽ viết dữ liệu
lên.

gán ở chế độ chỉ-đọc nếu không thể tháo gán ổ đĩa nhưng có thể gán với cờ chỉ-
đọc.

chắc chắn rằng không có bất kì hoạt động đĩa nào trong khi chạy lệnh
grub
nếu ổ
đĩ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 càng sớm càng tốt. Điều này có thể không cần thiết
nếu các bước trên đã được tuân thủ, nhưng khởi động lại là cách an toàn nhất.
Sau khi hoàn tất cài đặt, việc nhập lệnh
quit
là rất quan trọng vì
quit
làm cho buffer cache
trở nên consistent; đừng ấn <C-c>.
Nếu muốn cài GRUB không tương tác, chỉ định tuỳ chọn
--batch

--no-floppy

Không thăm dò ổ đĩa mềm. Tuỳ chọn này không có tác dụng nếu tuỳ chọn
--device-
map
được chỉ định.
--probe-second-floppy

Thăm dò ổ đĩa mềm thứ hai. Shell grub không thăm dò nó nếu tuỳ chọn này
không được chỉ định vì đôi khi nó cần thời gian lâu. Shell grub bỏ qua tuỳ chọn
này nếu đã chỉ đ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 vì
/boot/grub/menu.lst
.
--boot-drive=ổ_đĩa

Thiết lập ổ đĩa khởi động
stage2
là ổ_đĩa. Đối số này là một 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
là phân_vùng. Đối số này là một số nguyên
(thập thân, bát phân hay thập lục phân).
--no-config-file


# /etc/grubfd.conf – ta.o ddi~a me^`m kho+?i ddo^.ng

#

# DDe^? ca`i grub va`o ddi~a me^`m, nha^.p le^.nh sau:

# grep -v ^# /etc/grubfd.conf | grub --batch

#

root (fd0)

install /boot/grub/stage1 d (fd0) (fd0)/boot/grub/stage2 0x8000 p (fd0)/boot/grub/menu.lst

quit

Bạn dùng lệnh sau để cài GRUB vào đĩa mềm (đã được chú thích trong tập tin đó):
grep -v ^# /etc/grubfd.conf | grub –batch
TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 11

GVHD: NGUYỄN TẤN KHÔI

9. Khởi động hệ thống với GRUB
GRUB có 2 cách khác nhau để khởi động hệ thống. Một cách là nạp hệ điều hành trực
tiếp, cách kia là nạp chuỗi một trình nạp khởi động khác, trình nạp khởi động này sẽ nạp
hệ điều hành. Nói chung thì cách thứ nhất được ưa chuộng hơn vì không phải cài hay duy
trì trình khởi động khác. Tuy nhiên đôi khi vẫn cần dùng cách thứ hai vì GRUB không hỗ

Thiết lập thiết bị root của GRUB đến phân vùng hệ điều hành bằng lệnh
rootnoverify

grub> rootnoverify hd(0,0)

Thiết lập cờ active trong phần vùng bằng lệnh
makeactive

grub> makeactive

Tải trình nạp khởi động bằng lệnh
chainloader

grub> chainloader +1
+1
biểu thị GRUB đọc một sector kể từ nơi bắt đầu của phân vùng.

Chạy lệnh
boot
TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 12

GVHD: NGUYỄN TẤN KHÔI

10. Cấu hình
Ở giao diện dòng lệnh cần phải gõ vài lệnh để khởi động hệ điều hành. GRUB cũng cung
cấp giao diện thực đơn mà chỉ cần chọn một đề mục là mọi thứ được thực hiện để khởi
động hệ điều hành.

Không có lệnh
boot
ở cuối đề mục vì nó sẽ tự động thực hiện nếu GRUB nạp thành công
các lệnh khác.
TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 13

GVHD: NGUYỄN TẤN KHÔI

10.2 Đặc điểm của tập tin cấu hình:

các lệnh đặc thù cho thực đơn phải được dùng trước các lệnh khác

tập tin phải ở định dạng văn bản thuần tuý
• #
ở đầu dòng cho biết đây chỉ là lời bình

các tuỳ chọn cách nhau bằng khoảng trắng

số có thể ở dạng thập phân hoặc thập lục phân. Số thập lục phân phải khởi đầu
bằng 0x, và phân biệt chữ hoa-thường
Nếu quá trình cài GRUB đã không quy định tập tin cấu hình, vẫn có thể tải tập tin cấu
hình trong môi trường GRUB bằng lệnh
configfile
, thí dụ:
grub> configfile (fd0)/boot/grub/menu.lst
11. Giao diện người dùng của GRUB
GRUB có cả giao diện thực đơn đơn giản để chọn các đề mục được thiết lập sẵn từ tập tin
cấu hình lẫn giao diện dòng lệnh linh hoạt cao để thực hiện bất cứ các tổ hợp lệnh khởi
động nào theo ý muốn.
12. Giao diện dòng lệnh

Trong khi biên tập một đề mục, ấn <RET> để thay thế dòng lệnh cũ bằng dòng
lệnh vừa điều chỉnh, nếu ấn <ESC> mọi thay đổi sẽ được bỏ qua. Nếu muốn thêm
một dòng mới vào đề mục khởi động, ấn <o> nếu thêm vào sau dòng hiện tại hoặc
TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 15

GVHD: NGUYỄN TẤN KHÔI

<O> nếu thêm vào trước dòng hiện tại. Để xoá một dòng, ấn <d>. GRUB không
hỗ trợ huỷ bỏ thao tác vừa làm, nhưng có thề làm điều tương tự như vậy bằng cách
quay trở lại thực đơn chính. Sau khi điều chỉnh xong, ấn <b> để khởi động với đề
mục đó.
15. Giao diện thực đơn ẩn
Nếu thiết bị cuối câm hoặc GRUB được yêu cần che dấu giao diện thực đơn bằng lệnh
hiddenmenu,
GRUB sẽ không hiển thị giao diện thực đơn và tự động khởi động đề mục
mặc định, trừ khi bị ngắt bằng cách ấn phím <ESC>. Khi ngắt thời gian chờ và thiết bị
cuối câm, GRUB quay trở lại giao diện dòng lệnh.
16. Một số lệnh trong GRUB
16.1 Các lệnh chỉ dùng cho thực đơn
default số
Thiết lập mặc định cho đề mục số số. Việc đánh số bắt đầu từ 0, và đề mục số 0 là
mặc định nếu lệnh này không được dùng.
Có thể chỉ định
saved
thay vì một con số. Khi đó, đề mục mặc định là đề mục được
lưu bằng lệnh
savedefault
.
fallback số
Nếu đề mục mặc định có lỗi, ngay lập tức chuyển qua đề mục số thay vì chờ


GVHD: NGUYỄN TẤN KHÔI

Tên màu tượng trưng phải là một trong các tên sau:

black

blue

green

cyan

red

magenta

brown

light-gray
Những tên bên dưới chỉ dùng được cho tiền cảnh.

dark-gray

light-blue

light-green

light-cyan



TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 17

GVHD: NGUYỄN TẤN KHÔI

password [
--md5
] mật_khẩu [tập_tin_cấu_hình_mới]
Nếu được dùng trong phần đầu tiên của một tập tin thực đơn, nó sẽ vô hiệu hoá
mọi hoạt động điều khiển biên tập tương tác (bộ phận biên tập đề mục thực đơn
và dòng lệnh) và các đề mục được bảo vệ bằng lệnh
lock
. Nếu mật khẩu mật_khẩu
được nhập, nó sẽ tải tập_tin_cấu_hình_mới làm tập tin cấu hình mới và khởi động
lại GRUB Giai đoạn 2 nếu tập_tin_cấu_hình_mới được chỉ định. Nếu không,
GRUB sẽ chỉ mở khoá các lệnh đặc quyền. Lệnh này cũng có thể được dùng trong
phần script, khi đó nó sẽ hỏi mật khẩu trước khi tiếp tục. Tuỳ chọn
--md5
bảo
GRUB rằng mật_khẩu được mã hoá với
md5crypt
.
setkey [đến_phím từ_phím]
Thay đổi ánh xạ bàn phím. Phím từ_phím được ánh xạ sang đến_phím. Nếu không
có đối số nó sẽ thiết lập lại ánh xạ bàn phím. Lưu ý rằng lệnh này không hoán đổi
các phím. Nếu muốn hoán đổi các phím, chạy lệnh này một lần nữa với thông số
hoán đổi, như:
grub> setkey capslock control
grub> setkey control capslock
Một phím phải là một chữ cái, một con số, hoặc một trong các kí hiệu sau:

backspace
,
tab
,
bracketleft
,
braceleft
,
bracketright
,
braceright
,
enter
,
control
,
semicolon
,
colon
,
quote
,
doublequote
,
backquote
,
tilde
,
shift
,

Lệnh này có ích khi khởi động DOS hoặc Windows và có nhiều phân vùng sơ cấp
trên một đĩa cứng.
17. Các lệnh dùng ở dòng lệnh và đề mục thực đơn
Các lệnh này dùng được ở dòng lệnh và ở đề mục thực đơn. Có thể chạy lệnh
help
để xem
thông tin về các lệnh này.
blocklist tập_tin
In kí hiệu danh sách khối của tập tin tập_tin.
boot
Khởi động hệ điều hành/trình nạp chuỗi đã được nạp. Chỉ cần thiết khi chạy trên
dòng lệnh tương tác đầy đủ (nó được hiểu ngầm ở cuối đề mục thực đơn).

cat tập_tin
Hiển thị nội dung tập tin tập_tin. Lệnh này có thể giúp xác định đúng đâu là thư
mục gốc của hệ điều hành:
grub> cat /etc/fstab

chainloader [
--force
] tập_tin
Nạp chuỗi tập_tin. Nếu chỉ định tuỳ chọn
--force
, nó sẽ cưỡng bức nạp tập_tin, cho
dù nó có chữ kí đúng hay không. Điều này giúp nạp một trình nạp khởi động
khiếm khuyết (như để khởi động SCO UnixWare 7.1). TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 18



Tắt máy tính. Nếu tuỳ chọn
--no-apm
được chỉ định, không thực hiện lời gọi APM
BIOS; nếu không, máy tính dùng APM khi tắt.
help
--all
[mẫu
...
]
Hiển thị thông tin về các lệnh được cài sẵn. Nếu không chỉ định mẫu, lệnh này sẽ
cho ra miêu tả ngắn của hầu hết các lệnh có sẵn. Nếu chỉ định tuỳ chọn
--all
, các
miêu tả ngắn cho các lệnh hiếm dùng cũng được trình bày. Nếu chỉ định mẫu, nó
sẽ trình bày thông tin dài hơn về mỗi lệnh khớp với các mẫu đó.
initrd tập_tin
...

Nạp đĩa RAM ban đầu cho hình ảnh khởi động theo định dạng Linux và thiết lập
các thông số thích hợp cho vùng thiết lập Linux trong bộ nhớ.
install
Đã được đề cập ở trên.
ioprobe ổ_đĩa
Dò tìm cổng I/O dùng cho ổ đĩa ổ_đĩa. Lệnh này sẽ liệt kê các cổng I/O trên màn
hình.
kernel [
--type=loại
] [
--no-mem-option

vì GRUB có thể tự động xác định loạ i nhân trong các trường
hợp khác một cách khá an toàn. Tuỳ chọn
--no-mem-option
chỉ hiệu quả trên Linux.
Nếu chỉ định tuỳ chọn này, GRUB không chuyển tuỳ chọn
mem=
đến nhân.
lock
Ngăn cản người dùng thông thường thi hành các đề mục thực đơn một cách tuỳ ý.
Để lệnh này thực sự có tác dụng phải dùng kèm với lệnh
password
. Lệnh này được
dùng trong thực đơn, như ở thí dụ sau:
title DDe^` mu.c na`y ddu+o+.c ba?o ve^.
lock
root (hd0,a)
kernel /no-security-os
makeactive
Thiết lập phân vùng chủ động (active) trên đĩa root cho thiết bị root của GRUB.
Lệnh này chỉ giới hạn (do chỉ có ý nghĩa) cho các phân vùng PC sơ cấp trên đĩa
cứng.
map từ_ổ_đĩa đến_ổ_đĩa
Ánh xạ ổ đĩa từ_ổ_ đĩa đến ổ đĩa đến_ổ_đĩa. Điều này cần thiết khi nạp chuỗi một
số hệ điều hành, thí dụ như DOS, nếu hệ điều hành đó nằm ở ổ đĩa không phải là
ổ đĩa thứ nhất. Thí dụ:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)
Thí dụ này chuyển đổi trật tự giữa ổ cúng thứ nhất và ổ cứng thứ hai.
md5crypt
Nhắc nhập mật khẩu và mã hoá nó ở dạng MD5. Mật khẩu được mã hoá có thể

, được
dùng bởi một số trình khởi động theo kiểu nạp chuỗi), loại ổ đĩa BSD (để khởi
động nhân BSD dùng định dạng nguyên thuỷ của chúng), và xác định chính xác
phân vùng PC nơi đặt các tiểu phân vùng BSD. Thông số tuỳ chọn hdbias là một
số cho nhân BSD biết con số ổ đĩa BIOS là bao nhiêu trên các controller trước ổ
TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 20

GVHD: NGUYỄN TẤN KHÔI

đĩa hiện tại. Thí dụ, nếu có một đĩa IDE và một đĩa SCSI, và phân vùng root của
FreeBSD trên đĩa SCSI, thì dùng
1
cho hdbias.
rootnoverify thiết_bị [hdbias]
Tương tự như
root
, nhưng không gán (mount) phân vùng. Điều này hữu ích khi hệ
điều hành nằm ngoài khu vực trên đĩa mà GRUB có thể đọc, nhưng vẫn muốn
thiết lập thiết bị root đúng. Lưu ý rằng các mục đề cập ở phần lệnh
root
bên trên có
được do gán sẽ không làm việc chính xác.
savedefault
Lưu đề mục hiện tại làm đề mục mặc định
Với cấu hình này GRUB sẽ chọn đề mục được khởi động trước đây làm đề
mục mặc định. Dùng lệnh
savedefault
ở một hoặc một vài đề mục và không
dùng ở một số đề mục khác sẽ tạo thực đơn cho phép thay đổi mặc định ở
một vài hệ thống và không bao giờ thiết lập mặc định được cho các hệ điều

/usr/local/share/grub/i386-pc
. Chép chúng vào tập tin hình ảnh:
o cp /đường-dẫn/stage1 mnt/boot/grub
o cp /đường-dẫn/stage2 mnt/boot/grub
cp /đường-dẫn/menu.lst mnt/boot/grub
o
Biên tập
menu.lst
(nếu cần thiết):
o cd mnt/boot/grub
vi menu.lst
TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 21

GVHD: NGUYỄN TẤN KHÔI

o
Tháo gán và chạy
grub
:
o umount mnt
grub
Trong shell grub, chạy các lệnh:
device (fd0) boot.img
root (fd0)
setup (fd0)
quit

Dùng tập tin hình ảnh tạo đĩa CD khởi động:
• mkdir -p /tmp/boot
• mv boot.img /tmp/boot

memdisk
trong
đó)
Thêm đề mục vào
menu.lst
:
title cdrom
kernel (hd1,6)/boot/memdisk
initrd (hd1,6)/boot/sbm.img
TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 22

GVHD: NGUYỄN TẤN KHÔI

V. Cơ chế an toàn và bảo mật GRUB
Dùng tính năng mật khẩu của GRUB để chỉ cho phép người quản trị dùng các hoạt động
tương tác (như biên tập đề mục thực đơn và vào giao diện dòng lệnh). Để sử dụng tính
năng này, cần chạy lệnh
password
trong tập tin cấu hình, như sau:
password --md5 PASSWORD
Khi đó GRUB không cho phép điều khiển tương tác nào (<e> và <c>), cho đến khi gõ
phím <p> và nhập đúng mật khẩu. Tuỳ chọn
--md5
cho GRUB biết rằng PASSWORD ở
định dạng MD5. Nếu không sử dụng tuỳ chọn này, GRUB cho rằng PASSWORD ở dạng
văn bản thuần tuý. Mật khẩu có thể được mã hoá bằng lệnh
md5crypt
. Thí dụ chạy shell
grub và nhập mật khẩu:
grub> md5crypt

lock
/
password
ngay sau
title
vì các lệnh trong đề mục thực đơn được
thực thi theo thứ tự.
grub-md5-crypt
là script gọi shell grub để mã hoá một chuỗi kí tự ở dạng MD5. Mật
khẩu do chương trình này mã hoá có thể được dùng với lệnh
password
.
grub-md5-crypt
nhận các tuỳ chọn sau:
--help

In tóm tắt các tuỳ chọn dòng lệnh và thoát
--version

In thông tin phiên bản và thoát
--grub-shell=tập_tin

Dùng tập_tin làm shell grub

TÌM HIỂU VÀ CẤU HÌNH GRUB TRÊN LINUX Trang- 23

GVHD: NGUYỄN TẤN KHÔI

VI. [Grub 2]
1. [Từ Ubuntu-VN]

2. [Cài đặt / Nâng cấp]
2.1 [Cài đặt (Ubuntu 9.10)]
GRUB 2 sẽ được cài mặc định trên phiên bản Karmic. Nếu bạn muốn nâng cấp từ
Jaunty 9.04 lên Karmic 9.10 bạn có thể theo các bước hướng dẫn dưới đây:
2.2 [Cài đặt (Ubuntu 9.04+)]

Mở một cửa sổ dòng lệnh (Terminal) và nhập
$ sudo apt-get install grub2
Chọn OK từ grub-pc configuration

Chọn Chainload from menu.lst YES

Tại dấu nhắc lệnh, ấn ENTER
NOTE: Cái này chỉ là tạm thời, bạn phải cố định nó lại bằng cách...

Nhập vào một terminal
$ sudo upgrade-from-grub-legacy
Sau đó GRUB 2 sẽ cho biết địa chỉ mà nó khởi động. Trên hệ thống thử
nghiệm của chúng tôi, nó hiển thị (hd0) /dev/sda nhưng có thể khác trên máy của
bạn. Nếu chưa chính xác, bạn phải chỉnh sửa file /boot/grub/device.map để khớp
với hệ thống của bạn và thế là chạy:
$ sudo grub-install
GRUB 2 sẽ được cài đầy đủ, còn GRUB hiện hữu thì bị gỡ ra và cấu hình
của nó sẽ được sao lưu lại. Cấu hình của GRUB cũ được lưu tại /boot/grub và có
tên là menu.lst*
Bạn có thể xác định lại phiên bản mà bạn vừa cài bằng cách nhập:
grub-install –v

quản trị" ("root").

Các kịch bản được dùng để khởi tạo grub.cfg bao gồm các tâp tin chứa trong thư
mục /etc/grub.d và thông tin được thu thập từ /etc/default/grub

Tập tin này được chia thành từng khu vực. Mỗi phân khu được mô tả và có thể
nhận biết bằng dòng ### BEGIN. Thông tin trong dòng này đề cập đến những tập
tin trong thư mục /etc/grub.d vốn dùng để liên kết thông tin vào trong grub.cfg

Mặc định, và mỗi khi lệnh "update-grub" được thực thi, tâp tin này được "niêm
chì" chỉ đọc mà thôi. Điều này giữ cho nội dung của tập tin sẽ không bị thay đổi
một cách "thủ công". Nếu bạn muốn chỉnh sửa file này, hướng dẫn nằm ở cuối
bài.

Đây là nội dung mẫu của grub.cfg, bao gồm hai lõi (kernel) Ubuntu, memtest86+,
Windows và một mục tùy chỉnh (41_srcd), được nhập từ các kịch bản ở
/etc/grub.d/ :


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status