Linux入门(14)——系统启动修复
Linux入门(14)——系统启动修复
1. Linux系统启动流程
- 通电
- BIOS初始化
按照BIOS所设定的系统启动流程,根据引导次序(Boot Sequence)自上而下的寻找对应存储设备上操作系统的MBR,如果MBR存在,则会读取MBR中的bootloader,并初始化硬件时钟。
- 磁盘引导
MBR(bootloader)会根据MBR所指引的活动分区上寻找系统分区中的 bootloader,bootloader称为是一段程序,占据446字节。RHEL系统中bootloader为grub2引导文件。
- grub2引导
根据MBR找到grub2之后,指向/boot位置,进一步准备加载系统启动所必需的文件。
- 内核加载(kernel)
探索硬件及加载硬件驱动程序,并以读写的方式挂载根文件系统。
- 系统初始化镜像(init进程)
加载系统时钟、selinux、系统主机信息、/etc/fstab文件中磁盘策略、磁盘配额、初始化系统程序开启开机启动服务、开启虚拟控制台、开启图形等根据系统运行级别启动应用。位置:/boot/initramfs-4.18.0-80.el8.x86_64.img
- 系统运行级别
标识 | 含义 |
---|---|
0 | 关机 |
1 | 单用户 |
2 | 无图形网络模式 |
3 | 无图形网络模式 |
4 | 无图形网络模式 |
5 | 有图形网络模式 |
6 | 重启 |
2. 系统启动修复
- 磁盘MBR分区丢失
[root@rhclient Desktop]# dd if=/dev/zero of=/dev/vda bs=446 count=1 # 清空MBR分区
从光驱启动系统,进入救援模式:
# chroot /mnt/sysimage #切换环境至硬盘系统
# grub2-install /dev/vda #重新安装grub2到系统硬盘上
- 引导文件丢失
- /boot/loader/entries/xxx.conf 丢失
[root@rhclient Desktop]# cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot/
[root@rhclient Desktop]# kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64
- /boot/grub2/grub.cfg 丢失
[root@rhclient Desktop]# grub2-mkconfig > /boot/grub2/grub.cfg
若无法进入系统需要启动手动引导:
grub> set root='hd0,msdos1'
grub> linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/vda1
grub> initrd16 /initramfs-4.18.0-80.el8.x86_64.img
grub> boot
- vmlinuz文件丢失
[root@rhclient Desktop]# cp /usr/lib/modules/$(uname -r)/vmlinuz /boot/vmlinuz-$(uname -r)
或进入救援模式
[root@rhclient Desktop]# chroot /mnt/sysimage
[root@rhclient Desktop]# cp /usr/lib/modules/$(uname -r)/vmlinuz /boot/vmlinuz-$(uname -r)
- init镜像文件丢失
[root@rhclient Desktop]# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
或进入救援模式
# chroot /mnt/sysimage
# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
- /boot 分区完全丢失
进入救援模式,分别安装引导以及生成引导配置文件。挂载光驱至/mnt/,在光驱系统软件仓库中为硬盘系统重新安装内核程序。
# chroot /mnt/sysimage
# grub2-install /dev/sda
# grub2-mkconfig > /boot/grub2/grub.cfg
# mount /dev/cdrom /mnt/
# cd /mnt/BaseOS/Packages/
# rpm -ivh kernel-core-xxxx.rpm --force
- 系统运行级别错误
在开机界面按e进入编辑菜单,在内核加载选项最后加入启动级别5,进入系统重新设定运行级别。
[root@rhclient Desktop]# systemctl set-default graphical.target
- 超级用户密码丢失
在开机界面按e进入编辑菜单,将内核加载选项中删除ro及之后的内容,增加rw rd.break。启动系统,运行:
# chroot /sysroot
# echo PASSWORD | passwd --stdin root
# touch /.autorelabel
3. 练习
MBR丢失
主硬盘为nvme0n1
进入救援模式,安装引导。
grub引导丢失
手动引导
进入系统,安装grub.cfg
/boot 分区丢失
安装内核后依然无法启动,重装系统初始化镜像与内核加载程序
推断为首次进入救援模式时,安装内核未使用强制安装,系统检验到原内核程序的残留文件,因而判断内核完好,未进行安装步骤。重新强制安装内核,生成引导。成功进入系统。root用户密码丢失
在引导界面 进入编辑
启动,重设密码
Linux入门(14)——系统启动修复相关推荐
- Linux入门之系统启动过程及初始化----“翻滚吧,牛宝宝”
每当你按下开机电源键的时候,总是怀着一颗虔诚的心,抱着求神拜佛的念头,祈求机器顺利开机,不要出幺蛾子:每当你看到屏幕上输出的一行又一行的信息,绿的OK,红的failed,迷茫的眼神穿透了显示器:这一切 ...
- 蓝桥云课linux入门14:Linux 下软件安装
目录 一.内容 二.开始 2.1 先体验一下 2.2 apt 包管理工具介绍 2.3 apt-get 2.4 安装软件包 2.5 软件升级 2.6 卸载软件 三.使用 dpkg 3.3 查看已安装软件 ...
- oracle安装搜狗输入法教程,Linux入门学习教程:在Ubuntu 14.04中安装使用搜狗拼音输入法...
然后,访问搜狗输入法Linux版的官网,http://pinyin.sogou.com/linux,下载搜狗输入法Linux版.从官网可以看到,该输入法官方只支持Ubuntu(不过网上有人通过将deb ...
- FFmpeg4入门14:Linux下摄像头捕获并编码为h264
上一篇是将H264流封装到MP4容器中,本篇介绍一个最常用的捕获原始数据的方法:从摄像头获取数据. 因为本人已经放弃windows操作系统,所以使用linux来获取摄像头并编码为H264文件保存. l ...
- Kali Linux入门
文章目录 第1章 Kali Linux入门 1.1 Kali的发展简史 1.2 Kali Linux工具包 1.3 下载Kali Linux 1.4 使用Kali Linux 1.4.1 Live D ...
- 第1章 Kali Linux入门 一篇就够了
文章目录 第1章 Kali Linux入门 1.1 Kali的发展简史 1.2 Kali Linux工具包 1.3 下载Kali Linux 1.4 使用Kali Linux 1.4.1 Live D ...
- Linux_第1章 Linux入门
第1章 Linux入门 首先要感谢<鸟哥的linux私房菜>这本书,这本书对新手来说,是很好得老师,也感谢师兄郑丹,抽出时间为我们讲解它得心得,让我们学习linux起来事半功倍.希望我得总 ...
- 嵌入式Linux入门经典笔记
史上最牛的Linux内核学习方法论 点击下载 我的arm_linux移植笔记 点击下载 S3C2440完全开发流程 点击下载 Linux系统命令及其使用详解完整版 点击 ...
- linux lite 安装步骤,Linux Lite第一个支持Linux 4.14及如何安装
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 Linux Lite保护者Jerry Bezencon再次初次在Twitter上宣布他的基于Ubun ...
- Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块
Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块 http://www.mamicode.com/info-detail-1372846.html 最近处理的一件 ...
最新文章
- 测验4: 程序的控制结构 (第4周)
- 关于LGame-0.2.9版的开发进度
- linux端口访问规则,linux 查看开发放端口号--iptables
- Java未来路在何方?挑战大厂重燃激情!
- SLB访问日志分析:基于客户端来源和HTTP状态码的实践
- 我的女朋友漏电了–论C++中的失败(failure),缺陷(bug)和异常(exception)
- scala调用java库_从scala调用java时的java.lang.IllegalAccessError – solutions / workarounds?...
- POJ1214 UVA127 Accordian Patience【vector】
- 第五篇、常用的SQL语句和函数介绍
- DEX VMP与ARM VMP
- EditPlus 3 网页中文乱码问题
- 蛮牛精选七款Unity插件
- IP地址规划和设计方法
- 双向链表DoublyLinkedList类
- 人再囧途之泰囧.BD高清1280国语中英双字 附下载地址
- linux系统的一点感触
- 健康低辐射,信号全覆盖,飞鱼星i-Home覆盖方案上市
- Win10系统Anaconda+TensorFlow+Keras 环境搭建教程
- windows下制作linux U盘启动盘或者安装优盘(转)
- 磁盘块管理器DiskBlockManager