boot分区错误,更新不了内核!!!

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
djyuzi
帖子: 259
注册时间: 2009-07-30 20:20

Re: boot分区错误,更新不了内核!!!

#121

帖子 djyuzi » 2009-09-12 0:05

嗯嗯,祝你有个好梦.....
djyuzi
帖子: 259
注册时间: 2009-07-30 20:20

Re: boot分区错误,更新不了内核!!!

#122

帖子 djyuzi » 2009-09-12 0:48

忘了说了,同样的内核,虚拟机可以用,本机就和上面说的一样。。。其他正常,就是没有登录界面和鼠标。。。。
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

Re: boot分区错误,更新不了内核!!!

#123

帖子 ptptptptptpt » 2009-09-12 9:53

又做了几个试验,发现一些规律,忍不住炫耀一下 :em04

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
这样一来,bootmgr、boot 、sources 不再限制于主分区,放在逻辑分区也可以启动
头像
Hello World!
帖子: 3051
注册时间: 2008-06-23 15:19
系统: ���������
来自: 北欧某国
联系:

Re: boot分区错误,更新不了内核!!!

#124

帖子 Hello World! » 2009-09-12 10:22

121楼的兄弟,换个头像吧。吓到小朋友就不好了。。。
http://noie.name 网站改版中。
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

Re: boot分区错误,更新不了内核!!!

#125

帖子 ptptptptptpt » 2009-09-12 10:22

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 。移动硬盘也有类似问题。
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: boot分区错误,更新不了内核!!!

#126

帖子 smallapple » 2009-09-12 11:03

晕死 :em20 LZ的bootmgr有问题

PE 下

代码: 全选

bootsect /mbr
bootsect /nt60 C:
bcdedit /set {bootmgr} device Partition=C:
bcdedit /set {default} device Partition=C:
bcdedit /set {default} osdevice Partition=C:
djyuzi
帖子: 259
注册时间: 2009-07-30 20:20

Re: boot分区错误,更新不了内核!!!

#127

帖子 djyuzi » 2009-09-12 12:47

哇哈哈........

:em09 :em09 :em09

6PT兄的试验对我来说,真是太有用了.......
间接帮我解决了很多问题......

djyuzi
帖子: 259
注册时间: 2009-07-30 20:20

Re: boot分区错误,更新不了内核!!!

#128

帖子 djyuzi » 2009-09-12 12:49

smallapple 写了:晕死 :em20 LZ的bootmgr有问题
的确有点小问题,引导不了Ubuntu(修复win7后)
不过现在修复好了.....
djyuzi
帖子: 259
注册时间: 2009-07-30 20:20

Re: boot分区错误,更新不了内核!!!

#129

帖子 djyuzi » 2009-09-12 12:50

各位老兄,转战win7 引导了???

咋就不理我内核了.........
哭......................
djyuzi
帖子: 259
注册时间: 2009-07-30 20:20

Re: boot分区错误,更新不了内核!!!

#131

帖子 djyuzi » 2009-09-12 14:53

谢谢你,下载试试。。。

我在 http://kernel.ubuntu.com/~kernel-ppa/mainline/ 下载的安装没有什么问题。。。
就是启动不了Xorg。。。。
djyuzi
帖子: 259
注册时间: 2009-07-30 20:20

Re: boot分区错误,更新不了内核!!!

#132

帖子 djyuzi » 2009-09-12 15:14

一样不行。。。。。

虚拟机更新内核正常。。。

本机更新就不正常,应该系统问题的了。。。。。。
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: boot分区错误,更新不了内核!!!

#133

帖子 wangdu2002 » 2009-09-12 15:22

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

楼主直接换910吧,省得为内核操心了。 :em03
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
djyuzi
帖子: 259
注册时间: 2009-07-30 20:20

Re: boot分区错误,更新不了内核!!!

#134

帖子 djyuzi » 2009-09-12 15:24


是阿,很精细。。。受益匪浅阿。。。。。。。



我都想直接换,不过还差几天阿。。。等正式版呗。。。

不过也好,如果没有出现这些问题,那我也没有学到知识阿。。。。。

linux 入手才一个月,现在出问题,学的知识更多了。。。。。
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: boot分区错误,更新不了内核!!!

#135

帖子 smallapple » 2009-09-12 15:44

终于知道LZ为什么在fixmbr后还会进入grub4dos了。

LZ不知从哪弄来的bootmgr实际上是grldr修改的,改名的 bootmgrv才是正式的 bootmgr。后来把iso中的bootmgr复制到C盘,那才解决了bootmgr的问题。

早先没想到,绕了弯路了。 :em06
回复