小隐的博客

人生在世,笑饮一生
随笔 - 304, 文章 - 0, 评论 - 349, 阅读 - 50万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

事情:C盘下安装了xp,I盘下安装了win7,由于种种原因,重装了xp,Windows7的引导项就没有了,开机直接进入xp系统,无奈~~

 

于是拼命找解决方法,首先想到的就是修改boot.ini文件,奈何没有用,因为

win7启动根本不读取 boot.ini(你就算删了它 win7照样正常启动,但xp启动

不了) boot.ini 是2000   xp 2003时代的玩意了,   win7   vista   2008 已经淘汰

那东西了 ,MS在xp之后的系统都采用了不同的机制,具体是什么机制呢?省略数千字....

 

 

既然修改boot.ini文件没有作用,那就用第三方软件试试,网上一搜,果真有,

像什么VistaBootPRO(E文)、EasyBCD(有汉化版)等等,而这列出的这两

个据说是最常用的,so,下载来看看,然后安装Microsoft .NET Framework ,

微软的东西...

安装完毕,重启,居然奈何还是没有用(或许是本人的技术问题),囧.~~~

还有一种方法就是用虚拟光驱加载win7的镜像,来恢复win7的启动管理器:

1.进入Windows XP,使用 Daemon Tools 加载 win7 光盘映像;
2.点击开始→运行, 输入 cmd打开命令提示符;
3.输入 X: (X代表你的虚拟光驱盘符);
4.输入 cd boot;
5.输入 bootsect /nt60 SYS (删除是nt52);

黑黑的cmd界面下一个success,心想搞定了吧,OK,重启~~~

还是没有看到启动管理器,就直接进入xp了,难道是我RP有问题??

看来还是上远景发个帖子救助下好了,可是刚才看回那个帖子,浏览的人很多,可是回答的人却一个也没有,悲剧~~~

屡敗屡战,希望,就在坚持...

转移视线,搜寻远景上的技术帖子...

哈哈...终于发现了一个好东西,bcdautofix ,(众里寻他千百度...)

下载,运行,出现了,期待已久的界面终于出现了,哈哈哈....

软件我已经上传到skydrive,外链地址:

http://cid-23fe46a3f0899f2f.skydrive.live.com/self.aspx/.Public/bcdautofix%20v1[1].0.5.rar

希望可以帮到和我遇到相同问题的朋友.

 

 

 

原文连接:http://hi.baidu.com/%C9%F1%B9%C8%B7%C9%CC%EC%C1%F7/blog/item/3f467ecaea6912f753664f3f.html 

 

 

 

另付 :

windows xp和windows 7双系统启动原理

 

 

 

了解一下windows xp和windows 7的启动原理有何不同,双系统又是如何启动的:


在windows 7+xp双系统中,windows 7使用bootmgr接管系统启动模式。电脑自检完成后,开始查找活动主分区(一般情况是C:)并加载它。


接着会继续读取活动分区下的启动配置文件(即C:\BOOT\BCD)和c:\boot.ini,根据BCD和Boot.ini存储的启动信息列出 启动菜单(也就是双系统启动菜单)。对于双系统用户通常列出“Microsoft Windows 7”和“旧版本的Windows”。


如果选择前者,Bootmgr将控制权交给windows 7系统目录下的Winload.exe (在\windows\systems下)然后开始启动windows 7。选择后者,Bootmgr将控制权交给NTLDR,接着开始读取c:\boot.ini并列出其中配置的启动菜单。


启动故障就主要出现在Bootmgr(如该文件丢失)、BCD(启动信息配置错误)、Winload.exe(该文件丢失导致Windows 7无法启动)、Ntldr(该文件丢失导致XP无法启动)这些文件上。


================另一篇介绍=============================


硬盘从00 00位置开始的512字节的MultiBootRecord(MBR,中文意为:主引导区记录)到FF FF.记录4个主分区信息. 在总共512字节的主引导扇区中,MBR的boot code占用其中的前446个字节,随后的64个字节为DPT(Disk Partition Table,硬盘分区表)。自检后,DPT把系统控制权交给硬盘第一个分区的PBR(Partition Boot Record),XP的PBR会去找这个分区的ntldr、ntdetect.com之后是boot.ini,选择启动的系统后load注册表,交控制权 给ntoskrnl,然后加载驱动,系统配置等等.


Windows 7的引导过程有所不同. 首先PBR不同。Windows 7的PBR不再找ntldr,而是找bootmgr,这个文件也是保存在硬盘第一个分区的根目录下.之后,bootmgr去找同 路径下的\boot\BCD. BCD这个文件实际是一个注册表文件,里面的数据保存了系统的引导信息,如果是多系统引导,会提供引导的界面内容. 如果是单Windows 7系统,控制权会交给winload.exe,之后再去找ntoskrnl.exe.


由此我们可以知道,在安装系统的过程中,安装程序一定会去更新PBR,以便使系统能够进入正确的引导过程.如果在装好Windows 7的机器上安装了 XP,PBR会被修改为适用于XP的,从而导致系统无法进入Windows 7的引导过程,无法进入Windows 7.


总结:1、首先要确定PBR是xp的还是Windows 7的。

2、如果PBR是xp的,活动分区必须要有:ntldr、ntdetect.com和boot.ini才可完成启动。

3、如果PBR是Windows 7的,活动分区必须要有:bootmgr和boot\bcd才可完成启动。

4、修改PBR的方法:

在命令提示符中输入:bootsect /nt60 sys

(nt60是添加启动控制台,即修改PBR为Windows 7的;若要删除启动控制台,命令为:bootsect /nt52 sys,即修改PBR为xp的。)

备注:bootsect.exe在Windows 7安装光盘的boot文件夹下


原文链接:http://www.kukafei.cn/article/1061.htm 

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
QQ交流
点击右上角即可分享
微信分享提示