QUÁ TRÌNH KHỞI ĐỘNG VÀ ĐÓNG TẮT TRONG LINUX

15 617 1
QUÁ TRÌNH KHỞI ĐỘNG VÀ ĐÓNG TẮT TRONG LINUX

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

Ngày đăng: 06/01/2015, 13:06

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

Tài liệu cùng người dùng

Tài liệu liên quan