GRUB bootloader là gì?

Bootloader là một trong những thành phần quan trọng nhất của quá trình khởi động hệ điều hành Linux.

Bài viết này sẽ cho bạn thấy bootloader là gì và vai trò của nó trong hệ thống Linux. Đặc biệt, hướng dẫn này sẽ tập trung vào Grand Unified Bootloader (GRUB), một chương trình bootloader mạnh mẽ và có tính linh hoạt cao. Nhưng trước khi xem xét chi tiết GRUB, điều quan trọng là phải hiểu quá trình boot trong Linux.

Quá trình boot Linux

Quá trình boot trên Linux là một chuỗi các hoạt động diễn ra từ khi bạn nhấn nút nguồn trên PC cho đến khi màn hình đăng nhập xuất hiện.

Có 4 giai đoạn chính trong quá trình boot hệ điều hành và chúng diễn ra theo thứ tự sau:

1. BIOS: Viết tắt của Basic Input/Output System và chịu trách nhiệm chính trong việc load bootloader. Khi máy tính khởi động, nó sẽ chạy Power On Self Test (POST) để đảm bảo rằng phần cứng cốt lõi như bộ nhớ và ổ cứng đang hoạt động bình thường. Sau đó, BIOS sẽ kiểm tra Master Boot Record (MBR) của ổ cứng chính, đây là một phần trên ổ cứng nơi chứa bootloader.

2. Bootloader: Load kernel vào RAM với một tập hợp các tham số của kernel.

3. Kernel: Chức năng chính của kernel là khởi tạo các thiết bị và bộ nhớ. Sau đó, nó load tiến trình init.

4. Init: Chịu trách nhiệm khởi động và dừng các service thiết yếu trên hệ thống.

Lưu ý: BIOS không phải là quá trình chỉ liên quan đến Linux, nó là một quá trình xảy ra bất kể hệ điều hành của bạn là gì.

Grand Unified Bootloader là gì?

GRUB chịu trách nhiệm chính trong việc cung cấp cho bạn một menu tùy chọn mà từ đó bạn có thể chọn hệ điều hành hoặc môi trường mà bạn muốn boot vào. Ngoài ra, GRUB chịu trách nhiệm load Linux kernel.

Đây là diện mạo của tùy chọn menu GRUB. Nếu bạn đã cài đặt nhiều hệ điều hành, chúng sẽ được liệt kê ở đây.

Grand Unified Bootloader
Grand Unified Bootloader

Lưu ý: GRUB không chỉ giới hạn trong việc khởi động vào hệ điều hành Linux, bạn cũng có thể sử dụng nó để khởi động vào các hệ điều hành khác như Windows.

Có hai phiên bản chính của GRUB có sẵn tại thời điểm viết bài này.

1. GRUB Legacy: Đây là phiên bản đầu tiên của GRUB và được phát triển lần đầu vào năm 1995.

2. GRUB 2: Đây là phiên bản GRUB mới nhất được nhiều bản phân phối Linux chính thống như Manjaro, Ubuntu, Fedora và Red Hat Enterprise Linux (RHEL) sử dụng. GRUB 2 cung cấp cho bạn các công cụ và tùy chọn cấu hình tốt hơn so với phiên bản tiền nhiệm của nó.

Ngoài GRUB, các bản phân phối Linux cũng sử dụng những bootloader khác như Linux Loader (LILO), coreboot và SYSLINUX.

Vai trò của GRUB

Khi bạn chọn hệ điều hành để boot, GRUB sẽ load kernel đã chọn. GRUB sử dụng các tham số của kernel để biết vị trí của nó và những tham số quan trọng khác cần sử dụng.

  • initrd: Được sử dụng để chỉ định ổ đĩa RAM ban đầu.
  • BOOT_IMAGE: Vị trí của Linux kernel image.
  • root: Chỉ định vị trí của hệ thống file gốc. Được kernel sử dụng để tìm init, từ đó load các service quan trọng.
  • ro: Chịu trách nhiệm mount hệ thống file ở chế độ chỉ đọc.
  • quite: Ẩn một số thông báo dành riêng cho hệ thống khi PC đang khởi động.
  • splash: Được sử dụng để hiển thị màn hình splash khi hệ thống của bạn đang khởi động.

Khi ở trong menu tùy chọn GRUB, bạn có thể chỉnh sửa các thông số kernel bằng cách nhấn phím E trên bàn phím.

Cấu hình GRUB Bootloader

GRUB 2 cung cấp cho bạn nhiều tính linh hoạt và sức mạnh khi cấu hình bootloader.

Thư mục /boot/grub chứa một file có tên grub.cfg, là file cấu hình chính cho GRUB. Tuy nhiên, bạn không nên chỉnh sửa trực tiếp file grub.cfg, thay vào đó bạn nên chỉnh sửa file /etc/default/grub.

Khi bạn thực hiện các thay đổi đối với file /etc/default/grub, bạn nên đảm bảo chạy lệnh bên dưới để các thay đổi được ghi tự động vào file grub.cfg.

sudo update-grub

Bạn có thể tìm hiểu thêm về GRUB và một số tùy chọn cấu hình của nó bằng cách chạy lệnh sau:

info -f grub
Thứ Bảy, 10/07/2021 08:01
52 👨 2.317
0 Bình luận
Sắp xếp theo
    ❖ Linux