Linux07 khoidong&dongtat

  • 482 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
482
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
30
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. HỆ ĐiỀU HÀNH LINUX TRẦN THỊ NGỌC MAI QUÁ TRÌNH KHỞI ĐỘNG VÀ ĐÓNG TẮT 1
  • 2. &VC BB Các bước khởi động hệ thống Linux (1) HĐH Linux 2
  • 3. &VC BB 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 3
  • 4. &VC BB 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 4
  • 5. &VC BB 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 5 }
  • 6. &VC BB 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 6
  • 7. &VC HĐH mặc định trong menu boot của GRUB 2 (1) BB 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 7
  • 8. &VC HĐH mặc định trong menu boot của GRUB 2 (2) BB • Để 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 8
  • 9. &VC BB 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 9
  • 10. &VC BB 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 10
  • 11. &VC 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 vụ của runlevel tương ứng. Các script này là các liên kết lấy từ /etc/init.d HĐH Linux 11
  • 12. &VC 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 <runlevel> (phải dùng super user) – sudo telinit 0 <=> tắt máy – sudo telinit 6 <=> khởi động lại HĐH Linux 12
  • 13. &VC 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
  • 14. &VC BB Tắt hệ thống (1) •Có thể tắt hoặc khởi động lại hệ thống bằng lệnh 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ố] <thời gian> 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
  • 15. &VC BB Tắt hệ thống (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