博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux从入门到精通——系统无法启动可能的情况及排错方法
阅读量:5305 次
发布时间:2019-06-14

本文共 2404 字,大约阅读时间需要 8 分钟。

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

 

一.系统无法自动引导

/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 /mntrpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id

  

 

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

 

cp vmlinuz-3.10.0-327.el7.x86_64 /bootexitexit

 

修复好之后删除启动盘,将启动顺序改回默认顺序,如果是真机,依然在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    ##设置系统启动级别为图形界面

转载于:https://www.cnblogs.com/ChairmanYSL/p/9497820.html

你可能感兴趣的文章
和小哥哥一起刷洛谷(1)
查看>>
jquery对id中含有特殊字符的转义处理
查看>>
遇麻烦,Win7+Ubuntu12.10+Archlinux12.10 +grub
查看>>
SqlBulkCopy大批量导入数据
查看>>
pandas 修改指定列中所有内容
查看>>
「 Luogu P2285 」打鼹鼠
查看>>
lua语言入门之Sublime Text设置lua的Build System
查看>>
vue.js基础
查看>>
电脑的自带图标的显示
查看>>
[转载] redis 的两种持久化方式及原理
查看>>
C++ 删除字符串的两种实现方式
查看>>
ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
查看>>
Java抽象类和接口的比较
查看>>
开发进度一
查看>>
MyBaits学习
查看>>
管道,数据共享,进程池
查看>>
CSS
查看>>
[LeetCode] 55. Jump Game_ Medium tag: Dynamic Programming
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
程序集的混淆及签名
查看>>