码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS bootloader 修复

时间:2015-04-21 01:57:18      阅读:468      评论:0      收藏:0      [点我收藏+]

标签:grub   bash   bootloader   grub-install   


    有时候可能因为误操作等其他原因导致CentOS bootloader损坏,从而无法正常启动系统,此时我们做的就是要通过系统光盘修复模式安装grub 修复bootloader

    

问题重现:# dd if=/dev/zero of=/dev/sda bs=200 count=1   //这就就破坏了bootloader导致无法启动

一、环境配置:

1、光盘引导  选择修复模式   然后“Enter”,如图

技术分享

2、选择语言

技术分享

3、选择键盘格式

技术分享

4、设置网络,通过Tab键选择Yes,

技术分享

在此界面选择OK

技术分享

此界面可以通过Tab 和空格键 进行选择,如果对网络有要求的话要输入相应的IP,

技术分享

技术分享

5、 Rescue 模式  会尝试去找原来的跟文件系统,如果找到会挂在到/mnt/sysimage目录下;选择Continue--继续,【Read only 只读】

技术分享

6、找到原来系统并将其挂载在/mnt/sysimage 目录下

技术分享

技术分享

7、选择修复的方式 由于我们是在shell下进行修复,所以此时选择“Shell Start Shell”然后OK
    fakd Run diagnostic 运行诊断程序

技术分享

二、修复方式

    针对bootloader有两种修复方式,分别是使用grub 和grub-install 进行修复

    1、方法一:

    方法一:

# grub
# grub> root (hd0,0)
# grub> setup (hd0) //指明 安装在哪个硬盘上

技术分享

2、方法二、

    # chroot /mnt/sysimage
    # grub-install /dev/sda     
   //即使已经chroot成功,但cat /proc/;ls /dev/ 显示的都是光盘系统上的伪文件信息

技术分享

无论哪一种方式都可以修复bootloader  然后重启系统 就可以正常启动我们的CentOS 了


三、bash损坏后,无法正常操作Linux系统的修复

问题重现:# mv /bin/bash /tmp 
由于CentOS模式是bash并且其各种脚本,都是在bash基础上运行起来的,如果系统没有了默认bash,其将无法进任何操作,包括关机与重启

其修复方式同样有两种:

    方式一:

        通过修复模式进入tcsh 然后使用光盘安装bash

    # chroot /mnt/sysimage /bin/tcsh    //bash移除了但 tcsh还在
    # mkdir /mnt/bas
    # mount /dev/cdrom /mnt/bas
    # rpm -ivh --replacepkgs /mnt/bas/Packages/bash-4.1.2-29.e16.x86_64.rpm

    

技术分享

技术分享


方法二、

    直接在修复模式安装
    
    # mkdir /mnt/bas    //创建挂载点
    # mount /dev/cdrom /mnt/bas    //挂在光盘
    # rpm -ivh --replacepkgs /mnt/bas/Packages/bash-4.1.2-29.e16.x86_64.rpm --root=/mnt/sysimage

技术分享



OK  至此 已经修复完成  接下来就可以重启系统 见证奇迹了................


本文出自 “无常” 博客,请务必保留此出处http://1inux.blog.51cto.com/10037358/1636293

CentOS bootloader 修复

标签:grub   bash   bootloader   grub-install   

原文地址:http://1inux.blog.51cto.com/10037358/1636293

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!