9月9日,系统启动文件恢复与内核编译

1、破解root口令,并为grub设置保护功能

进入grub界面,输入a键,在输入1,进入单用户界面,进入系统后修改密码。

blob.png

2、破坏本机grub stage1,而后在救援模式下修复之

blob.png

3、删除vmlinuz和initramfs文件,无法启动,恢复之

(1)安装kernel内核

blob.png

(2)光盘寻找内核,在复制到/boot目录下,在修改成对应的,系统会重启两次

blob.png

(3)通过网络进行恢复内核文件(1救援模式设置网络)(2)网络拷贝内核文件

blob.png

blob.png

4、删除/etc/fstab和/boot目录的所有文件,并恢复之,多破坏些,方便学习

(1)破坏机器
#umount /boot                     —卸载/boot分区
#rm -rf /boot                           —删除/boot目录(boot目录下包含所有GRUB有关的文件)
#rm -rf /etc/inittab                 —删除init表(此文件定义了系统运行级别和脚本)
#rm -rf/etc/rc.d/rc.sysinit      —删除init运行级别脚本文件
#rm -rf/etc/rc.d/rc.local         —删除开机脚本文件
#mv /etc/fstab/etc/fstab.bak    —备份系统挂载表fstab文件(此文件记录了linux分区信息)
#sync               —将系统缓冲区的内容写入硬盘(在Linux系统中,当数据需要存入磁盘时,通常会先放到缓冲区内,等到适当的时刻再写入磁盘,如此可提高系统的执行效率)
#reboot

blob.png

(2).查看磁盘或卷信息(有卷时首先要激活卷vgchange -ay),在把卷或磁盘挂载,确定分区情况(确定根后,
可以查看/etc/mtab,不一定管用)

blob.png

(3)编写/etc/fstab文件,重启系统(必须重启加载配置,不然基本命令都用不了)

blob.png

(4)格式化新硬盘

blob.png

(5)切换根(chroot /mnt/sysimage),挂载新硬盘,安装内核与grub,完成/boot目录恢复

blob.png

(6)编写/boot/grub/grub.conf与将/boot挂载信息写入/etc/fstab

blob.png

(7).恢复操作系统配置文件,重启系统    

blob.png

5、增加新硬盘,在其上制作能单独运行kernel和bash的系统

(1)创建磁盘,进入系统,给硬盘分区,并格式磁盘。在创建挂载点,挂载硬盘(boot,/分区)

blob.png

(2)新/boot分区安装grub,编写grub引导信息(/mnt/boot/grub/grub.conf),需要注意,新/boot磁盘在本机为/dev/sdb,但是单独做别系统时,磁盘boot磁盘做为系统的第一块磁盘

blob.png

(3)创建新磁盘根目录文件,拷贝必要的命令与所依赖的库文件,即完成新磁盘操作系统设置

blob.png

(4)创建新虚拟机,并将磁盘移除,将做好/boot与根的磁盘文件复制至新虚拟机,并将磁盘添加至虚拟机,启动系统,即完成实验

blob.png

6、编译安装kernel,启用支持ntfs文件系统功能

 (1):将内核(linux-3.18.41.tar.xz)上传至虚拟机,解压内核至/usr/src  :tar     -xvf    linux-3.18.41.tar.xz   -C   /usr/src/编译内核,可以参考(cat /boot/config-3.10.0-327.el7.x86_64)

blob.png

(2)启用配置config工具,进入图形化界面

blob.png

(3)make  menuconfig图形配置内核说明

blob.png

(4)编译指定核心数,编译内核

blob.png

(5).make modules_install:安装模块

blob.png

(6)make install :安装内核相关文件,重启系统,选择内核,即完成实验
make install :安装内核相关文件
安装bzImage为/boot/vmlinuz-VERSION-RELEASE
生成initramfs文件
编辑grub的配置文件

blob.png

(7)查看系统信息

blob.png

原创文章,作者:maoxiong,如若转载,请注明出处:http://www.178linux.com/45964

(0)
maoxiongmaoxiong
上一篇 2016-09-13 11:17
下一篇 2016-09-13 11:17

相关推荐

  • 谈shell命令的神奇组合以及对脚本的影响

    shell命令是我们与机器交互的基本沟通翻译官。我们要告诉计算机的很多事情都由它来翻译,而shell的神奇之处就在于支持命令联合使用,现在我就来讲讲基本的命令组合引用。1.管道应用:命令 | 命令  ,前面的命令的结果可以直接作为后面命令的输出,省却了一个变量做存储。2.文本段落提取;我们可以用 组合命令 通常为 cat 某文件 | (head -…

    Linux干货 2017-04-02
  • class14磁盘管理(一)

    一、硬盘基础知识及分区类型 1、磁盘结构 设备文件 I/O Ports: I/O 设备地址 一切皆文件:   open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键…

    Linux干货 2016-08-29
  • 数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径

    让业务搭乘大数据技术确实是件非常有吸引力的事情,而Apache Hadoop让这个诱惑来的更加的猛烈。Hadoop是个大规模可扩展数据存储平台,构成了大多数大数据项目基础。Hadoop是强大的,然而却需要公司投入大量的学习精力及其它的资源。 如果得到正确的应用,Hadoop确实能从根本上提升你公司的业务,然而这条Hadoop的应用之路却充满了荆棘。另一个方面…

    Linux干货 2015-02-25
  • linux基础中的基础 —- 用户管理、文本处理、正则表达式等命令的使用(博客第三周作业)

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     who | cut -d' ' -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。     who | tail -1 3、取出当前系统上被用户当作其默认shell的最…

    Linux干货 2016-07-22
  • inode概念总结

    一、inode  inode是类UNIX系统上文件系统中的一种数据结构。数据在磁盘上存储是按扇区存放的,几个扇区组成一个块(block),操作系统为高效读取磁盘上的数据,按block来读取。而数据存放的block的地址就包含在inode里。 二、inode的存储信息  每个inode保存一个文件系统对象(目录,文件,管道,软连接,sock…

    Linux干货 2016-08-05
  • 源码编译安装dropbear

    tar -jxf dropbear-2013.58.tar.bz2 cd dropbear-2013.58 ./configure make PROGRAMS=”dropbear dbclient dropbearkey dropbearconvert scp” make PROGRAMS=”dropbear dbclie…

    Linux干货 2017-10-21