openSUSE-10.2问题总结和恢复处理

系统 Linux
如果在安装系统时是按默认将GRUB引导装载程序安装到了MBR的,它是无法启动的,这是新版本的一个缺陷。这时无法从MBR启动操作系统,就会找活动分区的第一个扇区,相当于MBR中的那446字节的引导操作系统的代码。

多个活动分区的情况会取分区靠前面的。如果,在活动分区中的第一个扇区记录了如果引导系统,就会按照此信息进行引导操作系统的一系列动作。


我在自己安装openSUSE-10.2-GM-x86_64时,故意设置了一下引导装载程序GRUB,将引导同时装在了MBR和系统的root分区。安装第一阶段完成后,重启系统引导,发现有一段提示,好像是说找不到什么,然后才是从活动分区启动。由于我的SATA硬盘上的第一个主分区装的是openSUSE-10.2-GM-x86_64 ,而且只有主分区才可作为活动分区。所以能够舍MBR,取活动分区的引导区(第一扇区)。通过活动分区的引导区启动操作系统。


[总结]:

一:openSUSE 10.2MBR
MBR中有446字节的引导操作系统的代码,64字节的主分区表(最多四个),剩下2字节的是结束标志。
如果要启动操作系统,主分区中至少有一个分区为活动分区。如果有多个活动分区,取前面的活动分区为启动分区。例如 第二主分区 /dev/hda2 被设为活动分区,当引导操作系统的代码与第二主分区这个活动分区上的设置吻合(有相关的引导文件)时,就能顺利启动操作系统。否则,系统将挂起。
所以,要正常的启动系统,在硬盘上有三处设置必须正确。首先是 MBR 中的那446字节的引导操作系统的代码,其次是分区表以及活动分区的正确设定,最后是可启动分区需要有正确的启动文件。
如果系统被安装在逻辑分区上,也和上面说到的相同,不过是启动分区(可启动的活动分区)将引导指向了逻辑分区。

二:openSUSE10.2引导区
为了保险起见,每个分区的第一个扇区都是引导区。引导区是可以引导操作系统的。

三:openSUSE10.2常规解决方案
1. Windows 安装光盘启动(能启动安装程序就行),按 R 键进控制台。输入数字1或者2什么的,然后敲回车,用来选择需要修复的系统。先 help 一下, fixmbr 然后exit退出并重启就可以了。如果重启后不行,再如上面的做一次,这次不同的地方是要先 fixboot ,之后再 fixmbr 。
2. Linux 同样是重设引导装载程序。通常是使用安装程序中的修复模式。SuSE中有专门的修复方法。
常规方法失效的时,按前面的 一、二,进行排错。 fdisk -l ,如果是活动分区与要启动的分区不符,可用fdisk 中的 a命令重设活动分区。

四:openSUSE10.2从备份进行恢复
想要顺利的从备份恢复,最好是没有对分区进行修改。
备份MBR # dd if=/dev/hda of=/MBR bs=512 count=1
恢复MBR # dd if=/MBR of=/dev/hda bs=1 count=512
备份或者恢复引导区(分区的第一扇区),方法相同。不同的地方是对分区的第一扇区进行备份或者覆盖恢复的操作。例:
# dd if=/dev/hda2 of=/hda2_512 bs=512 count=1
# dd if=/hda2_512 of=/dev/hda2 bs=1 count=512
注意:命令一定要在理解的基础上进行。否则将带来灾难!!

【编辑推荐】

  1. openSUSE强大功能的系统介绍
  2. OpenSUSE11.2安装视频
  3. openSUSE 11.1硬盘安装中的错误汇总
  4. Suse linux OpenSuse有“亲属”关系么?
  5. 教你解决OpenSUSE 11.0 Gnome桌面下的声音问题
     
责任编辑:chenqingxiang 来源: chinaunix
相关推荐

2010-06-08 11:01:31

opensuse 10

2010-06-08 10:34:23

opensuse 10

2010-06-08 17:12:55

OpenSUSE 硬盘

2010-06-10 15:13:42

openSUSE升级

2010-06-11 12:27:04

openSUSE mp

2010-06-11 13:05:41

openSUSE视频

2010-06-11 09:13:20

openSUSE 网卡

2010-06-08 19:09:47

OpenSUSE网络设

2010-06-09 13:03:00

Opensuse分区

2010-06-11 16:33:21

openSUSE fl

2009-12-01 12:50:21

PHP字符处理函数

2013-01-06 10:43:07

Linux集群

2010-06-11 09:56:15

openSUSE挂载

2010-06-09 09:58:51

Opensuse qq

2010-06-10 10:11:35

openSUSE使用教

2010-06-11 17:15:18

rsync重启

2011-08-05 14:57:55

2010-06-11 13:57:27

openSUSE入门

2011-03-23 16:08:15

openSUSELAMP

2009-07-26 20:19:01

openSUSEJDKMySQL
点赞
收藏

51CTO技术栈公众号