HCRM博客

如何在CentOS中启动GRUB?

CentOS启动GRUB

一、简介与背景

CentOS(Community Enterprise Operating System)是一种基于Red Hat Enterprise Linux (RHEL) 源码构建的免费操作系统,它以其稳定性和安全性著称,被广泛用于服务器和开发环境,GRUB(Grand Unified Bootloader)是CentOS默认采用的引导加载程序,负责在系统启动时加载Linux内核,本文将详细介绍如何在CentOS中启动并使用GRUB。

如何在CentOS中启动GRUB?-图1
(图片来源网络,侵权删除)

二、GRUB的基本概念

1. 什么是GRUB?

GRUB是一个多重引导管理器,允许用户在同一台计算机上启动多个操作系统,它通过读取MBR(Master Boot Record)或VBR(Volume Boot Record)来控制引导过程。

2. GRUB的版本

目前常用的GRUB版本有GRUB legacy(也称为GRUB 1)和GRUB2,CentOS7及以后的版本默认使用GRUB2。

3. GRUB的主要功能

多重引导支持

如何在CentOS中启动GRUB?-图2
(图片来源网络,侵权删除)

提供菜单界面选择操作系统

支持手动编辑引导参数

具备灵活的配置方式

三、配置GRUB

1. 配置文件的位置

GRUB的主要配置文件为/boot/grub2/grub.cfg,但在CentOS中,这个文件是由脚本自动生成的,直接修改会失效,真正的配置项通常在/etc/default/grub文件中。

2. 主要配置项说明

如何在CentOS中启动GRUB?-图3
(图片来源网络,侵权删除)

GRUB_TIMEOUT:设置引导菜单显示的时间,以秒为单位。

GRUB_DEFAULT:设置默认启动项,可以设置为数字或“saved”(保存当前选择)。

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

GRUB_DISABLE_SUBMENU:是否禁用子菜单。

3. 如何编辑配置文件

sudo nano /etc/default/grub

修改超时时间:

GRUB_TIMEOUT=10

保存后,更新GRUB配置:

sudo grub2mkconfig o /boot/grub2/grub.cfg

四、手动启动GRUB

1. 进入GRUB命令行

如果系统无法正常引导,可以重启并在GRUB菜单出现时按c键进入GRUB命令行模式。

2. 常用GRUB命令

ls:列出所有可用的分区和文件系统。

ls (hdX,Y)/:列出指定分区的内容。

Set root=(hdX,Y):设置当前根文件系统。

linux /vmlinuzxxxx root=/dev/sdXx:加载内核镜像。

initrd /initramfsxxxx.img:加载初始内存盘镜像。

boot:启动系统。

3. 实例操作

假设系统安装在/dev/sda1,手动启动步骤如下:

grub> ls
grub> set root=(hd0,1)
grub> linux /vmlinuzxxxx root=/dev/sda1
grub> initrd /initramfsxxxx.img
grub> boot

五、常见问题及解决方案

1. GRUB配置文件丢失

如果/boot/grub2/grub.cfg丢失,可以通过以下命令重新生成:

sudo grub2mkconfig o /boot/grub2/grub.cfg

2. 忘记GRUB密码

编辑/etc/grub.d/40_custom文件,注释掉认证相关的配置,然后更新GRUB配置:

sudo nano /etc/grub.d/40_custom
注释掉password相关行
sudo grub2mkconfig o /boot/grub2/grub.cfg

3. 修复GRUB引导

如果系统无法引导,可以使用Live CD或Live USB引导系统后,挂载系统分区并重新生成GRUB配置:

sudo mount /dev/sdXx /mnt
sudo mount bind /dev /mnt/dev
sudo mount bind /proc /mnt/proc
sudo mount bind /sys /mnt/sys
sudo chroot /mnt
grub2install /dev/sda
grub2mkconfig o /boot/grub2/grub.cfg
exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt

CentOS中的GRUB是系统引导的关键组件,掌握其配置和使用方法对于系统维护和管理至关重要,通过合理配置GRUB,可以确保系统的稳定启动,并在需要时进行故障排除和修复,希望本文能帮助读者更好地理解和使用GRUB,提高系统管理的效率。

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