Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Quy Trình Khởi Động Linux: Những Gì Bạn Nên Biết

Quy Trình Khởi Động Linux: Những Gì Bạn Nên Biết

Bạn từng tò mò về các giai đoạn khác nhau của Linux, một hệ điều hành mã nguồn mở? Biết toàn bộ quy trình boot có thể giúp bạn khắc phục sự cố – đặc biệt nếu bạn là quản trị viên.

Điều gì xảy ra đằng sau màn hình khi bạn bật thiết bị? Đọc tiếp để biết.

BIOS

Hệ thống Input/Output Cơ bản (BIOS) là một phần firmware cấp thấp được lưu trên chip nhớ nhỏ trên bo mạch chủ máy tính. Firmware này hỗ trợ quá trình khởi động và quản lý luồng dữ liệu giữa máy của bạn và các thiết bị kết nối khác, như chuột, máy in và bộ chuyển đổi video.

Quy Trình Khởi Động Linux: Những Gì Bạn Nên Biết

Chức năng chính của BIOS, hiển thị ở trên, là chạy Power-On Self Test (POST). Bài kiểm tra này xác minh sự hoạt động của phần cứng hệ thống và tìm boot sector, chứa phần mềm cần thiết cho phần còn lại của quy trình. Nếu POST thành công, BIOS sẽ nạp bước tiếp theo, Stage One Boot Loader, vào RAM của hệ thống.

Nếu POST không thành công, BIOS sẽ trả về mã bạn có thể dùng để troubleshooting.

Stage One Boot Loader

Giai đoạn đầu của boot loader – gọi là Master Boot Record (MBR) hoặc Guided Partition Table (GPT) – được thiết kế để đưa chương trình online.

MBR là một phần mềm đơn giản không có hiểu biết built-in về hệ thống file. Kết quả là, bạn luôn cần lưu stage two boot loader giữa MBR và phân vùng đầu tiên trên ổ cứng.

Một khi MBR phát hiện stage two boot loader, nó chuyển giao quyền điều khiển.

Stage Two Boot Loader

Nhiệm vụ của stage two boot loader là tìm kernel và nạp nó vào bộ nhớ.

Hầu hết các bản phân phối Linux sẽ dùng một trong ba boot loader khác nhau – GRUB, GRUB2 hoặc LILO. Bạn có thể sẽ thấy GRUB2, như hình dưới, vì nó là mới nhất.

Quy Trình Khởi Động Linux: Những Gì Bạn Nên Biết

Khi boot loader đã tìm thấy kernel và nạp nó vào RAM, nó chuyển giao quyền điều khiển. Nó cũng gửi một hình ảnh hệ thống file của thiết bị mà kernel có thể dùng để tìm module.

Kernel

Vì tất cả kernel tồn tại ở dạng nén để tiết kiệm không gian ổ cứng, điều đầu tiên nó làm khi được trao quyền là tự giải nén. Sau đó nó mount phiên bản image của hệ thống file nó nhận từ boot loader.

Kernel sẽ phát hiện phần cứng hệ thống và hoán đổi image sang root file trên đĩa.

init (systemd)

Tiếp theo, kernel sẽ khởi động hệ thống khởi tạo (init) – quy trình đầu tiên sinh ra tất cả quy trình cần thiết cho quá trình boot. Trên hầu hết hệ thống, đây sẽ là systemd.

Chức năng chính của systemd là khởi chạy tất cả daemon – quy trình nền và dịch vụ – cần thiết để chạy hệ thống. Các dịch vụ này sẽ tiếp tục chạy sau khởi tạo và quản lý quy trình hệ thống thiết yếu như logging các thông điệp hệ thống, theo dõi thiết bị và đảm bảo hệ thống file được đồng bộ với bộ nhớ hệ thống.

Nếu bạn tò mò về dịch vụ nào systemd đang chạy, chạy lệnh systemctl đơn lẻ sẽ trả về danh sách đầy đủ.

Bạn cũng có thể dùng systemd để khởi động dịch vụ khác khi boot bằng cách dùng tổ hợp lệnh systemctl và dịch vụ bạn muốn bắt đầu. Ví dụ, nếu bạn muốn hệ thống kiểm tra trạng thái NFS, bạn có thể gõ systemctl status nfs-server.service. Bạn cũng có thể start, stop, enable hoặc disable dịch vụ với tổ hợp systemctl và một trong những lệnh đó.

Runlevel

Run level là trạng thái của INIT, và hệ thống của bạn định nghĩa dịch vụ nào đang chạy. Kernel Linux tiêu chuẩn hỗ trợ bảy runlevel khác nhau:

  • 0: Hệ thống dừng, sẵn sàng tắt nguồn
  • 1: Chế độ single user
  • 2: Chế độ multi-user, không có network file system
  • 3: Chế độ multi-user dùng command line interface thay vì GUI
  • 4: User-defined
  • 5: Chế độ multi-user, dùng GUI mà hầu hết hệ thống Linux boot vào mặc định
  • 6: Reboot

Quy Trình Khởi Động Linux: Những Gì Bạn Nên Biết

Nếu bạn cần thay đổi runlevel vì bất kỳ lý do gì, INIT sẽ chịu trách nhiệm thay đổi nó dùng lệnh telinit, như hình trên.

Phân Tích Quy Trình Boot

Phân tích này chỉ là tổng quan về quy trình boot Linux và bỏ qua một số chi tiết tinh tế. Tuy nhiên, nó nên cung cấp thông tin bạn cần để troubleshoot bất kỳ vấn đề nào bạn có thể gặp.