关于opensuse-10.2-GM-x86_64的引导缺陷和总结

系统 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字节的引导操作系统的代码,其次是分区表以及活动分区的正确设定,最后是可启动分区需要有正确的启动文件。
如果系统被安装在逻辑分区上,也和上面说到的相同,不过是启动分区(可启动的活动分区)将引导指向了逻辑分区。

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

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

四:opensuse 10.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-11 17:23:28

openSUSE-10

2010-06-08 10:34:23

opensuse 10

2023-09-25 10:29:21

CPUAArch64x86_64

2009-06-25 09:03:42

Linux

2021-06-07 15:20:22

Linux X861MB内存BIOS

2011-08-24 15:55:04

2009-06-12 09:10:35

Windows 7微软下载

2010-06-09 13:03:00

Opensuse分区

2014-10-10 14:18:58

2012-07-11 14:34:50

OS X操作系统

2013-10-08 09:49:20

OS XOS X GM

2019-03-22 08:25:20

x86PythonARM

2014-07-04 11:29:52

CentOSLinux压缩工具

2010-06-08 17:12:55

OpenSUSE 硬盘

2012-07-11 09:44:18

OS XGM版

2013-03-08 10:36:25

XEN虚拟机 CentOS 5.8

2022-05-27 11:46:48

技术能力思考

2009-03-04 09:10:53

Windows 7Beta7048x64和703

2013-11-25 16:48:22

OpenSUSEOpenSUSE 13

2022-06-09 12:45:42

WWDC苹果MacOS 13
点赞
收藏

51CTO技术栈公众号