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
下一篇 2016-09-13

相关推荐

  • 自制一个简易linux

    虚拟机添加一块新的硬盘(大小自定义) 在磁盘上创建一个基本分区作为/boot分区(大小200M足够) 再创建一个基本分区作为基本根分区(这里我指定给了5G大小) 然后给分区创建文件系统(注;swap分区要使用mkswap命令) ]# mkdir /mnt/boot 创建挂载点(因为grub只识别/boot目录,所以要创建boot目录) ]# mount /d…

    Linux干货 2016-09-21
  • LVS专题: NAT和DR模型实现Web负载均衡

    LVS专题: NAT和DR模型实现Web负载均衡 前言: NAT实现 Real Server配置 Director配置 测试 实验拓扑 实验环境 实验步骤 DR实现 Director配置 Real Server配置 测试 实验拓扑 实验环境 实验步骤 总结: 前言: 在上篇文章中我们讲了一些LVS的基本概念和相应模型的实验原理和流程,本篇文章我们主要使用lv…

    2016-04-05
  • 系统日志和loganalyzer

    作为运维人员,熟悉系统日志是一项基本功。本文将介绍centos6的系统日志rsyslog及loganalyzer工具。 简介 系统日志:记录历史事件,通常都是按时间顺序将发生的事件予以记录,linux上的日志分为syslogd(系统进程相关日志)和klogd(内核事件日志) centos5:syslog    缺点:不能进行并行数据存储,…

    Linux干货 2016-03-20
  • 小练习题。【第四周】

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 home]# chmod g-rwx,o-rwx -R tuser1 2、编辑/etc/group文件,添加组hadoop。 /]# vim /etc/group …

    Linux干货 2016-11-26
  • 基于ansible role实现LAMP平台批量部署

    前言 作为运维人员,当面对几十台或上百台服务器需要修改某个参数或部署某个平台,你将从何入手呢?ansible的出现很好的解决了这一困扰,ansible基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。本文带来的是基于Ansible Role…

    Linux干货 2015-06-11
  • 配置LAMP (php-fpm模式)部署步骤

    配置LAMP (php-fpm模式)部署步骤 1.安装mariadb yum install maridb-server -y 1).配置server.cnf cp /etc/my.cnf.d/server.cnf{,.back} vim /etc/my.cnf.d/server.cnf ##mariadb服务器端配置文件 [mysqld] ##以下项是优化…

    Linux干货 2017-06-02