centos boot备份 linux boot分区
安装centOS7 无法为boot/efi分区
安装centOS7无法为boot/efi分区的原因是BIOS设置问题,解决方法如下:
准备材料:BIOS
1、启动机器时,按下 F12,进入 BIOS。
2、进入BIOS设置界面后,按左右方向键←→,选择【启动】。
3、再按上下方向键↑↓,选择【Boot Mode】。
4、回车,进入设置子项,默认值一般是“自动”。
5、通过上下键选择“Legacy”,然后回车。
6、回车关闭了设置框,回到主界面,这时按下 F10。
7、在弹出的对话框中,选择“是",然后回车,电脑重启,再次安装就不会遇到 boot/efi未分配空间的问题。
CentOS系统安装内核时提示/boot分区空间不足问题的解决方法
今天登录服务器,准备使用 yum安装一个软件,习惯性的先 yum update一下,结果最后出现如下错误:
代码如下:
...
Transaction check error:
installing package kernel-3.10.0-327.4.5.el7.x86_64 needs 20MB on the/boot filesystem
Error Summary
-------------
Disk Requirements:
At least 20MB more space needed on the/boot filesystem.
看提示是要安装新的 Linux内核包,但/boot文件系统空间不足 20MB。所以更新失败了。
好吧,那就看看/boot下面到底还有多少空间。
代码如下:
df-H/boot
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 247M 237M 10M 96%/boot
嗯,只有 10M了,电脑是不会撒谎的。怎么办呢,/boot文件系统是很重要的,弄不好系统就挂了,我可不想出现这样的结局,明天可是周六。
网上搜索了一番,原来可以尝试删除旧的内核包来达到清理空间的目的。(文章地址)
先看看有没有旧的内核包:
代码如下:
rpm-qa|grep kernel
kernel-3.10.0-229.14.1.el7.x86_64
kernel-3.10.0-229.11.1.el7.x86_64
kernel-devel-3.10.0-229.11.1.el7.x86_64
kernel-3.10.0-327.4.4.el7.x86_64
kernel-devel-3.10.0-327.4.4.el7.x86_64
kernel-devel-3.10.0-229.14.1.el7.x86_64
kernel-headers-3.10.0-327.4.4.el7.x86_64
kernel-3.10.0-229.el7.x86_64
kernel-tools-libs-3.10.0-327.4.4.el7.x86_64
kernel-tools-3.10.0-327.4.4.el7.x86_64
嗯,有的,那就好。不过开始之前,我还要确认一下当前系统用的是哪个,删错了可不好。
代码如下:
uname-a
Linux... 3.10.0-229.14.1.el7.x86_64#1... GNU/Linux
看样子我只要不动 3.10.0-229.14.1就个版本可以了。我决定删 3.10.0-229.11.1这个版本。
代码如下:
sudo rpm-e kernel-3.10.0-229.11.1.el7.x86_64 kernel-devel-3.10.0-229.11.1.el7.x86_64
然后再看看/boot文件系统的可用大小。
代码如下:
df-H/boot
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 247M 190M 57M 78%/boot
有 57M了,足够了。再次执行 sudo yum update,更新新的内核包成功。
centos从u盘进入拯救模式
centos从u盘进入拯救模式()Linux在启动中往往会由于一些故障而无法正常其中。这是时候往往可以通过Single单用户模式、救援模式等方式进行启动和救援恢复正常。本文虫虫给大家介绍一下这些典型的模式以及以一个Xen虚拟化模式下Centos 6.5升级内核情况下导致系统故障的救援解决。
单用户模式
Linux下最常用的是单用户模式,可以在最小加载模式下(init 1),无需用户认证情况下加载系统,进入shell命令行界面。单用户模式网络被禁用,而且也没有启用很多服务。如果出现系统文件损坏,配置文件丢失,或者用户密码丢失无法进入系统的情况,可以使用单用户模式。注意新版本的centos 7和以前版本centos进去单用户方式不一样,我们分别截图介绍下:
centos 6
在Grub菜单界面
按e,编辑命令
kernel行的最后加上single,回车,然后按b,加载启动系统。
就会到到单用户shell界面,在改界面可以用passwd修改root密码。
centos 7
centos7是用grub2菜单,菜单界面如下图:
按b进入编辑界面,注意centos 7下grub 2的编辑界面和以前的系统大有不同
在linux 16哪一行 LANG= en_US.UTF-8最后增加\"init=/bin/sh\"
按住Ctrl+x启动系统就进入了单用户模式。然后用passwd修改密码或者其他操作
电脑救援模式
有时候系统根本无法启动,甚至grub菜单都加载不了,这时候就需要使用Linux启动盘来辅助进入救援模式来做故障修复了。
救援模式需要启动盘辅助加载系统,所以要改变boot顺序为从光盘或者USB启动。注意在如果使用xen虚拟机Centos系统的话,是无法修改boot顺序的,如下图:
要改变启动顺序必须借助Xen宿主机来,我们先登陆宿主机:
执行xe vm-list,找到我们的虚拟机的uuid
然后依次执行下面两个命令:
xe vm-param-set uuid=97f817bd-7f6b-3ea8-056b-e19fe055c800 HVM-boot-policy=\"BIOS order\"xe vm-param-set uuid=97f817bd-7f6b-3ea8-056b-e19fe055c800电脑 HVM-boot-params:order=\"dc\"这样就可以显示设置boot顺序了
我们选中DVD-Drive,然后启动系统
选择\"Rescue installed system\"进入救援模式,选择语言、键盘和网络后进入
Tab点击Continue继续
注意该页的信息我们的系统被加载到/mnt/sysimage下了,后面要用到。
电脑
此处选择shell进入命令操作界面,其他两个是fakd进行诊断;reboot重启系统。
这时就会进入一个命令行界面,注意此时系统是临时的光盘启动救援系统。为了进行操作我们需要加载硬盘上的系统。我们要用chroot命令:
chroot/mnt/sysimage然后就可以进行其他操作了,比如修改密码,修复配置,备份文件等。
救援实例
最后我们举个救援的实例作为结束,之前Linux内核爆个严重漏洞TCP网络数据包时候存在缺陷导致三个漏洞, CVE-2019-11477,CVE-2019-11478和CVE-2019-11479,关于该漏洞的预警和修复方法,虫虫的此前发文介绍过。修复该漏洞根本方法是升级内核,Centos 6.5需要升级内核版本到kernel-2.6.32-754.15.3版本。
用yum update kernel升级Xen虚拟机Centos 6.5后,重启出现故障,甚至无法进入grub菜单。
电脑
此时我们可以使用上面的提到的救援模式,在救援模式下修改/etc/grub.conf
修改配置中default=1,表示加载上一个内核。
然后reboot重启系统,故障恢复。
由于centos内核补丁和Xen架构兼容导致问题,所以恢复系统后
yum remove kernel-2.6.32-754.15.3.el6.x86_64.rpm恢复所有现场。
以上是一般情况下的救援恢复模式。由于我们的事故主机是Xen虚拟机,我们有更便捷编辑启动选项的方法。那就是使用xe命令来直接在xen宿主机上编辑虚拟机的grub.conf。
首先登陆到xen宿主机上:
1、执行 xe vm-list查询事故机器的uuid(同上面部分)。
2在xen center关闭该机器或者用命令关机
xe vm-shutdown uuid=97f817bd-7f6b-3ea8-056b-e19fe055c8003、通过以下命令启动编辑:
xe-edit-bootloader-u 97f817bd-7f6b-3ea8-056b-e19fe055c800-p 1和救援模式一样,修改配置中default=1,保存。
重启系统,其他同救援模式操作一样。
总结
本文介绍了Linux(centos)下系统单用户模式以及救援模式及操作方法。并通过实例介绍了在内核升级失败系统无法启动情况下的救援恢复操作。并穿插介绍了xen虚拟化中一些xen宿主机管理命令。
电脑电脑