GRUB 2 là trình tải khởi động được sử dụng bởi tất cả các Bản phân phối Linux hiện tại. Trong hướng dẫn này, tôi sẽ giải thích cách sửa đổi menu trình tải khởi động GRUB trên máy chủ hoặc máy tính để bàn của bạn, cách thêm mục menu và thêm ảnh màn hình chào mừng tùy chỉnh.
Tệp cấu hình của GRUB có tên mới (‘grub.cfg’ thay vì ‘menu.lst’ hoặc ‘grub.conf’), cú pháp mới và nhiều lệnh mới. Cấu hình không thể được chuyển trực tiếp, mặc dù hầu hết người dùng GRUB Legacy sẽ không thấy cú pháp quá ngạc nhiên. Tệp "grub.cfg" được tự động tạo ra bởi lệnh:
Có thể tìm thấy tệp người dùng GRUB 2 cần chỉnh sửa ở hai nơi.
/etc/default/grub để thay đổi tùy chọn menu khởi động./etc/grub.d/ để chỉnh sửa các tệp tập lệnh tạo "grub.cfg".
Để bắt đầu chỉnh sửa tùy chọn menu khởi động, hãy nhập:
Những thứ bạn có thể thay đổi là:
Để giải thích từng mục trong số chúng, hãy bắt đầu với
GRUB_DEFAULT= Mục nhập menu mặc định. Đây có thể là một số, trong trường hợp đó, nó xác định mục nhập th N trong menu được tạo ra được tính từ số không, hoặc tiêu đề của mục nhập menu hoặc chuỗi đặc biệt "đã lưu". Sử dụng tiêu đề có thể hữu ích nếu bạn muốn đặt mục menu làm mục mặc định ngay cả khi có thể có số lượng mục thay đổi trước mục đó.
LƯU Ý: TRONG MẪU TỆP Ở TRÊN, SỐ '0' CHỈ RA MỤC ĐẦU TIÊN CỦA TỆP grub.cfg.
GRUB_HIDDEN_TIMEOUT= Khởi động mục mặc định trong số giây này sau khi menu hiển thị, trừ khi nhấn phím. Mặc định là "5". Đặt thành "0" để khởi động ngay lập tức mà không hiển thị menu, hoặc thành "-1" để chờ vô thời hạn.
GRUB_HIDDEN_TIMEOUT_QUIET= Sẽ hiển thị bộ đếm thời gian đếm ngược nếu đặt thành false, Nếu đặt thành true sẽ chỉ hiển thị màn hình trống trước khi hiển thị menu GRUB thực tế.
GRUB_TIMEOUT= Đây là số giây GRUB sẽ hiển thị menu trước khi khởi động tùy chọn mặc định. Đặt thành "0" sẽ khởi động tùy chọn mặc định ngay lập tức mà không hiển thị menu. Trong khi đặt thành "-1" sẽ giữ menu cho đến khi người dùng chọn một tùy chọn.
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian Dòng này chỉ đơn giản là lấy tên trong mục menu.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" Xóa "quiet" ở đây sẽ hiển thị đầu ra văn bản trong quá trình khởi động, trong khi xóa "splash" sẽ hiển thị màn hình đen thay vì hình ảnh khởi động.
Bạn có thể tiếp tục và thiết lập hình ảnh khởi động của riêng mình bằng cách thêm nó vào thư mục /boot/grub/
Đây là những gì bạn có thể làm với tệp /etc/default/grub. Bây giờ nếu bạn muốn thêm mục menu khởi động của riêng mình, đây là nơi bạn có thể thực hiện. Nhập nội dung sau theo hình ảnh.
Bây giờ, bạn sẽ phải sử dụng tệp 40_custom để viết các mục menu của riêng bạn.
Bạn có thể tiếp tục và tham khảo các mục được tạo bởi os_prober trong /boot/grub/grub.cfg để tham khảo. Tên của tệp xác định thứ tự chạy các tập lệnh, vì vậy về cơ bản 30_os_prober sẽ tạo mục menu trước 40_custom và sau đó là 41_custom. Để thực thi bất kỳ tệp nào, bạn sẽ phải thay đổi quyền của tệp. Để thay đổi quyền, hãy sử dụng
Đây là những điều cơ bản. Bây giờ để áp dụng tất cả các thiết lập và thay đổi, bạn sẽ phải cập nhật GRUB.
Khởi động lại hệ thống của bạn và tự mình kiểm tra những thay đổi.
Tổng quan về GRUB 2.
Một trong những tính năng quan trọng trong GRUB 2 là tính linh hoạt; GRUB hiểu các hệ thống tệp và định dạng thực thi của hạt nhân, do đó bạn có thể tải một hệ điều hành tùy ý theo cách bạn muốn, mà không cần ghi lại vị trí vật lý của hạt nhân trên đĩa. Do đó, bạn có thể tải hạt nhân chỉ bằng cách chỉ định tên tệp của nó và ổ đĩa và phân vùng nơi hạt nhân nằm.Tệp cấu hình của GRUB có tên mới (‘grub.cfg’ thay vì ‘menu.lst’ hoặc ‘grub.conf’), cú pháp mới và nhiều lệnh mới. Cấu hình không thể được chuyển trực tiếp, mặc dù hầu hết người dùng GRUB Legacy sẽ không thấy cú pháp quá ngạc nhiên. Tệp "grub.cfg" được tự động tạo ra bởi lệnh:
Mã:
grub-mkconfig
Chỉnh sửa menu GRUB của bạn.
Bắt đầu với tệp chính của GRUB "/boot/grub/grub.cfg". Tệp này được tự động tạo ra và không có nghĩa là để chỉnh sửa trực tiếp. Bạn có thể sử dụng bất kỳ trình chỉnh sửa nào bạn muốn để hiển thị tệp. Hãy xem hình ảnh bên dưới.Có thể tìm thấy tệp người dùng GRUB 2 cần chỉnh sửa ở hai nơi.
/etc/default/grub để thay đổi tùy chọn menu khởi động./etc/grub.d/ để chỉnh sửa các tệp tập lệnh tạo "grub.cfg".
Để bắt đầu chỉnh sửa tùy chọn menu khởi động, hãy nhập:
Mã:
gksu gedit /etc/default/grub
Mã:
GRUB_DEFAULT=0#GRUB_HIDDEN_TIMEOUT=0GRUB_HIDDEN_TIMEOUT_QUIET=trueGRUB_TIMEOUT=-1GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"GRUB_CMDLINE_LINUX=""
GRUB_DEFAULT= Mục nhập menu mặc định. Đây có thể là một số, trong trường hợp đó, nó xác định mục nhập th N trong menu được tạo ra được tính từ số không, hoặc tiêu đề của mục nhập menu hoặc chuỗi đặc biệt "đã lưu". Sử dụng tiêu đề có thể hữu ích nếu bạn muốn đặt mục menu làm mục mặc định ngay cả khi có thể có số lượng mục thay đổi trước mục đó.
LƯU Ý: TRONG MẪU TỆP Ở TRÊN, SỐ '0' CHỈ RA MỤC ĐẦU TIÊN CỦA TỆP grub.cfg.
GRUB_HIDDEN_TIMEOUT= Khởi động mục mặc định trong số giây này sau khi menu hiển thị, trừ khi nhấn phím. Mặc định là "5". Đặt thành "0" để khởi động ngay lập tức mà không hiển thị menu, hoặc thành "-1" để chờ vô thời hạn.
GRUB_HIDDEN_TIMEOUT_QUIET= Sẽ hiển thị bộ đếm thời gian đếm ngược nếu đặt thành false, Nếu đặt thành true sẽ chỉ hiển thị màn hình trống trước khi hiển thị menu GRUB thực tế.
GRUB_TIMEOUT= Đây là số giây GRUB sẽ hiển thị menu trước khi khởi động tùy chọn mặc định. Đặt thành "0" sẽ khởi động tùy chọn mặc định ngay lập tức mà không hiển thị menu. Trong khi đặt thành "-1" sẽ giữ menu cho đến khi người dùng chọn một tùy chọn.
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian Dòng này chỉ đơn giản là lấy tên trong mục menu.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" Xóa "quiet" ở đây sẽ hiển thị đầu ra văn bản trong quá trình khởi động, trong khi xóa "splash" sẽ hiển thị màn hình đen thay vì hình ảnh khởi động.
Bạn có thể tiếp tục và thiết lập hình ảnh khởi động của riêng mình bằng cách thêm nó vào thư mục /boot/grub/
Mã:
sudo cp splash1.jpg /boot/grub/
Bây giờ, bạn sẽ phải sử dụng tệp 40_custom để viết các mục menu của riêng bạn.
Mã:
gksu gedit 40_custom
Bạn có thể tiếp tục và tham khảo các mục được tạo bởi os_prober trong /boot/grub/grub.cfg để tham khảo. Tên của tệp xác định thứ tự chạy các tập lệnh, vì vậy về cơ bản 30_os_prober sẽ tạo mục menu trước 40_custom và sau đó là 41_custom. Để thực thi bất kỳ tệp nào, bạn sẽ phải thay đổi quyền của tệp. Để thay đổi quyền, hãy sử dụng
Mã:
sudo chmod +x /etc/grub.d/40_custom
Mã:
sudo update-grub