Hệ điều hành Centos 7 – Có gì mới và khác so với Centos 6 – Phần 7 - GRUB2
FASTER - STRONGER - SAVER
sales@vietdata.com.vn   0914 83 55 22
Trang Chủ > Kiến thức dịch vụ > Centos 7 >Hệ điều hành Centos 7 – Có gì mới và khác so với Centos 6 – Phần 7 – GRUB2

Hệ điều hành Centos 7 – Có gì mới và khác so với Centos 6 – Phần 7 – GRUB2

GRUB2 là một version mới của Linux bootloader. GRUB2 viết tắt của GRand Unified Bootloader version 2.

Phiên bản trước là GRUB đã không còn phù hợp do nó thiếu một đặc điểm rất quan trọng đó là tính năng GPT management để quản lý các ổ đĩa lớn hơn 2.4Tb. Vì thế GRUB2 ra đời để khắc phục điểm yếu này.

GRUB2 có những đặc điểm mới như sau:

. Có khả năng boot trên nhiều file system khác nhau (xfs, ext4, ntfs, hfs+, raid, etc)

. Giải nén nhanh các file gzip

. Hỗ trợ GPT (GUID Partition Tables) và MBR (Master Boot Record)

. Linh hoạt với các kiến trúc khác nhau như BIOS, EFI

. Có khả năng load nhiều module khi thực thi

Cấu trúc của GRUB2

Các file cấu hình chính của GRUB2:

. /boot/grub2/grub.cfg: file chứa cấu hình chung (không edit file này)

/etc/grub2.cfg: một file liên kết đến file /boot/grub2/grub.cfg file

. /etc/default/grub: file chưa các biến của GRUB2

. /etc/sysconfig/grub: file liên kết đến file /etc/default/grub

. /etc/grub.d: thư mục chưa các file riêng được sử dụng bới GRUB2

Các lệnh quản lý cơ bản

Để lấy thông tin chi tiết về kernel đang hoạt động, dùng lệnh:

# grub2-editenv list
saved_entry=CentOS Linux (3.10.0-229.11.1.el7.x86_64) 7 (Core)

Chú ý: Thông tin được đặt trong file /boot/grub2/grubenv

Để lấy thông tin của các kernel lúc khởi động:

# grep ^menuentry /boot/grub2/grub.cfg
menuentry 'CentOS Linux (3.10.0-229.20.1.el7.x86_64) 7 (Core)' ...
menuentry 'CentOS Linux (3.10.0-229.14.1.el7.x86_64) 7 (Core)' ...
menuentry 'CentOS Linux 7 (Core), with Linux 0-rescue-f19b719117b44bf3a3fb777bd4127' ...caf

Để đặt kernek boot vào lúc khởi động (ở đây 0 là entry đầu tiên):

# grub2-set-default 0

Để hiển thị các biến của GRUB2:

# cat /etc/default/grub 
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial --speed=115200"
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root console=ttyS0,115200""
GRUB_DISABLE_RECOVERY="true"

Trong đó

. GRUB_TIMEOUT : là thời gian đợi để boot (5 giây)

. GRUB_DISTRIBUTOR: chứa tên phiên bản Centos Linux

. GRUB_DEFAULT: specifies the default menu entry; it can be a number, an entry name or the string saved which means the entry saved during the last reboot or the execution of the grub2-set-default command

. GRUB_DISABLE_SUBMENU: cho phép hoặc không cho phép hiển thị submenu

. GRUB_TERMINAL: định nghĩa thiết bị vào/ra

. GRUB_SERIAL_COMMAND: cấu hình serial port

. GRUB_CMDLINE_LINUX: các tham số truyền vào các entry cho Linux kernel

. GRUB_DISABLE_RECOVERY: có thực hiện recovery tức là chuyển sang chế độ single khi vào kernel hay không?

Nếu muốn thay đổi thông tin của biến nào trong file trên, sử dụng lệnh:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Chú ý: Có thể điều chỉnh hoặc file /boot/grub2/grub.cfg hoặc /etc/grub2.cfg

Để rõ hơn ta lấy ví dụ với các biến và giá trị sau:

Với  GRUB_DISABLE_RECOVERY=”true” and GRUB_DISABLE_SUBMENU=true:

      CentOS Linux 7 (Core), with Linux 3.10.0-229.20.1.el7.x86_64
      CentOS Linux 7 (Core), with Linux 3.10.0-229.14.1.el7.x86_64
      CentOS Linux 7 (Core), with Linux 0-rescue-f19b719117b44bf3a3fb777bd4127>

      Use the ^ and v keys to change the selection.                       
      Press 'e' to edit the selected item, or 'c' for a command prompt.   

Với GRUB_DISABLE_RECOVERY =“false”:

      CentOS Linux 7 (Core), with Linux 3.10.0-229.20.1.el7.x86_64              
      CentOS Linux 7 (Core), with Linux 3.10.0-229.20.1.el7.x86_64 (recovery m>
      CentOS Linux 7 (Core), with Linux 3.10.0-229.14.1.el7.x86_64             
      CentOS Linux 7 (Core), with Linux 3.10.0-229.14.1.el7.x86_64 (recovery m>
      CentOS Linux 7 (Core), with Linux 0-rescue-f19b719117b44bf3a3fb777bd4127>
      CentOS Linux 7 (Core), with Linux 0-rescue-f19b719117b44bf3a3fb777bd4127>

      Use the ^ and v keys to change the selection.                       
      Press 'e' to edit the selected item, or 'c' for a command prompt.   

Mỗi dòng kernel sẽ có thêm 1 dòng ở chế độ recovery.

Với GRUB_DISABLE_RECOVERY = “true” và GRUB_DISABLE_SUBMENU = false:

      CentOS Linux 7 (Core)                                                     
      Advanced options for CentOS Linux 7 (Core)                               
                                                                             
      Use the ^ and v keys to change the selection.                       
      Press 'e' to edit the selected item, or 'c' for a command prompt.