Computer >> Máy Tính >  >> Hệ thống >> Linux

Quy trình khởi động Linux:Những điều bạn nên biết

Quy trình khởi động Linux:Những điều bạn nên biết

Bạn đã bao giờ 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 khởi động 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 hậu trường khi bạn bật nguồn thiết bị của mình? Đọc để tìm hiểu.

BIOS

Hệ thống Đầu vào / Đầu ra Cơ bản (BIOS) là một phần của phần sụn cấp thấp được lưu trữ trên một chip nhớ nhỏ trong bo mạch chủ của máy tính của bạn. Chương trình cơ sở 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ị được kết nối khác, chẳng hạn như chuột, máy in và bộ điều hợp video.

Quy trình khởi động Linux:Những điều bạn nên biết

Chức năng chính của BIOS, được trình bày ở trên, là chạy Tự kiểm tra khi bật nguồn (POST). Kiểm tra này xác minh khả năng hoạt động của phần cứng hệ thống và tìm khu vực khởi động, chứa phần mềm cần thiết cho phần còn lại của quá trình. Nếu POST thành công, BIOS sẽ tải bước tiếp theo, Bộ nạp khởi động Giai đoạn một, vào RAM của hệ thống.

Nếu POST không thành công, BIOS sẽ trả về mã mà bạn có thể sử dụng để khắc phục sự cố.

Bộ nạp khởi động giai đoạn một

Giai đoạn đầu tiên của bộ tải khởi động - được gọi là Bản ghi khởi động chính (MBR) hoặc Bảng phân vùng có hướng dẫn (GPT) - được thiết kế để đưa chương trình trực tuyến.

MBR là một phần mềm đơn giản không có hiểu biết tích hợp về hệ thống tệp. Do đó, bạn sẽ luôn cần lưu trữ bộ tải khởi động giai đoạn hai giữa MBR và phân vùng đầu tiên trên ổ cứng.

Khi MBR phát hiện bộ tải khởi động giai đoạn hai, nó sẽ chuyển giao quyền kiểm soát.

Bộ nạp khởi động giai đoạn hai

Công việc của bộ nạp khởi động giai đoạn hai là tìm hạt nhân và tải nó vào bộ nhớ.

Hầu hết các bộ phận Linux sẽ sử dụng một trong ba bộ tải khởi động khác nhau - GRUB, GRUB2 hoặc LIL. Rất có thể bạn sẽ thấy GRUB2, được mô tả bên dưới, vì đây là GRUB2 mới nhất.

Quy trình khởi động Linux:Những điều bạn nên biết

Khi bộ tải khởi động đã tìm thấy hạt nhân và tải nó vào RAM, nó sẽ vượt qua quyền kiểm soát. Nó cũng gửi một hình ảnh về hệ thống tệp trên thiết bị của bạn mà hạt nhân có thể sử dụng để tìm các mô-đun.

Kernel

Bởi vì tất cả các hạt nhân tồn tại ở định dạng nén để tiết kiệm dung lượng ổ cứng, điều đầu tiên nó sẽ làm sau khi được cấp quyền kiểm soát là tự giải nén. Sau đó, nó sẽ gắn phiên bản hình ảnh của hệ thống tệp mà nó nhận được từ bộ tải khởi động.

Hạt nhân sẽ phát hiện phần cứng của hệ thống và hoán đổi hình ảnh sang tệp gốc trên đĩa.

init (systemd)

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

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

Nếu bạn muốn biết hệ thống dịch vụ nào đang chạy, hãy chạy systemctl lệnh của chính nó sẽ trả về một danh sách đầy đủ.

Bạn cũng có thể sử dụng systemd để khởi động các dịch vụ khác khi khởi động bằng cách sử dụng kết hợp lệnh systemctl và dịch vụ bạn muốn khởi động. Ví dụ:nếu bạn muốn hệ thống kiểm tra trạng thái của NFS, bạn có thể nhập systemctl status nfs-server.service . Bạn cũng có thể start , stop , enable hoặc disable một dịch vụ có sự kết hợp của systemctl và một trong những lệnh đó.

Runlevel

Mức chạy là trạng thái INIT và hệ thống của bạn xác định dịch vụ nào đang chạy. Nhân Linux tiêu chuẩn hỗ trợ bảy cấp chạy khác nhau:

  • 0: Hệ thống tạm dừng, sẵn sàng tắt nguồn
  • 1 :Chế độ một người dùng
  • 2: Chế độ nhiều người dùng, không có hệ thống tệp mạng
  • 3: Chế độ nhiều người dùng sử dụng giao diện đời lệnh thay vì giao diện người dùng đồ họa
  • 4: Do người dùng xác định
  • 5: Chế độ nhiều người dùng, sử dụng giao diện người dùng đồ họa mà hầu hết các hệ thống Linux sẽ khởi động vào theo mặc định
  • 6: Khởi động lại

Quy trình khởi động Linux:Những điều 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ó bằng cách sử dụng telinit lệnh, được hiển thị ở trên.

Phá vỡ quy trình khởi động

Phân tích này chỉ là một cái nhìn tổng quan về quá trình khởi động Linux và bỏ qua một số chi tiết tốt hơn. Tuy nhiên, nó sẽ cung cấp cho bạn thông tin cần thiết để khắc phục bất kỳ sự cố nào bạn có thể gặp phải.