马哥学习—-李洋个人笔记–启动故障排除

马哥学习—-李洋个人笔记–启动故障排除故障1删除/boot之后的恢复步骤:1重启电源,迅速按esc进去选择启动模式,然后选cd-rom这项(从光驱启动)2重启后进入救援模式(选择rescue),选择语言和键盘布局后,一路回车到下一步。3询问是否需要网络选项,一般来说,救援模式不需要网络,选择no,回车进入下一步。4这一步提示内容大意为:救援系统将尝试寻找你的linux安装,并在目录mnt/sysimage下安装它…

大家好,又见面了,我是你们的朋友全栈君。

故障1 删除/boot之后的恢复步骤:

1 重启电源,迅速按esc进去选择启动模式,然后选cd-rom这项(从光驱启动)

2 重启后进入救援模式(选择rescue),选择语言和键盘布局后,一路回车到下一步。

3 询问是否需要网络选项,一般来说,救援模式不需要网络,选择no,回车进入下一步。

4 这一步提示内容大意为:救援系统将尝试寻找你的linux安装,并在目录 mnt/sysimage下安装它,然后就可以对系统进行任何更改.也可以选择只读的方式来装载文件,如果需要激活高级san设备,选择高级.(一般不会用只读方式来挂载文件) 如果由于某种原因这个过程失败了,可以选择skip,这个步骤就会被跳过,直接进入到命令shell.下面的四个选择,分别是
continue==继续 read-only==只读 skip==跳过这个步骤 advanced==高级 这里我们选择continue.然后下一步.

5 一路回车到这一步,选择第一个进入shell.

6 在shell命令模式下,首先要敲命令 # chroot /mnt/sysimage 这样是将救援模式的根,转移到真正的根目录下,不加入这一个命令,所有对根的操作,实际上是对救援模式跟的操作.
可以使用df来验证下,是否是自己的根.如果不是自己的跟,那么硬盘路径上显示有 /mnt/sysimage这个目录,代表没在自己的根上。而是在救援模式的根上。

7 在/boot下执行命令 grub-install /dev/sda 创建grub挂载点 创建成功后,我们浏览下grub目录当中内容 可以看出当中缺少了grub.conf文件,我们稍后再手动编辑,先恢复内核。

8 接下来挂载光驱,准备复制boot当中的内核文件。 使用命令: cd /media 到光盘中,寻找到isolinux目录. 将目录当中的vmlinux复制到/boot下.内核文件恢复完毕.

9 恢复启动时候需要的grub及initrd文件 使用命令mkinitrd在/boot下创建initrd文件.命令如下

mkinitrd /boot/initramfs-$(uname -r).img vmlinuz

创建成功后,会在boot下生成以当前内核版本号为名字的文件

使用vim来编辑目录grub下的grub.conf文件,内容如下:
default =5
timeout=5
title redhat
root(hd0,0)
kernel /vmlinuz(这个名字是跟复制过来的内核名字一致) ro root=uuid=(挂在根的分区编号) rhgb quiet
initrd /使用命令生成的内核名.img文件名字
其中,uuid硬盘ID号,是在命令模式下输入 :.! blkid |grep /dev/sd2 来实现的。通过之前的df命令可以看出根目录是挂载sd2分区上的,所以取出sd2的uuid号。

10 以上步骤完成后,先输入exit退出救援,再输入reboot重启,成功恢复。

故障2:删除/etc/fstab,删除/etc/init/rcS.conf,删除/etc/rc.d/rc.sysinit,删除/boot下的所有文件,然后恢复正常。

进入救援模式使用df命令,可以看到没有任何挂载,但是使用fdisk –l 可以看出当前硬盘分区情况。

做一个简单的判断,只有编号为83的分区才有可能是挂载根的,所以排除不是83以及swap后,剩余的分区尝试挂载即可,直到能看到真正的根下的内容。假设为/dev/sda2

手动挂载:执行命令mount /dev/sda2 /mnt/sysimage 切记:现在我们还是在救援模式的根下,别忘了切换根,可以用df命令来验证下:

需要使用命令: chroot /mntsysimage 将根切换自己的根上.

使用 vim /etc/fstab 命令来编辑分区配置文件,但是这时候我们缺失了很多信息,无法使用blkid来获取分区的ID号,所以还需要退出去,在救援模式下,使用blkid将分区id号导入到/etc/fstab当中.
首先回到救援模式 # exit
接下来是导入:blkid >> (/mnt/sysimage/etc/fstab),红色部分很重要,因为我们现在还是救援模式的根上,必须加上才有效。

接下来,使用 vim /etc/fstab 来查看,已经有了分区的id号,手动编辑下,变为:
UUID=bd127449-c4cc-4a56-8f94-e44ceca55970 / ext4 defaults 1 1
这里的 / 表示 根在这个分区上挂载 将所有分区都按此格式编辑完后保存.然后退回到救援模式,重启,让系统自动识别分区.

重启后,进入救援模式,使用df可以查看系统已经自动挂载分区了。

开始恢复 /etc/init/rcS.conf和/etc/rc.d/rc.sysinit两个文件了.

使用rpm -qf /etc/init/rcS.conf 和 /etc/rc.d/rc.sysinit,可以查询出,这两个文件都出自一个安装包内,:
initscripts-9.03.58-1.e16.centos.x86_64

从光盘当中,复制这个包到/app下,使用命令 rpm2cpio initscripts-9.03.58-1.e16.centos.x86_64 |cpio -id 解压后
然后从这里的etc当中分别将这两个文件放入根下面的etc内,分别复制对应文件到对应目录下

剩余恢复grub步骤和上例一样,不在多做赘述。恢复好grub后,退会到救援模式,将内存信息保存起来,使用命令 sync 后重启。

另吐槽 博客不能使用word当中,使用QQ截图下来的图片!!!

转载于:https://blog.51cto.com/13477118/2134758

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162742.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 下列选项中不符合python语言变量命名规则的是_下列选项中不符合Python语言变量命名规则的是??????????????????????????????????( )。…

    下列选项中不符合python语言变量命名规则的是_下列选项中不符合Python语言变量命名规则的是??????????????????????????????????( )。…下列选项中不符合Python语言变量命名规则的是??????????????????????????????????()。答:3_1下列基金的收益与股票市场平均收益率最接近的是()。答:股票基金自由锻基本工序有、、答:镦粗拔长冲孔中国第一颗的爆炸时间是答:1967年废品净损失应由()。答:同种合格产品成本负担下列各进制的整数中,值最小的是()答:二进制数11春风雨:理性…

    2022年5月28日
    41
  • C++中getchar()的使用方法「建议收藏」

    C++中getchar()的使用方法「建议收藏」1getchar()简介getchar()是C语言中的函数,C++中也包含了该函数。getchar()函数的作用是从标准的输入stdin中读取字符。也就是说,getchar()函数以字符为单位对输入的数据进行读取。2getchar()读取缓冲区方式在控制台中通过键盘输入数据时,以回车键作为结束标志。当输入结束后,键盘输入的数据连同回车键一起被输入到输入缓冲区中。在程序中第一次调用getchar…

    2022年10月18日
    4
  • linux 文档编辑命令_vim编辑器常用命令

    linux 文档编辑命令_vim编辑器常用命令Linux文档编辑命令1.vi或vim命令1.基本操作1.vim文件名:进入一般模式(不能输入)2.按下i从一般模式,进入到插入模式3.按下esc从插入模式,退出到一般模式4.在一般模式下,输入:wq,退出编辑。2.vi基本概念3.常用命令2.管道linux提供管道符号“|”作用是“命令1”的输出内容,将作为“命令2”…

    2022年9月27日
    3
  • Java学习笔记-1

    一、面向对象是什么?面向对象是一种思想,世间万物都可以看成一个对象,这里只讨论面向对象编程(OOP),java是一个支持并发、基于类和面向对象的计算机编程语言,面向对象开发的优点:1.代码开发模块化,更易维护和修改;2.代码复用性强;3.增强代码的可靠性和灵活性;4.增强代码的可读性。面向对象的四大基本特征:抽象:提取现实世界中某事物的关键特性,为该事物构建模型的过程。对同一事物在不…

    2022年4月17日
    51
  • file.encoding的简单学习 java

    file.encoding的简单学习 java

    2021年8月28日
    56
  • 制作bt3启动盘_十大u盘启动盘制作软件

    制作bt3启动盘_十大u盘启动盘制作软件
    快速制作BT3U盘版
    方便,快捷简单
    无效不退款

    光盘版BT3,大概694MB,直接刻盘,然后用光盘引导,即可进入bt3,连接为:
    http://ftp.heanet.ie/mirrors/backtrack/bt3-final.iso

    U盘版Bt3,大概783MB,连接为:
    http://cesium.di.uminho.pt/pub/backtrack/bt3final_usb.iso
    <

    2022年10月1日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号