Linux从入门到精通——系统无法启动可能的情况及排错方法

以下实验都是用虚拟机进行的,如果是真机在日常使用中出现相关问题,个别地方会有所差异

 

一.系统无法自动引导
/boot/grub2/grub.cfg                   ##系统自动引导文件


set root='hd0,msdos1'                  ##设定引导启动分区路径
Linux16 /boot/vmlinuz-3.10.0-327.el7.x86_64      selinux=0 ##设定启动内核,如果selinux没关会让系统启动卡住
initrd16 /boot/initramfs-3.10.0-327.el7.x86_64.img    ##启动初始化程序

linux里引导磁盘读取系统启动文件的文件内容

 

 

如果不慎删除,系统启动时会无法自动引导

 

无法自动引导之后,系统会弹出命令行让使用者进行手动引导

 

输入上述三条命令进行手动引导,如果想让系统更快速启动,可以在内核行后加 selinux=0,关闭selinux,会使内核加载更快

这些命令都是可以用tab键补齐的,记不住文件名称也没有关系,最后输入boot开始启动,注意不要写成reboot,不然重启会前功尽弃

手动引导成功后系统就可以正常启动了,不过下次在开机时还是会无法自动引导,如果要恢复自动引导需要用下面的命令


grub2-mkconfig > /boot/grub2/grub.cfg          ##永久恢复


二.不慎删除启动内核怎么办

rm -fr /boot/vmlinuz-3.10.0-327.el7.x86_64          ##删除内核

 


1.安装启动盘

添加一个虚拟的光盘设备,设定好相应的系统镜像文件,要注意的是启动盘的系统版本必须与安装的系统版本一致,否则无法修复!

如果是真机出现问题,需要一个制作好的启动盘,不知道什么是启动盘的可以看https://baike.baidu.com/item/%E5%90%AF%E5%8A%A8%E7%9B%98/95533?fr=aladdin

 

2.设定启动顺序

选择光盘设备为首位启动,真实主机的话,需要进入bios里设置启动顺序,一般来说联想电脑进入bios的方法是在logo出来时按Fn + F2 或F2 ,戴尔和惠普的为F12 或Fn + F12 ,宏基的为Esc,不同电脑对应不同的按键方法,具体可以百度,在此不细谈,进入bios以后在Boot栏中选择Boot From CDRom 或 USB Device ,把启动盘放在首位


3.进入排错模式

4.选择挽救系统

之后会弹出蓝色背景的说明界面,按顺序选择continue、OK、OK

5.输入命令

chroot /mnt/systimg             ##切换到真实的root环境,之前的root环境是在/mnt/systimg里的
mkdir /rhel7.0                  ##新建一个目录
mount /dev/sr0 /rhel7.0         ##挂载虚拟光盘设备里的镜像,如果是真机,需要cat /proc/partations查看你自己的启动盘的名字
cd /rhel7.0/Pcakages      
cp kernel-3.10.0-123.el7.x86_64.rpm /mnt
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id

  

 

cd /mnt
ls
cd boot/      ##注意,这是/mnt里的boot目录,是刚才安装后的才有的,不是/boot,两个是不同的
ls

 

cp vmlinuz-3.10.0-327.el7.x86_64 /boot
exit
exit

 

修复好之后删除启动盘,将启动顺序改回默认顺序,如果是真机,依然在bios里设置




三.删除初始化程序如何恢复
rm -fr /boot/initramfs-3.10.0-327.el7.x86_64.img        ##初始化程序


如上启动拯救模式之后输入:

chroot /mnt/systimg
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)      ##uname -r会显示系统内核版本,$()表示执行括号内的命令
exit
exit

  


四.忘记root密码
重启系统
进入读秒界面时按E
在内核行后删除ro后的内容
把ro改为rw,在rw后加个空格
在空格后输入rd.break
按ctrl  D
等出现switch_root后,输入chroot /sysroot/
输入echo westos|passwd --stdin root             ##改root密码为westos
touch /.autorelabel                         ##改完密码后selinux默认不识别新密码,建立此文件使selinux识别新密码

 

五.默认开启模式被更改导致开机异常
/etc/systemd (系统初始化程序的目录)

查看系统默认启动级别:systemctl get-default

 

 

如果不慎更改或者系统异常无法启动图形界面时:

systemctl set-default shutdown.target      ###将系统的默认级别设置为关机(结果会导致系统开机后就关机,造成死循环)

解决办法:

1.开机后在读秒界面按E后找到内核版本一行,光标移动到最后 加一个5    ##5表示设置开机启动级别为图形界面,相当于init 5

 

2.按ctrl x进入系统

3.systemctl set-default graphical.target    ##设置系统启动级别为图形界面

posted on 2018-08-18 17:07  对方正在输入你的  阅读(864)  评论(0编辑  收藏  举报

导航