Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
419 KB
Nội dung
1 TRẦN THỊ NGỌC MAI HỆ ĐiỀU HÀNH LINUX QUÁ TRÌNH KHỞI ĐỘNG VÀ ĐÓNG TẮT VC VC & & BB BB 22 Các bước khởi động hệ thống Linux (1) HĐH Linux VC VC & & BB BB 33 Các bước khởi động hệ thống Linux (2) Bật máy, BIOS nhận diện các device (quá trình này gọi là Power On Self Test - POST) Đọc Master Boot Record để tải boot loader (trình lilo hoặc trình grub) vào RAM: cho phép lựa chọn hệ điều hành boot. Tải nhân và khởi tạo RAM disk /sbin/init: tiến trình cha của mọi tiến trình. /etc/inittab: quyết định run level và khởi động các dịch vụ cần thiết của run level đó. HĐH Linux VC VC & & BB BB 44 Boot loader Boot loader hay còn gọi là boot manager cho phép quản lý nhiều hệ điều hành và chọn 1 hệ điều hành để boot vào. Hai boot loader phổ biến của Linux: LILO (LInux LOader) GRUB 2 (GRand Unified Boot loader) Khi thay đổi file cấu hình, GRUB tự động nhận biết, LILO thì phải dùng lệnh /sbin/lilo để update cấu hình. Ngày nay, GRUB là boot loader mặc định của đại đa số các hệ điều hành Linux. HĐH Linux VC VC & & BB BB 55 Boot loader GRUB 2 (1) Tập tin cấu hình của GRUB 2: /boot/grub/grub.cfg menuentry "Ubuntu, Linux 2.6.31-14-generic" { recordfail=1 if [ -n ${have_grubenv} ]; then save_env recordfail; fi set quiet=1 insmod ext2 set root=(hd0,10) search no-floppy fs-uuid set 85ae91cc-38c5-4870-b3af-3565b3fc355e linux /boot/vmlinuz-2.6.31-14-generic root=UUID=85ae91cc-38c5-4870-b3af-3565b3fc355e ro quiet splash initrd /boot/initrd.img-2.6.31-14-generic } menuentry "Microsoft Windows XP Professional (on /dev/sda1)" { insmod ntfs set root=(hd0,1) search no-floppy fs-uuid set cafc5f60fc5f463b drivemap -s (hd0) ${root} chainloader +1 } HĐH Linux VC VC & & BB BB 66 Boot loader GRUB 2 (2) Cách phân biệt partition trong boot loader GRUB khác với cách thông thường của Linux. GRUB không phân biệt IDE, và SCSI. Đĩa cứng được hiểu là: hd%d. %d: là số thứ tự đĩa cứng, bắt đầu từ 0 để chỉ đầu tiên. VD: set root=(hd0,10) <=> đĩa cứng thứ nhất, partition 10 LILO có cách hiểu thông thường như Linux: hdXY, sdXY. HĐH Linux VC VC & & BB BB 77 HĐH mặc định trong menu boot của GRUB 2 (1) Tập tin /boot/grub/grub.cfg là tập tin được sinh từ /etc/grub.d và /etc/default/grub => không nên chỉnh sửa Chỉnh sửa tập tin /etc/default/grub tại các dòng: GRUB_DEFAULT=0 Thay số 0 bằng số thứ tự mục chọn trong menu boot. Giả sử với HĐH Ubuntu 9.10 (có 4 mục trong menu boot STT 0->3) và HĐH Windows (STT 4) => muốn boot mặc định vào Windows => thay 0 bằng 4 Cũng có thể thay bằng từ “saved” để tự động lưu lại mục chạn của lần khởi động trước đó GRUB_TIMEOUT=10 Thời gian chờ của menu boot HĐH Linux VC VC & & BB BB 88 HĐH mặc định trong menu boot của GRUB 2 (2) Để biết các mục chọn trong menu boot => chạy lệnh: grep menuentry /boot/grub/grub.cfg Sau khi chỉnh sửa tập tin /etc/default/grub => chạy lệnh: sudo update-grub để cập nhật thông tin từ các tập tin riêng lẻ trong /etc/grub.d và tập tin vừa mới chỉnh /etc/default/grub vào trong tập tin /boot/ grub/grub.cfg HĐH Linux VC VC & & BB BB 99 Tải nhân và khởi tạo RAM disk Lệnh tải nhân và khởi tạo RAM disk trong /etc/grub/grub.cfg: linux /boot/vmlinuz-2.6.31-14-generic root=UUID=85ae91cc-38c5-4870-b3af-3565b3fc355e ro quiet splash initrd /boot/initrd.img-2.6.31-14-generic Lệnh linux: tải nhân Linux tại tập tin /boot/vmlinuz-2.6.31-14-generic Lệnh initrd: khởi tạo RAM disk tại tập tin /boot/initrd.img-2.6.31-14-generic RAM disk là hệ thống tập tin chứa các driver, module cần thiết cho nhân HĐH Linux VC VC & & BB BB 1010 Tải các HĐH khác Lệnh tải các HĐH non*unix: insmod ntfs set root=(hd0,1) search no-floppy fs-uuid set cafc5f60fc5f463b drivemap -s (hd0) ${root} chainloader +1 Lệnh chainloader để tải 1 sector vào RAM Chainloader +1 <=> chainloader 0+1: tải sector thứ 0 HĐH Linux [...]... khởi động lại HĐH Linux 12 VC VC & & BB BB Tiến trình init và file inittab (3) Thiết lập runlevel mặc định cho hệ thống (khác 2) => tạo tập tin /etc/inittab (với các distro của Redhat tập tin này có sẵn) sudo gedit /etc/inittab Nhập dòng sau: id:number:initdefault: thay number bằng runlevel mong muốn (không thay bằng 0 hoặc bằng 6) HĐH Linux 13 VC VC & & BB BB Tắt hệ thống (1) Có thể tắt hoặc khởi động. .. telinit 0 hoặc telinit 6, nhưng các lệnh này sẽ tắt hệ thống ngay lập tức Lệnh tắt máy: shutdown [tham số] Tham số: • -r (restart) • -h (halt) • -c (cancel) Thời gian: số phút, hoặc dùng “now” để tắt ngay lập tức Tắt máy vào lúc 8 tối (pm): shutdown -h 20:00 Sau 10 phút thì tắt máy: shutdown -h +10 (hoặc shutdown -h 10) HĐH Linux 14 VC VC & & BB BB Tắt hệ thống (2) Tham số -c giúp hủy lệnh shutdown... & BB BB Tiến trình init và file inittab (1) Sau khi kernel được tải, kernel cho thực thi file /sbin/init và /sbin/init trở thành process đầu tiên (có PID=1) Tiến trình init sẽ tìm đọc file /etc/inittab để quyết định runlevel nào sẽ được boot Nếu không có file /etc/inittab thì mặc định runlevel 2 được chạy Với runlevel được chọn, các script trong thư mục /etc/rc#.d được thực thi để khởi động các dịch... HĐH Linux 11 VC VC & & BB BB Tiến trình init và file inittab (2) Runlevel: quy định cách thức thao tác với HĐH Các runlevel của Linux: – 0: System halt – 1: Single user – 2: Full muti-user (default) – 3 → 5: Full muti-user – 6: System reboot Lệnh xem runlevel: runlevel (hoặc who -r) Lệnh thay đổi runlevel: telinit (phải dùng super user) – sudo telinit 0 tắt máy – sudo telinit 6 khởi. .. (2) Tham số -c giúp hủy lệnh shutdown Giả sử vừa thực hiện lệnh shutdown -h 5 nhưng chưa hết 5 phút mà muốn hủy lệnh → Ctrl C để hủy lệnh hoặc mở 1 Terminal khác và gõ lệnh shutdown -c Các lệnh tắt máy khác: – halt – reboot – poweroff HĐH Linux 15