ubuntu引导与XP引导修复

一、XP的引导与修复:

XP的引导很简单,通常是这样的模式:

通常我们的XP是利用MBR(它不属于任何一个分区,它位于硬盘的第一个扇区,即主引导扇区)来引导的,

--》MBR引导程序会将活动分区(XP的安装区,一般是C盘)的引导扇区装入内存

--》引导扇区(C盘)中的文件NTLDR被装入内存--》NTLDR读取boot.ini菜单(boot.ini罗列了许多启动项,用户可以选择一个启动项,通常我们的电脑有XP/GHOST两个启动项)

--》如果是选择NT/XP,NTLDR会运行Ntdetect.com(ntdetect.com只为NTLDR提供硬件参数)

-》开始启动(在NTLDR将控制权交给XP后)


总结下上述过程:MBR-->引导扇区(C盘的第一扇区)-->NTLDR(boot.ini,ntdetect.com)->启动XP。

其中,ntdetect.com只是启动NT内核的OS时所需要的.

更多内容请参看:http://baike.baidu.com/view/161134.htm

 

任何一个环节出错都不行,下面给出修复方法:

1、启动XP的mbr损坏:

方法一、插入WINDOWS安装光盘,进入恢复控制台,输入:fixmbr 或者fdisk /mbr即可。(在WIN7光盘下:可用这个命令:bootsect /nt60 SYS /force /mbr ,这个bootsect类似XP下面的FIXBOOT FIXMBR)

 

方法二、如果是GHOST光盘,是没有恢复控制台的,但是它一盘会在DOS工具中提供类似fixmbr的命令。只不过名字可能不会是fixmbr(好像叫mbrfix),大家进入光盘的DOS工具箱看看便知。

 

方法三、从光盘进入WINPE,再用WINPE的CMD下运行:MbrFix /drive 0 fixmbr即可,我怀疑这个同b中提到的GHOST光盘中的类fixmbr命令是如出一辙。MbrFix请到这里下载。 值得一提的是,2000/2003/VISTA使用的是同一个MBR程序,冒似WIN7也是用的这个MBR。

http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=189240

http://www.ylmf.net/read.php?tid=1496366&fpage=0&page=1

 

2、系统分区引导扇区的损坏:

插入WINDOWS安装光盘,进入恢复控制台,输入:fixboot即可。GHOST光盘好像没有提供此类命令,反正我的几张光盘里面都没有,最后还是为了一个fixboot去买了一张原版的光盘。

 

3、引导文件的损坏:

在别人的电脑,或者是从网上,下载: boot.ini(其实这个可以自己写)、NTLDR、ntdetect.com.

然后用各种方法复制到你的C盘下:

如果不熟悉DOS命令操作的朋友,可以进入winpe(GHOST光盘上的小型XP),然后把U盘插入电脑,然后把U盘上的这几个文件复制到你的C盘下就OK!

 

以上介绍的都是最常用,最原始,最有效,最简单的方法,如果你对分区结构非常了解,也可以利用winhex等工具手动修改。

这里有个网页大家可以参考:http://www.linux-wiki.cn/index.php/修复被grub覆盖的ntfs分区引导扇区

 

-----------------------------------------------------------------

二、Ubuntu的引导修复

ubuntu一般是通过grub引导.其state1部分默认都放置在mbr,还有可能放置在分区的引导扇区。

grub分三种:grub,grub2,grub for dos(grub4dos)(见:http://bbs.znpc.net/viewthread.php?tid=2297

其中grub2入门教程大家可以参见 谷歌DOC

 

下面我对我遇到的一些问题给出一些常见的方案,我的OS是ubuntu10.04,这些方案我基本上都试过了,很有效。

 

1、如果开机进入后显示:grub rescue>

 

出现这个问题的原因是因为grub找不到ubuntu所在的分区(这种情况的原因是你调整了分区,而grub配置没有作相应的调整)。

所以需要重新指定分区。这里我直接贴出grub2引导入门教程的方案

 

PS:我的电脑出现这个问题,是因为我利用sudo fdisk /dev/sda删除了分区,分区表已经改变,更改之后,我的OS是在hd0,9.

我用    grub rescue>set 查看后,发现里面还是原来的hd0,10,然后我执行:

 

之后顺利进入ubuntu10.04,但是重启之后依然是rescue。我们需要重新调整grub。

于是我在终端下用sudo grub-install /dev/sda,重新写了GRUB到MBR。正常了!

 

 

 

2、在双系统中,重装windows后引导ubuntu

原因:

使用安装版的windows重装windows时会改写mbr,造成MBR中的grub丢失。

方案:

可以用grub4dos引导进入ubuntu,然后 再修复grub。如果手中有光盘,当然也可以livecd启动后修复grub。(具体方案请参看:grub2引导入门教程:谷歌DOC之"使用grub2常见错误及修复方法")

 

注:

这里要提醒大家的是,使用grub4dos的话一定要用最新的,至少是grub4dos-0.4.4-2009.10.16的。(我之前用的grub4dos-0.4.4-2009-01-11.zip就无法访问EXT4分区,老是提示file not found)这个问题我曾发在ubuntu论坛上:http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=273929

 

还有一个比较简单的方案:

在网上下载一个unetbtin,使用它很容易实现ubuntu的引导,也可以通过它进行linux的硬盘安装。它不会改写引导程序,所以用它很安全。它提供的是菜单式的选项,使用也比较容易的。教程见(有图,但需注册):http://ubuntuforums.org/showthread.php?t=690912

 

3、安装ubuntu时不小心把gurb安装在xp分区,而不是mbr

原因:

因为XP分区的引导扇区被grub所覆盖。这种情况下只能引导ubuntu不能引导XP,使用sudo update-grub2也不行,这条命令只会更新配置文件/boot/grub/grub.cfg(这个只是引导菜单)。

方案:

a.首先,把grub 重写到mbr,在终端下输入:

 

 

b.使用fixboot修复XP分区引导扇区,参考上面提及到的“系统分区引导扇区的损坏:”

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值