boot分区错误,更新不了内核!!!
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 259
- 注册时间: 2009-07-30 20:20
-
- 帖子: 259
- 注册时间: 2009-07-30 20:20
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
Re: boot分区错误,更新不了内核!!!
又做了几个试验,发现一些规律,忍不住炫耀一下
1. BCD里面记录的,确实是分区GUID,而非 C: D: ... 盘符。而通过 bcdedit 或 easyBCD 查看到的
osdevice partition=C:
是经过“翻译”的, bcdedit 把 GUID 翻译成该分区在当前环境下的盘符
2. GUID 确实与 MBR 有关。我重复楼主的操作,在 dos 用 diskgen 2.0 重写硬盘主引导记录(MBR)后,win7果然不能启动,bootmgr找不到系统盘了。应该是GUID变化导致的。
linux 中,分区 UUID 与MBR无关。而微软把 GUID 和 MBR 扯在一起,不知道是怎么想的。或许是出于技术考虑。但客观上给 win7 与 linux 双系统用户造成了麻烦:安装 linux ,可以,安装 GRUB 不会碰触到 MBR 中与 GUID 有关的关键字段,此时 win7 可以正常启动;然而,当 GRUB 出了问题,想恢复微软MBR,可要小心了,过去惯用的 fdisk /mbr 、diskgen重建MBR 方法都有问题了。
3. 85 楼 billbear 的方法是可行的。我试着把 bootmgr、boot 和 sources 移到D盘,从C盘启动GRUB4DOS (这一点很重要,后面详述),chainloader (hd0,4)/bootmgr ,boot ,即可进入 win7 PE ,修复引导。
这一点上比 xp 先进了。xp 的启动器只能从第一活动主分区载入 boot.ini。而从试验结果看, bootmgr 会默认加载同分区中的 boot\BCD ,这借鉴了 grldr 默认加载同分区 menu.lst 的特性 (呵呵,这样说有点吹捧 GRUB4DOS ,不过,的的确确是 GRUB4DOS 最先引入这一特性)。而从ISO中取来的 BCD ,又默认加载同分区中的 sources\boot.wim :
这样一来,bootmgr、boot 、sources 不再限制于主分区,放在逻辑分区也可以启动

1. BCD里面记录的,确实是分区GUID,而非 C: D: ... 盘符。而通过 bcdedit 或 easyBCD 查看到的
osdevice partition=C:
是经过“翻译”的, bcdedit 把 GUID 翻译成该分区在当前环境下的盘符
2. GUID 确实与 MBR 有关。我重复楼主的操作,在 dos 用 diskgen 2.0 重写硬盘主引导记录(MBR)后,win7果然不能启动,bootmgr找不到系统盘了。应该是GUID变化导致的。
linux 中,分区 UUID 与MBR无关。而微软把 GUID 和 MBR 扯在一起,不知道是怎么想的。或许是出于技术考虑。但客观上给 win7 与 linux 双系统用户造成了麻烦:安装 linux ,可以,安装 GRUB 不会碰触到 MBR 中与 GUID 有关的关键字段,此时 win7 可以正常启动;然而,当 GRUB 出了问题,想恢复微软MBR,可要小心了,过去惯用的 fdisk /mbr 、diskgen重建MBR 方法都有问题了。
3. 85 楼 billbear 的方法是可行的。我试着把 bootmgr、boot 和 sources 移到D盘,从C盘启动GRUB4DOS (这一点很重要,后面详述),chainloader (hd0,4)/bootmgr ,boot ,即可进入 win7 PE ,修复引导。
这一点上比 xp 先进了。xp 的启动器只能从第一活动主分区载入 boot.ini。而从试验结果看, bootmgr 会默认加载同分区中的 boot\BCD ,这借鉴了 grldr 默认加载同分区 menu.lst 的特性 (呵呵,这样说有点吹捧 GRUB4DOS ,不过,的的确确是 GRUB4DOS 最先引入这一特性)。而从ISO中取来的 BCD ,又默认加载同分区中的 sources\boot.wim :
代码: 全选
Windows Boot Loader
-------------------
identifier {7619dcc9-fafe-11d9-b411-000476eba25f}
device ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
path \windows\system32\boot\winload.exe
description Windows Setup
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
osdevice ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
systemroot \windows
detecthal Yes
winpe Yes
ems Yes
- Hello World!
- 帖子: 3051
- 注册时间: 2008-06-23 15:19
- 系统: ���������
- 来自: 北欧某国
- 联系:
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
Re: boot分区错误,更新不了内核!!!
4. 从U盘启动修复 win7 引导,有些麻烦。因为 win7 修复程序会把修复的引导记录写入当前的启动分区。何谓 当前启动分区 ?举例来说,我有两块内置硬盘 A 和 B,一块移动硬盘,BIOS 设定从 A 启动,那么启动后,硬盘A的第一活动主分区就是 win7 认为的“当前启动分区”。加入启动时按 ESC 键进入选择菜单,选了从 移动硬盘 启动,那么,移动硬盘的第一分区就是 “当前启动分区” 。
回到正题,从U盘启动,假如是ZIP模式,即 U盘在 bios 里映射为 0x00,盘符为A,那么, “当前启动分区” 是 BIOS 设定的第一硬盘的第一分区,也就是正常的启动分区,此时修复程序会把 win7 引导写入该盘,重启后,就会进入win7菜单,一切OK。
然而,如果U盘是以HDD模式启动,那么,进入 WIN7 PE后,U盘第一分区将成为 “当前启动分区” ,修复的引导 将被写入U盘第一分区,而内置硬盘上的引导 故障依旧。当你摘下U盘,从内置硬盘启动时,依旧不能进入 win7 。移动硬盘也有类似问题。
回到正题,从U盘启动,假如是ZIP模式,即 U盘在 bios 里映射为 0x00,盘符为A,那么, “当前启动分区” 是 BIOS 设定的第一硬盘的第一分区,也就是正常的启动分区,此时修复程序会把 win7 引导写入该盘,重启后,就会进入win7菜单,一切OK。
然而,如果U盘是以HDD模式启动,那么,进入 WIN7 PE后,U盘第一分区将成为 “当前启动分区” ,修复的引导 将被写入U盘第一分区,而内置硬盘上的引导 故障依旧。当你摘下U盘,从内置硬盘启动时,依旧不能进入 win7 。移动硬盘也有类似问题。
- smallapple
- 论坛版主
- 帖子: 7868
- 注册时间: 2009-03-28 15:12
Re: boot分区错误,更新不了内核!!!
晕死
LZ的bootmgr有问题
PE 下

PE 下
代码: 全选
bootsect /mbr
bootsect /nt60 C:
bcdedit /set {bootmgr} device Partition=C:
bcdedit /set {default} device Partition=C:
bcdedit /set {default} osdevice Partition=C:
-
- 帖子: 259
- 注册时间: 2009-07-30 20:20
-
- 帖子: 259
- 注册时间: 2009-07-30 20:20
Re: boot分区错误,更新不了内核!!!
的确有点小问题,引导不了Ubuntu(修复win7后)smallapple 写了:晕死LZ的bootmgr有问题
不过现在修复好了.....
-
- 帖子: 259
- 注册时间: 2009-07-30 20:20
Re: boot分区错误,更新不了内核!!!
各位老兄,转战win7 引导了???
咋就不理我内核了.........
哭......................
咋就不理我内核了.........
哭......................
- smallapple
- 论坛版主
- 帖子: 7868
- 注册时间: 2009-03-28 15:12
-
- 帖子: 259
- 注册时间: 2009-07-30 20:20
-
- 帖子: 259
- 注册时间: 2009-07-30 20:20
- wangdu2002
- 帖子: 13284
- 注册时间: 2008-12-13 19:39
- 来自: 物华天宝人杰地灵
Re: boot分区错误,更新不了内核!!!
哇,又建楼了。
6pt的研究很精细,看来很有必要将近期研究成果专门整理,另开一贴置顶讲解win7和Linux双系统的引导问题。
楼主直接换910吧,省得为内核操心了。

6pt的研究很精细,看来很有必要将近期研究成果专门整理,另开一贴置顶讲解win7和Linux双系统的引导问题。

楼主直接换910吧,省得为内核操心了。

行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
海内生明月,天涯共此夕。
--------------------吾本独!
-
- 帖子: 259
- 注册时间: 2009-07-30 20:20
Re: boot分区错误,更新不了内核!!!
是阿,很精细。。。受益匪浅阿。。。。。。。
我都想直接换,不过还差几天阿。。。等正式版呗。。。
不过也好,如果没有出现这些问题,那我也没有学到知识阿。。。。。
linux 入手才一个月,现在出问题,学的知识更多了。。。。。
- smallapple
- 论坛版主
- 帖子: 7868
- 注册时间: 2009-03-28 15:12
Re: boot分区错误,更新不了内核!!!
终于知道LZ为什么在fixmbr后还会进入grub4dos了。
LZ不知从哪弄来的bootmgr实际上是grldr修改的,改名的 bootmgrv才是正式的 bootmgr。后来把iso中的bootmgr复制到C盘,那才解决了bootmgr的问题。
早先没想到,绕了弯路了。
LZ不知从哪弄来的bootmgr实际上是grldr修改的,改名的 bootmgrv才是正式的 bootmgr。后来把iso中的bootmgr复制到C盘,那才解决了bootmgr的问题。
早先没想到,绕了弯路了。
