Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42252
  • 博文数量: 11
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-09 03:21
个人简介

运维新人!

文章分类

全部博文(11)

文章存档

2015年(1)

2014年(10)

我的朋友

分类: 系统运维

2014-12-01 15:22:29

解析

Linux

系统下

GRUB

故障修复

 

 

在使用

Linux

的过程中,

大多初学者都遇到过系统启动到“grub>”提示符后就停止不前的问题,

功夫不深的爱好

者可能会束手无策,

转而选择重装系统,

其实这只是系统出现了一点小问题,

既系统的

GRUB

配置文件出现了故障,

此时可以采用以下两种方案来解决问题:

  

1)

存在

GRUB

配置文件备份

  

如果存在

GRUB

配置文件备份,则可以比较简单的进行恢复,可以按如下方法进行:

  

使用光盘引导机器,进入到“linux rescue”模式,即系统维护模式;在提示符”sh#”下执行

cp

命令,将备份

文件拷贝到

/boot/grub.conf

即可

 

Sh#cp /backup/grub.conf.bak /mnt/sysimage/boot/grub/grub.conf  

假设备份文件为

/backup/grub.conf.bak

,因为大多数

Linux

光盘修复模式中会将硬盘系统的”/”分区

chroot

“/mnt/sysimage”

“/mnt/sysimage/boot/grub/grub.conf”

“/boot/grub/grub.conf”。

  

完成后重新启动即可。内核文件、镜像文件、

/boot

目录等文件损坏或丢失,也可以使用此种方法修复。

  

2)

如果没有

GRUB

配置文件备份

  

如果没有备份文件时可以使用

grub

的交换功能,可以在”grub>”命令行下进行以下操作以手动启动系统:

  

查找

/boot/grub/grub.conf

分区所在的目录:

  

grub> find /boot/grub/grub.conf  

(hd0,0)  

需要注意的是,上述命令将得到的是

grub.conf

配置文件所在的系统的分区,

(hd0,0)

即表示它在分区

hda1  

查看

grub.conf

文件错误使用如下的命令:

  

grub> cat (hd0,0)/boot/grub/grub.conf  

需要注意的是,可以查看配置文件到底什么地方出现了错误,以便进入后修改。

  

指定

/boot

分区使用命令:

root (hd0,0)  

从此步骤开始,即为本文前面提到的

GRUB

配置文件的主要引导步骤,只是一般都是系统读取

GRUB

配置文件,出

现问题时我们可以使用手动启动。

  

指定内核加载的命令:

kernel /boot/vmlinuz ro root=LABEL=/  


镜像文件所在的位置可用如下命令:

initrd /boot/initrd-2.6.24-1.3194.fc7  

/boot

分区启动可以使用如下命令:

boot (hd0,0)  

此时系统即可正常启动,

实际上以上步骤就是执行了

GRUB

引导期间加载

grub.conf

文件的步骤,

当系统正常启动

后将

GRUB

配置文件修改正确后即可。

 

 

 

 

 

重建

 

GRUB (linux boot loader)

 

 

GRUB (GRand Unified Bootloader 

縮寫

 linux 

系統中常用的系統啟動軟體,另一個同功能的是

 

LILO (LInux LOader 

縮寫

)

,它的作用是接管

 BIOS 

交付控制權給作業系統時的第一個工作–把作業系

統正確地從硬碟載入。

通常一般使用者在用光碟裝完

 linux 

後,

例如

 ubuntu

系統就會自動裝好

 GRUB

就像

 Windows 

系統一樣。然而如果有某種原因被毀損了,最常見的是在同個硬碟想有

 dual 

system

,先

裝好

 linux 

再裝

 Windows

Windows 

會很不客氣毫不猶豫地直接蓋掉

 GRUB

你的

 linux 

就此無法開機,

這時就需要重建

 GRUB 

了?

 

 

如何重建

 GRUB 

的步驟如下:

 

?

 

使用原來的

 linux 

安裝光碟開機。

現代的系統都是

 live-cd

即開機光碟

 boot 

完就是可操作的

系統。

  

?

 

開一個終端機程式,可以輸入命令。

  

?

 

執行

 sudo grub

,回答密碼。

  

?

 

grub> find /boot/grub/stage1

,它會找原來裝

 GRUB 

的硬碟分區,例如

 (hd1,0)

,即第二個硬

碟的第一個分區。

  

?

 

grub> root (hd1,0)

,告訴它

 linux root 

在哪裡。

  

?

 

grub> setup (hd0)

,安裝

 GRUB 

在第一個硬碟的

 MBR (Master Boot Record)

。把

 Windows 

 

bootloader 

蓋掉? 之後可以在

 GRUB menu 

中加入進

 Windows 

系統的選項,本文不討論這個。

  

?

 

grub> quit

,結束,這樣就完成

 GRUB rebuild

,可以

 reboot 

了。

  

另一作法是把

 GRUB 

安裝在硬碟分區裡,例如

 grub> setup (hd1,0)

,安裝

 GRUB 

在第二個硬碟的第一

個分區,而不是

 MBR

。這種方法可以使用

 Windows 

 boot 

loader 

來作

 dual 

system 

啟動,我就是這

麼作的,下回再來介紹

阅读(876) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Linux中GRUB引导故障的修复

给主人留下些什么吧!~~