Linux系统修复

在boot里面我们可以根据自己的需求去设置一些启动选项,我们今天来了解一下Linux启动流程,以及boot下的选项。

      1. 加载BIOS的硬件信息,获取第一个启动设备。
      2. 读取第一个启动设备MBR的引导加载程序(grub)的启动信息
      3. 加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备。
      4. 核型执行init程序并获取运行信息。
      5. Init执行/etc/rc.d/rc.sysinit文件。
      6. 启动核心的外挂模块(/etc/modprobe.conf)。
      7. Init执行运行的各个批处理文件(scripts).
      8. Init执行/etc/rc.d/rc.local.
      9. 执行/bin/login程序,等待用户登录。
      10. 登录之后开始以Shell控制主机。

      POST:Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘、 CD-ROM光驱等硬件情况的检测。

      ROM: BIOS, Basic Inputand Output System,保存着有关计算机系统最重要的基本输入输出程序,系统信息设置、开机加电自检程序和系统启动自举程序等。

      RAM: CMOS互补金属氧化物半导体,保存各项参数的设定按次序查找引导设备,第一个有引导程序的设备为本次启动设备bootloader: 引导加载器,引导程序

      Boot Loader:主要功能识别.加载操作系统中的核心文件,并提交到内存中运行,进而启动对应的操作系统,每一种操作系统都有自己单独的Boot Loader,只有使用自己的Boot            Loader才可以加载到自己的核心文件。Boot Loader另一个主要功能是提供菜单信息(可以向使用者提供不同的启动项目,来加载不同的操作系统),并将启动管理功能

      转交给其他的加载程序。

      Linux:功能丰富,提供菜单,允许用户选择要启动系统或不同的内核版本;把用户选定的内核装载到内存中的特定空间中,解压、展开,并把系统控制权移交给内核

      stage1:运行boot Loader的程序与配置项加载分成三个阶段(stage)来运行,MBR空间有限,因此在MBR中仅安装Boot Loader的最小主程序,并没有安装Boot Loader的相关配置文件

      stage1_5:在MBR随后的扇区中存放,主要用于与stage2所在分区的文件系统进行交互。

      stage2:通过Boot Loader加载所有配置文件及相关的环境参数信息,这些配置文件及相关的环境参数都存放于磁盘分区上的/boot目录上。

      grub:最重要的一部分就是识别磁盘信息,grub对硬盘的识别是通过以下方式:

      (hd0,0)

      1.硬盘代号以小括号()括起来;

      2.硬盘以hd表示,后面会接一组数字,数字之间以逗号隔开;

      3.以搜寻到的顺序来作为磁盘的编号,而非根据磁盘的排线编号(多硬盘情况下, 搜寻的次序是根据bios中设置的启动顺序,而非插槽编号);

      4.第一个搜寻到的磁盘编号为0,第二个为1,一次类推。

      5.每块磁盘上的第一个分区编号为0,第二个分区为1,以此类推。

      #:因此(hd0,0)就表示第一块磁盘上的第一个分区。

      default=0

      表示默认的启动条目,假如同时装有多个操作系统,0表示定义的第一个title系统,1表示定义的第二个title系统,以此类推

      timeout=5

      表示可供选择的等待时间,如果超过5秒,则使用默认的启动条目default定义的

      splashimage=(hd0,0)/grub/splash.xpm.gz

      定义启动时的背景图片信息

      hiddenmenu

      启动时是否要显示菜单,默认情况下是不显示菜单信息,如果想要显示菜单,可以将该配置注释即可;

      注释菜单:

      title:定义操作系统的名称

      root :表示内核文件存放的位置,这里指定的是分区位置,而非根目录。

      kernel:内核的名称以及一些启动时的核心参数,由于启动过程中需要挂载根目录,因此就需要指定根目录所在的分区,rhgb表示色彩显示,quiet表示静默模式加载内核。

      initrd:指定用于辅助内核完成系统启动的ramdisk文件路径再次在内存缓存

      默认启动级别:

      0:关闭所有服务;关机

      1:维护模式;单用户模式,sigle模式,此级别可允许root用户直接登录而无需认证。

      2:维护模式;多用户模式,需要用户认证,会启动网络功能,但不支持使用NFS。

      3:正常级别:完全多用户模式,文本界面。

      4:预留级别:

      5:正常级别:完全多用户模式,图形界面。

      6:关闭所有服务;重启

      #:通常使用较多的默认级别为3或者5,服务器基本上默认使用3级别,即文本界面。

      #:查看当前运行的级别可以使用runlevel或者who -r

      #:禁用Ctrl+Alt+Delete重启;(centos 6)

      1.cp -v /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.override

      2.vim /etc/init/control-alt-delete.override

      3.将exec /sbin/shutdown -r now "Control-Alt-Delete pressed"改为exec /usr/bin/logger -p authpriv.notice -t init"ctrl-alt-del was pressed and ignored"

      破坏及修复:

      stage1:破坏

      [[email protected] ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446

      [[email protected] ~]# hexdump -Cv /dev/sda -n 446

      stage1:修复

      1.重启并进入救援模式

      2.选择语言

      3.设置网络选择NO

      4.输入continue

      5.打开shell终端,并切换至根目录,chroot /mnt/sysimage/

      6.错误输出信息可以忽略,看到设设备信息即可。

      7.就此stage1已经修复完成,重启即可完成。

      stage1_5:破坏

      dd if=/dev/zero of=/dev/sda bs=512 count=2 seek=1

      stage1_5:修复

      1.重启系统

      2.光盘启动,进入救援模式。

      3.使用grub工具修复引导文件,修复完成,直接重启即可。

      boot:破坏,直接删除boot目录

      boot:修复

      1.删除boot目录下全部文件并重启

      [[email protected] ~]# rm -rf /boot/*

      2.重启并进入救援模式

      3.进入根目录,挂载镜像

      4.重新安装kernel

      5.修复引导文件

      6.编辑/etc/grub.conf配置文件

      7.修复完成,重启即可。

      boot:破坏

      [[email protected] ~]# rm -rf /boot/*

      fstab:破坏

      [[email protected] ~]# rm -rf /etc/fstab

      引导修复,fstab文件修复。

      1.重启并进入救援模式。

      2.我们会发现系统检测不到根目录,因为我们把/etc/fstab删除了

      3.查看逻辑卷,并激活逻辑卷,默认关闭状态

      4.挂载根目录。

      5.新建/etc/fstab并写入挂载信息,重启进入救援模式,让系统自动检测。

      6.这里我们发现系统已经检测到了路径/etc/sysimage

      7.重新进入根目录,挂载镜像文件。

      8.重新安装kernel,并修复引导文件

      9.编辑/etc/group引导文件

      10.到这一步已经修复完成了,直接重启即可正常进入系统。

      时间: 2024-10-11 10:28:07

      Linux系统修复的相关文章

      GRUB与Linux系统修复(第二版)

      GRUB配置解析 配置文件保存在 /boot/grub/grub.conf[/boot分区最好应该单独划分出来] 软链接保存在 /etc/grub.conf 1.grub.conf文件分析 default #缺省启动系统 timeout #缺省等待时间,单位秒s splashimage #定义GRUB启动背景图片 #(hd0,0) #指定/boot所在的分区 -> 第一块硬盘,第一个分区 hiddenmenu #隐藏菜单 title CentOS (2.6.32-358.el6.i686) #菜

      linux grbu 系统修复

      Linux系统的修复 一.基础知识回顾 此内容是建立在对linux开机启动流程和系统有一定了解的基础之上的. 在开始讲linux系统修复时,先讲一下windos的pe,windos pe这个工具是提供给我们安装windos系统和修复系统使用的,当windos系统出现问题时,我们可以尝试使用F8进安全模式修复系统,如果不成功的话,我们采用pe进行修复.Linux同样也提供了一个工具给我们修复系统,只是linux的修复工具就是光盘镜像,光盘安装系统的第三个选项,rescue Installed sy

      关于 开机启动加密破坏修复 自制linux系统

      开机破坏并且修复之      自制linux系统            CentOS 6启动流程:POST --> Boot Sequence(BIOS) --> Boot Loader -->Kernel(ramdisk) --> rootfs --> switchroot --> /sbin/init -->(/etc/inittab, /etc/init/*.conf) --> 设定默认运行级别--> 系统初始化脚本rc.sysinit --&g

      第14章 Linux启动管理(3)_系统修复模式

      3. 系统修复模式 3.1 单用户模式 (1)在grub界面中选择第2项,并按"e键"进入编辑.并在"-quiet"后面加入" 1",即"-quiet 1"其中的1表示单用户模式.然后重启就可以进入单用户模式(注意,此时无须输入用户名和密码即可进入). (2)单用户模式常见的错误修复 ①遗忘root密码:#passwd root  //为root用户设置密码 ②修改系统默认运行级别:#vi /etc/inittab就可以更改默

      Linux系统cpu 100%修复案例

      Linux系统cpu 100%修复案例 ?阿里云技术支持团队:完颜镇江 案例背景: Linux主机连续三天CPU% 处理思路: 1.  登录服务器查看/var/log/messages+/var/log/messages.1+/var/log/messages.3里恰好没那三天的日志 2.  dmesg里也无有用的信息 ? 3.  至此怀疑是被攻击了,自然而然的去看对应时间点的带宽占用情况,查看之后发现带宽一切正常,继续排查 4.  怀疑是某个程序的异常,首先的从web进程开始查,通过httpd

      Linux 系统中这样修复 SambaCry 漏洞

      导读 Samba 很久以来一直是为 linux 系统上的 Windows 客户端提供共享文件和打印服务的标准.家庭用户,中型企业和大型公司都在使用它,它作为最佳解决方案在多种操作系统共存的环境中脱颖而出,由于广泛使用的工具很可能发生这种情况,大多数 Samba 安装都面临着可能利用已知漏洞的攻击的风险,这个漏洞直到 WannaCry 勒索软件攻击的新闻出来之前都被认为是不重要的. 漏洞 过时和未修补的系统容易受到远程代码执行漏洞的攻击.简单来说,这意味着访问可写共享的人可以上传一段任意代码,并使

      多系统中linux引导程序修复问题

      玩过系统的人都知道,一台计算机可以安装多个操作系统,也可以安装多种不同内核的操作系统,我的电脑就安装了3个系统,分别是windows xp,win7,redhat linux enterprise 5:这些系统中现状windows,后装linux:先装旧版系统,后装新版系统固然没有问题:是可以正常运行的,但是时间一长,不敢保证系统不出问题:一旦windows系统坏掉 了,我们就得重做windows系统,做完之后,我们发现linux系统无法启动了,,因为引导程序被windows安装程序给破坏掉了,

      linux 系统 chmod 误操作权限异常修复方式

      Linux 系统中如果意外误操作将根目录或系统默认关键目录权限批量设置,比如 chmod -R 777 / ,系统中的大部分服务以及命令将无法使用,这时候可以通过系统自带的 getfacl 和 setfacl 命令来拷贝和还原系统权限,若是其他系统目录被误操作,同样可行. 假设执行了 chmod -R 777 / ,常见会导致的问题有:a.密码正确,但是无法登陆系统b.重启服务器后启动卡住c.服务启动失败,如 sshd可以使用命令 rpm -Va 查看文件权限是否被修改: 修复的方法如下:1.通

      华为服务器通过mgmt口挂载光盘装系统及Linux系统rescue模式下修复内核

      Linux系统rescue模式下修复内核和grub 故障现象 处理思路,内核报错,因此重新安装内核,通过光盘启动,进入救援模式.1.进入救援模式(1)华为服务器没有光驱,通过mgmt管理口登录,挂载iso镜像来引导.连接服务器mgmt口至数据中心网络,浏览器登录,默认IP地址192.168.2.100,默认账号root,默认密码Huawei12#$.登录如下图 单击远程控制链接,进入远程控制管理页面,选择独占模式,如下图 打开远程管理控制台,java信息提示,点击继续这里要求远控操作电脑安装好j