欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

玩转linux之启动篇

来源:本站整理 作者:佚名 时间:2016-09-14 TAG: 我要投稿

想要玩转linux,首先明白其启动流程,这里简单说明一下:
CentOS 6启动流程:
   POST --> Boot Sequence(BIOS) --> Boot Loader --> Kernel(ramdisk) --> rootfs--> switchroot--> /sbin/init-->(/etc/inittab, /etc/init/*.conf) --> 设定默认运行级别--> 系统初始化脚本rc.sysinit--> 关闭或启动对应级别的服务--> 启动终端
Boot Loader:
   bootloader是系统的启动加载器。通常情况下,引导程序都安装在bootloader中。以我们常见的grup为例,grub分为stage1,stage1.5,stage2。其中stage1的代码是直接存放在mbr中的。当BIOS将控制权传递给MBR后,stage1的代码就开始运行,它主要负责将stage1.5或者stage2的内容加载在内存中。stage2被加载到内存中后,就会读取grub的配置文件grub.conf。
想要玩转,我们就要先玩破坏,然后再修复,才可以。

首先stage1阶段:
  stage1的代码是直接存放在mbr中的,
MBR引导扇区共512bytes,其中:
    主引导程序(boot loader):446bytes, 可以安装引导加载程序
    主分区表(partition table):64bytes,记录整块硬盘分区的状态(16bytes: 标识一个分区)
    结束标识: 2 bytes, 55AA ,MBR区域的有效性标识;55AA为有效
我们可以使用命令来查看一下MBR的内容:

[root@CentOS-6 ~]# hexdump -C -n 512 /dev/sda
然后我们要破坏stage1,主要是破坏MBR中前446个字节,可以使用命令

[root@CentOS-6 ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1

这样MBR前446个字节就全为0了,这时bootloader就已经被破坏,下面来重启试试看:)
重启系统后,stage1阶段没有正常启动,直接跳至光盘引导。。。

下面我们就要进入救援模式,来进行修复:

之后会有一些语言和键盘及网卡的选项,根据需要自主选择,再之后会出现Rescue选择界面,我们选择Continue继续。

再之后会有一些提示信息,ok继续,直至出现下图界面,我们选择start shell,ok继续

这样我们就会进入一些救援模式的shell,现在我们所在的位置,并不是我们系统的根,而是当前救援shell的根,所以我们首先要切换根目录,使用“chroot”命令:

修复完成后,退出shell,选择reboot重启系统


在系统重启后,系统会修复,需要等待一段时间,切勿强制退出


OK,这样stage1的破坏与修复我们就学会了,是不是很简单,下面我们将stage1.5给破坏了,看看怎么修复。stage1.5是为stage2提供驱动的(在0柱面1扇区后面的63个扇区中存储)       
首先我们看看stage1.5的位置

[root@localhost6 ~]# hexdump -C -n 1024 /dev/sda

我们摧毁stage1.5,而不摧毁stage1就需要跳过前512个字节

[root@localhost6 ~]# dd if=/dev/zero of=/dev/sda bs=512 count=2 seek=1
然后重启来试试看:
显示结果就是:黑屏。。。
这是因为stage1是正常的,他认为系统是存在的,但是到1.5阶段,找不到驱动,所以就卡在那里了。
所以我们修复的话还是需要进入的救援模式下,进行修复,步骤和修复stage1是完全一样的,这是因为
安装grub命令:
(1) grub-install
安装grub stage1和stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件到DIR/boot目录下
 命令格式:grub-install --root-directory=DIR /dev/DISK 
    注:这里的"--root-directory=DIR"是指定/boot目录的父目录,因为grub-install还可以复制GRUB相关文件到DIR/boot目录下。如果/boot的父目录为根目录,则可以省略。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载