HCRM博客

如何在 CentOS 中配置 GRUB 引导?

CentOS GRUB引导详解

一、什么是GRUB引导器

GRUB(Grand Unified Bootloader)是常见的引导加载程序,用于在计算机启动时加载操作系统,它是许多Linux发行版的标准引导加载程序之一,GRUB分为两个主要版本:GRUB legacy和GRUB2。

如何在 CentOS 中配置 GRUB 引导?-图1
(图片来源网络,侵权删除)

二、GRUB的作用

GRUB的主要作用是在计算机启动时引导加载操作系统,并提供一个菜单供用户选择不同的操作系统或内核版本,它通过读取配置文件来查找并加载操作系统的内核和初始内存盘,然后将系统的控制权移交给内核。

三、为什么使用GRUB引导器

在CentOS中使用GRUB引导器有以下几个好处:

1、多重引导:GRUB支持多重引导,可以在同一台计算机上同时安装多个操作系统。

2、灵活配置:可以通过修改配置文件来添加或删除启动选项。

3、兼容性好:GRUB能够支持大多数常见的操作系统和硬件。

4、开源软件:作为开源软件,GRUB持续更新和维护,提供了良好的技术支持。

如何在 CentOS 中配置 GRUB 引导?-图2
(图片来源网络,侵权删除)

四、准备安装环境

1. 下载CentOS镜像文件

从CentOS官网下载适用于计算机架构的CentOS镜像文件(可以选择Minimal ISO或DVD ISO)。

wget http://mirror.centos.org/centos/7/isos/x86_64/CentOS7x86_64Minimal2003.iso

2. 创建CentOS安装USB启动盘

将下载的CentOS镜像文件写入USB启动盘中,并确保计算机可以从该启动盘启动,可以使用工具如Rufus(Windows)或dd命令(Linux)来完成这一步。

使用dd命令将CentOS镜像文件写入USB启动盘
dd if=/path/to/CentOS7x86_64Minimal2003.iso of=/dev/sdX bs=4M; sync

注意:请将/path/to/centos7x86_64Minimal2003.iso替换为实际的镜像文件路径,将/dev/sdX替换为实际的USB设备标识。

五、安装CentOS 7与配置GRUB

1. 插入安装光盘并重启计算机

将CentOS安装USB启动盘插入计算机,并重启计算机,确保BIOS设置中启用从USB设备启动。

2. 进入安装界面并选择语言

在CentOS安装界面,选择安装过程中使用的语言,然后点击“继续”。

3. 安装摘要界面

选择“Installation Summary”进行系统安装设置,包括键盘布局、语言支持、时间及日期等。

4. 磁盘分区与文件系统设置

在“Installation Destination”部分,选择磁盘并进行分区,通常可以选择“Automatic Partitioning”自动分区。

5. 网络与主机名配置

在“Network & Host Name”部分,配置网络接口和主机名。

6. 开始安装

完成上述配置后,点击“Begin Installation”开始安装。

7. 设置GRUB引导

在安装过程中,系统会自动提示配置GRUB引导,需要选择将GRUB安装在哪个磁盘上,通常选择安装在系统的主硬盘上。

六、GRUB配置文件详解

GRUB的配置文件位于/boot/grub2/grub.cfg,但一般不建议直接编辑这个文件,而是通过编辑/etc/default/grub/etc/grub.d/目录下的文件来进行配置。

1. /etc/default/grub

这是GRUB的主要配置文件,包含全局设置。

[root@host ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

GRUB_TIMEOUT:设置菜单显示的时间(单位:秒)。

GRUB_DEFAULT:设置默认启动项。saved表示保存上次启动的项目。

GRUB_DISABLE_SUBMENU:是否禁用子菜单。

GRUB_TERMINAL_OUTPUT:设置终端输出模式。

GRUB_CMDLINE_LINUX:传递给Linux内核的命令行参数。

GRUB_DISABLE_RECOVERY:是否禁用救援模式。

2. /etc/grub.d/

这个目录包含了各个启动项的脚本,每个脚本定义了一个菜单项。/etc/grub.d/40_custom可以用来添加自定义的启动项。

[root@host ~]# cat /etc/grub.d/40_custom
menuentry "My Custom Entry" {
    set root=(hd0,1)
    linux /vmlinuz3.10.0229.el7.x86_64 root=/dev/mapper/centosroot ro crashkernel=auto rhgb quiet
    initrd /initramfs3.10.0229.el7.x86_64.img
}

七、常见问题与解决方案

1. 修复GRUB引导

如果由于某种原因导致GRUB无法引导,可以使用以下步骤修复:

1、插入CentOS安装介质并从中启动。

2、选择“Troubleshooting”进入救援模式。

3、挂载系统分区并切换到chroot环境:

mount /dev/sda1 /mnt
chroot /mnt

4、重新安装GRUB:

grub2install /dev/sda
exit
umount /mnt
reboot

2. 双系统引导配置

在多系统环境下,可以通过更新GRUB配置文件来实现双系统或多系统引导,编辑/etc/grub.d/40_custom文件,添加其他系统的启动项,要添加Windows 10的启动项,可以添加如下内容:

menuentry "Windows 10 (on /dev/sda1)" {
    set root='(hd0,1)'
    chainloader +1
}

八、FAQs

Q1: 如何更改GRUB引导超时时间?

A1: 编辑/etc/default/grub文件,修改GRUB_TIMEOUT参数,将超时时间设置为10秒:

GRUB_TIMEOUT=10

然后运行grub2mkconfig o /boot/grub2/grub.cfg使配置生效。

Q2: 如果忘记GRUB密码,如何重置?

A2: 可以通过Live CD或Live USB启动系统,挂载原系统分区并编辑GRUB配置文件来删除或修改密码设置,具体步骤如下:

1、使用Live CD或Live USB启动系统。

2、打开终端并挂载原系统的根分区,

mount /dev/sda1 /mnt

3、切换到chroot环境:

chroot /mnt

4、编辑GRUB配置文件/boot/grub2/grub.cfg,找到含有password字段的行并将其删除或修改,完成后退出编辑器并重新启动系统。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/13872.html

分享:
扫描分享到社交APP
上一篇
下一篇