Linux_开机启动顺序以及失误操作的挽救方法

Linux开机启动顺序
第一步——打开电源
第二步——加载BIOS 当打开计算机电源后BIOS会自动启动并检查硬件的完好度,里面包含了许多硬件的信息,是计算机知道该去读取那个硬件设备
第二步——读取MBR 硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,可里面却存放了预启动信息、分区表信息。可分为两部分:第一部分为引导(PRE-BOOT)区,占了446个字节;第二部分为分区表(PARTITION PABLE),共有66个字节,记录硬盘的分区信息。预引导区的作用之一是找到标记为活动(ACTIVE)的分区,并将活动分区的引导区读入内存。
第三步——BOOT Loader Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。通常,BootL oade:是严重地依赖于硬件而实现的,不同体系结构的系统存在着不同的Boot Loader。

  Linux的引导扇区内容是采用汇编语言编写的程序,其源代码在arch/i386/boot中(不同体系的CPU有其各自的boot目录),有4个程序文件:

  #bootsect.S,引导扇区的主程序,汇编后的代码不超过512字节,即一个扇区的 大 小

  #setup.S, 引导辅助程序

  #edd.S,辅助程序的一部分,用于支持BIOS增强磁盘设备服务

  #video.S,辅助程序的另一部分,用于引导时的屏幕显示

  Boot Loader有若干种,其中Grub、Lilo和spfdisk是常见的Loader,这里以Grub为例来讲解吧。

  系统读取内存中的grub配置信息(一般为menu.lst或grub.lst),并依照此配置信息来启动不同的操作系统。
第四步——加载内核文件 根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。启动驱动
第五步——加载初始化程序 即唤醒软件进行工作
(不是很详细,应该有一些具体的步骤待补充)

下面演示一些失误致使系统损坏以及挽救措施

这里写图片描述
如图已经将MBR分区占用 系统无法进入BOOT分区
这里写图片描述
此时需要在该机器中添加光驱 并引导其从光盘启动 然后进入挽救模式页面
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
如图所示 你的真实根被挂载在/mnt/sysimage/下 先切换到真实的环境下

grub2-install /dev/vda #你的boot分区

然后在从硬盘启动就行


误将自动引导程序删除了
这里写图片描述
这个文件交代了系统启动需要进行的步骤 如果误删 将其恢复即可grub2-mkconfig > /boot/grub2/grub.cfg
可是如果不小心重新启动了 呢么便需要手动去引导它启动了
这里写图片描述
没太记住打的有点乱
大意就是 首先让系统读取启动项的地址 第一块瓷盘的第1个分区
然后加载内核文件 并只读挂载在/dev/vda1
然后是系统初始化文件 便可以启动了


接下来是误将内核文件删除
在没有重新启动的情况下 将光盘中的Packages下的内核文件的安装包铐到机器上面 然后将rpm2cpio 内核文件 | cpio -id 解压他
会出现一个boot 目录 将里面的内核文件考到/boot 中便可以了
如果不小心重新启动了 需要从光盘中启动
然后recuse
df查看挂载
会发现光盘挂载在某个目录下
切换到真实环境下 chroot 根被挂载的目录
然后打开它光盘 copy以上步骤到 /mnt 下
解压 并将丢失的内核文件cp到/boot
重新启动

 1 
  2      rm -fr vmlinuz-3.10.0-123.el7.x86_64
  3      df
  4      cd //run/media/root/RHEL-7.0\ Server.x86_64/
  5      ls
  6      cd Packages/
  7      yum whatprovides /boot/vmlinuz-3.10.0-123.el7.x86_64 #查看内核文件属于哪个安装包
  8      vim /etc/yum.repos.d/rhel_dvd.repo
  9      yum clean all
 10      yum whatprovides /boot/vmlinuz-3.10.0-123.el7.x86_64
 11      find kernel-3.10.0-123.el7.x86_64
 12      ls | grep kernel
 13      cp kernel-3.10.0-123.el7.x86_64.rpm
 14      cp kernel-3.10.0-123.el7.x86_64.rpm /mnt/
 15      cd /mnt/
 16      ls
 17      rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id #解压
 18      ls
 19      cd boot/
 20      ls
 21      cp vmlinuz-3.10.0-123.el7.x86_64 /boot/ #将缺失的内核文件复制到/boot中

如果不小心重启了 则需要进去挽救模式 进行上述操作 将内核文件 复制到真实环境的boot下


若是不小心将初始化程序删除了 在未重新启动的情况下则需要

mkinitrd /boot/initramfs-内核号码(需要恢复的文件名).img 内核号码
便将其恢复了 uname -r 为查看版本内核的命令 也可将他家到上述命令中 (unamer)( )表示优先执行
如果 已经重新启动 呢么需要在recuse环境中的真实根下 执行此命令便可
开机不需要密码的操作
vim /etc/gdm/custom.conf
AutomaticLoginEnable=True 表示开机不需要密码登陆
AutomaticLogin=root 表示开机自动登陆的为root用户
开机的启东级别
1 修改密码的环境
2 没有网络的多用户模式
3完全多用户模式
4 不使用
5 有图形
6重新启动

阅读更多
上一篇Linux_SElinux 安全上下文的理解
下一篇Linux_高级网络配置
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭