centos7修改grub,grub怎么修改
大家好,今天来为大家解答centos7修改grub这个问题的一些问题点,包括grub怎么修改也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
centos7解决update-grub无效
为解决CentOS7中update-grub无效的问题,首先我们需要了解背景。当尝试升级内核时,设置默认启动内核时可能遇到报错。在这里,我们引入了GRUB(GRand Unified Bootloader)的概念。GRUB是一个来自GNU项目的多操作系统启动程序,允许用户同时拥有多个操作系统,并在启动时选择运行的操作系统。它具备选择操作系统分区上的不同内核以及向内核传递启动参数的功能。
在尝试各种方法后,感觉似乎陷入了困境,有些沮丧。然而,关键在于正确地理解和执行正确的命令。在CentOS7环境中,update-grub命令等同于执行grub2-mkconfig-o/boot/grub2/grub.cfg。这个命令的作用在于更新GRUB配置文件,确保系统能够正确识别和加载内核。
对于使用grub2-mkconfig命令时,有时可能遇到问题,比如与grub2-tools-minimal工具的兼容性问题,这可能会导致更新过程出现问题。关键在于确保所使用工具的正确性以及执行命令的顺序。正确的执行流程是:首先,确保grub2-tools-minimal工具的版本与系统相匹配,然后执行grub2-mkconfig命令,以生成正确的grub.cfg文件。
解决步骤如下:
1.确认grub2-tools-minimal的版本与系统需求相符。
2.执行grub2-mkconfig命令,确保正确路径指向配置文件。
3.检查grub.cfg文件内容,确保内核路径、版本信息无误。
4.重启系统,验证内核切换功能是否恢复正常。
通过以上步骤,可以有效解决CentOS7中update-grub无效的问题,实现内核的正常切换和启动。
修改Linux的GRUB启动背景的方法
何为GRUB背景(Splash)?
GRUB背景(Splash)只不过是一张图像,在Linux系统启动的时候显示为背景。你可能知道Grub(GRand Unified Bootloader的简写)是主流 Linux发行版中广泛使用的启动装载程序。以 RedHat为例,你会发现它在系统启动之时显示为空白或者是一个黑色背景。
GRUB背景(Splash)的相关定义在 grub.conf文件中,并且 splash背景图像应该存储在/boot分区中。如果你觉得默认的空白屏相当无趣,同时又想按照自己的意愿来修改它,那么赶紧阅读下方的每个步骤吧。
开始前需要哪些准备工作
1.ImageMagick(仅在命令行中使用)或者 GIMP(GUI中使用)
2.一个样例图像
使用GUI修改Grub的Splash背景
首先然我们来使用 GUI来进行操作吧,这里我们使用 GIMP来作为图像编辑器。
步骤 1、使用 GIMP打开图像(路径为:应用-->图像--> GIMP程序)
步骤 2、现在我们需要按实际情况将图像缩放到 640x480大小。为此,需要点击图像-->缩放图像。记住,要如下图参数进行设置。修改宽度为 640,高度为 480。其他保持不变。
点击缩放按钮
步骤 3、然后,我们需要索引图像,让它仅使用 14色。为此,点击图像-->模式-->索引。点选生成最优调色板选项,并设置颜色最大值为 14(如下)。
点击转换按钮
步骤 4、保存文件。这里以文件名为“UxTechno.xpm”来保存。
步骤 5、以 Zip方式压缩文件。为此,转到文件的保存位置-->右击并选择压缩选项,选择 gzip方法来压缩。
步骤 6、现在复制或移动"UxTechno.xpm.gz"到/boot/grub/UxTechno.xpm.gz。
步骤 7、这一步,打开/boot/grub/grub.conf文件编辑 splashimage参数如下,并保存文件。
最后,文件的内容应该是像这样的:
# grub.conf
generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a/boot partition. This means
that# all kernel and initrd paths are relative to/boot/, eg.# root
(hd0,0)# kernel/vmlinuz-version ro root=/dev/sda2# initrd
/initrd-[generic-]version.img#boot=/dev/sda default=0 timeout=5
splashimage=(hd0,0)/grub/UxTechno.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux(2.6.32-220.el6.x86_64)
root(hd0,0)
kernel/vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=1d8c5075-1a5b-4fdc-ba15-0458b65c6012 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb
crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM initrd
/initramfs-2.6.32-220.el6.x86_64.img
当你重启服务器之后,你讲看到如下效果的 splash背景图像:
使用命令行修改Grub的Splash背景
如果说你是命令行的超级粉丝,那就使用如下方法吧。
步骤 1、开始之前,我们需要修改图像的像素分辨率。为此,我们还需要在 Linux系统上安装好 ImageMagick。在 CentOS/ RHEL上使用如下命令来进行交叉检查。
# rpm-qa|grep-i ImageMagick
如果命令没有返回输出(即空白),这意味这你的系统上还没有安装 ImageMagick。你必须运行下面的命令来安装它。
# yum install ImageMagick
安装好了重新复核一下,你会得到类似如下的输出:
# rpm-qa|grep-i ImageMagick
ImageMagick-6.5.4.7-5.el6.x86_64
然后,继续接下来的配置。这里我使用 UxTechno的 logo来做 splash背景图像。
步骤 2、使用如下命令来转换像素深度。
# convert-depth 8-colors 14-resize 640x480 uxtechno_logo.jpg uxtechno_logo.xpm
上述选项的意义如下:
1.最大使用 14色
2.分辨率为 640x480
3.使用 xpm格式
步骤 3、以 Zip方式压缩文件。
# gzip uxtechno_logo.xpm
步骤 4、复制文件到/boot分区。
# cp uxtechno_logo.xpm.gz/boot/grub/
步骤 5、在/boot/grub/grub.conf文件中修改 splashimage参数如下,并保存文件。
splashimage=(hd0,0)/grub/uxtechno_logo.xpm
步骤 6、最后,使用 reboot命令重启服务器。启动界面将显示使用 GUI方式第 7步中的图像。
CentOs7如何修复MBR和GRUB
一、修复MBR:
MBR(Master Boot Record主引导记录):
硬盘的0柱面、0磁头、1扇区称为主引导扇区。其中446Byte是bootloader,64Byte为Partition table,剩下的2Byte为magic number。
备份MBR:
#dd if=/dev/sda of=/root/mbr.bak count=1 bs=512
破坏bootloader:
#dd if=/dev/zero of=/dev/sda count=1 bs=200
这里边block size只要小于等于446即可。
修复方式:
1、借助其他系统挂载磁盘修复。
修复方式同光盘修复类似,也是使用grub2-install命令。
2、借助安装光盘修复。
1).装入光盘,在光盘引导界面选择troubleshooting:
2).选择进入救援模式:
3).按回车键继续:
4).进入磁盘挂载选择模式:
磁盘将会被挂载至/mnt/sysimage/下
continue以rw方式挂载分区。
read only以ro方式挂载分区。
skip跳过,将来自己手工挂载磁盘。
5.选择continue,稍等片刻,提示已经挂载完成。
6.此时进入救援模式的命令行:
7.使用grub2-install命令重建bootloader:
#grub2-install root-directory=/mnt/sysimage/dev/sda
显示无错误,使用sync写入硬盘,reboot重启系统。
8.重启后无错误,grub正常运行:
至此,MBR修复完成。
二、修复grub
grub配置文件丢失:
开机后会直接进入grub界面,显示为grub>:
修复步骤如下:
grub>insmod xfs
grub>set root=(hd0,1)
grub>linux16/vmlinuz-xxxxx root=/dev/mapper/centos-root
grub>initrd16/initramfs-.xxxxx.img
修复完成后即可进入系统,重建配置文件。
注意:CentOS7因为使用的是grub2,配置文件同grub有不少变化,一定要切记备份grub.cfg以便恢复。