linux系统修复报错的方法 .

如果/etc/fstab文件和boot目录下的文件丢失怎么办
centos6启动流程

 

fstab图片1

boot图片2

如果 /etc/fstab 挂载文件和/boot目录下所有文件丢失怎么办

解决方法一:

1.进入救援模式

2 . fdisk -l  查看分区

3. mkdir  /mnt/rootfs  创建一个挂载目录

4 . 测试挂载,看那个是根目录,找到根目录挂载到/mnt/rootfs

mount  /dev/sda2  /mnt/rootfs

5 . chroot  /mnt/rootfs   切换到根目录

6  . vim /etc/fstab   创建挂载文件

7 . exit 退出到救援模式的根

8. mkdir  /mnt/cdroot  创建挂载目录

9.  mount /dev/sr0  /mnt/cdroot  光盘挂载到目录

10 .  cp /mnt/cdroot/isolinux/vmlinuz   /mnt/sysimage/boot/vmlinuz-`uname -r`.img  `uname -r`  在光盘底下把vmlinuz内核文件拷贝到磁盘根目录下的boot目录加版本号

11. chroot /mnt/rootfs   切换到磁盘的根

12. cd /boot   切换到boot目录下

13. mkinitrd  initramfs-`uname -r`.img  `uname -r`    生成initramfs驱动文件

14. grub-install  /dev/sda     修复全部stage阶段  包括stage1   stage1.5   stage 2

15 . cd   /boot/grub    切换到grub目录

16.  vim grub.conf   创建并编辑grub.conf文件

default=0

timeout=5

title zhoulinuz       名字自己定义

kernel    /vmlinuz-版本号     root=/dev/sda2   根目录

initrd    /initramfs-版本号.img

sync   同步到磁盘

exit  退出  重启

 

 

centos 6的启动流程

1.POST 开机自检 ,检测硬件环境是否准备好

2.MBR  读取硬盘MBR的前446字节,属于grub的stage1第一阶段

3.进入grub的stage1.5阶段,加载/boot分区所在的文件系统启动

4.完成加载进入stage2阶段,关键的文件已经在/boot/grub目录下了,关键的文件有/boot/grub/grub.conf,该文件定义了内核的路径,文件里面kernel  /vmlinuz-version  告诉了我们内核的路径

5.加载vmlinuz内核,完成以后找根/,内核想要加载根文件系统,需要识别根所在的文件系统驱动,配合/boot/目录里面的两个重要文件vmlinuz内核文件和initramfs文件系统驱动文件完成加载根文件系统。

6.启动根下面的第一个进程/sbin/init,这个进程要读取/etc/inittab配置文件,决定后续加载的一些脚本顺序,也定义了运行模式

7.运行第一个初始化脚本 /etc/rc.d/rc.sysinit 这个是真正的OS初始化脚本,然后根据/etc/inittab配置文件默认的模式运行相应的/etc/rc.d/rc*.d ,  在/etc/rc.d/rc*.d目录下是以K或S开头的文件,执行相应的模式开启或关闭服务

8. 无论哪种运行模式都最终要运行/etc/rc.local

9. 最后执行/bin/login程序,等待用户登录

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/98379

(0)
周亚飞周亚飞
上一篇 2018-05-13 15:34
下一篇 2018-05-13 16:13

相关推荐

  • TCP/IP

    TCP/IP不是一个协议,而是一个协议族的统称。里面包括IP协议、IMCP协议、TCP协议。 TCP/IP分层: 这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为网络号+子网号+主机号 域名系统:通俗的来说,就是一个数据库,可以将主机名转换成IP地址 RFC:TCP/IP协议的标准文档 端口号:一个逻辑号码,IP包所带有的标记 Socket:…

    Linux笔记 2018-05-05
  • 编译安装LAMP示例

    httpd 2.4.9 + mysql-5.5.33 + php-5.4.26编译安装过程: 一、编译安装apache 1、解决依赖关系 httpd-2.4.9需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。这里选择使用编译源代码的方式进行,它们的下载路径为ftp://172…

    Linux笔记 2018-05-29
  • 请使用命令行展开功能来完成以下练习: (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d (2)、创建/tmp/mylinux目录下的:

    (1) [yangyangyang@localhost ~]$ mkdir -pv /tmp/{a,b}_{c,d} mkdir: created directory ‘/tmp/a_c’mkdir: created directory ‘/tmp/a_d’mkdir: created directory ‘/tmp/b_c’mkdir: created d…

    Linux笔记 2018-05-20
  • yum命令及yum仓库构建

    yum命令 yum [options] [command] [package …] yum命令行选项 –nogpgcheck 禁止进行gpg check -y 自动回答yes -q 静默模式 –disablerepo=repoidglob 临时禁用此处的repo –enablerepo=repoidglob 临时启用此处的repo –noplug…

    Linux笔记 2018-06-10
  • shell脚本编程基础(1)

    要想玩转Linux系统,编写shell脚本是必须要掌握的技能。那什么是shell编程呢?简单来说,shell编程就是对多个Linux命令进行逻辑处理。

    2018-04-10