免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1166 | 回复: 6
打印 上一主题 下一主题

请教下 双硬盘grub的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-31 11:21 |只看该作者 |倒序浏览
我现在机器上是2块硬盘
第一块
hdc
c: d: e: f: g: h:
winxp安装在c: 里,hdc上不再有其他系统

第二块
hdd1     /boot
hdd5     /
hdd6     /home
hdd7     swap
只装有ubuntu 6.06

最近winxp有点慢了所以ghost(当时只有hdc,xinxp)还原了下,发现双系统没有出现任何问题
本以为ubuntu会起不来...



对grub这块儿一直不是很理解,上面的结果是因为grub安装在hdd的mbr上了吗?
高手们解释下吧

论坛徽章:
0
2 [报告]
发表于 2006-12-31 11:37 |只看该作者
我现在要是把hdc或hdd拆下来 机器还能正常启动吗

论坛徽章:
0
3 [报告]
发表于 2006-12-31 11:44 |只看该作者
楼主把你的GRUB文件贴出来看一下 这样才能知道

论坛徽章:
0
4 [报告]
发表于 2006-12-31 11:51 |只看该作者

回复 3楼 zd724 的帖子

title           Ubuntu, kernel 2.6.15-27-686
root            (hd1,0)
kernel          /vmlinuz-2.6.15-27-686 root=/dev/hdd5 ro quiet splash
initrd          /initrd.img-2.6.15-27-686
savedefault
boot

title           Ubuntu, kernel 2.6.15-27-686 (recovery mode)
root            (hd1,0)
kernel          /vmlinuz-2.6.15-27-686 root=/dev/hdd5 ro single
initrd          /initrd.img-2.6.15-27-686
boot

title           Ubuntu, kernel 2.6.15-27-server
root            (hd1,0)
kernel          /vmlinuz-2.6.15-27-server root=/dev/hdd5 ro quiet splash
initrd          /initrd.img-2.6.15-27-server
savedefault
boot

title           Ubuntu, kernel 2.6.15-27-server (recovery mode)
root            (hd1,0)
kernel          /vmlinuz-2.6.15-27-server root=/dev/hdd5 ro single
initrd          /initrd.img-2.6.15-27-server
boot

title           Ubuntu, kernel 2.6.15-23-server
root            (hd1,0)
kernel          /vmlinuz-2.6.15-23-server root=/dev/hdd5 ro quiet splash
initrd          /initrd.img-2.6.15-23-server
savedefault
boot

title           Ubuntu, kernel 2.6.15-23-server (recovery mode)
root            (hd1,0)
kernel          /vmlinuz-2.6.15-23-server root=/dev/hdd5 ro single
initrd          /initrd.img-2.6.15-23-server
boot

title           Ubuntu, memtest86+
root            (hd1,0)
kernel          /memtest86+.bin
boot

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title           Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hdc1
title           Microsoft Windows XP Professional
root            (hd0,0)
savedefault
makeactive
chainloader     +1





请大虾分析下  非常感谢
ps 升级过内核 所以菜单有点乱.........

[ 本帖最后由 delphis 于 2006-12-31 11:58 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2006-12-31 12:15 |只看该作者
grub里已经明确区分了hd0和hd1阿
相信mbr是写在了hd1上 所以你重装windows也没有影响到grub

论坛徽章:
0
6 [报告]
发表于 2006-12-31 12:23 |只看该作者
那就是说我现在把hd1拆下来 winxp也照样起来,hd0拆下来ubunut也照样可起来?

还是征求下各位的理论解释再动手~  哈哈

论坛徽章:
0
7 [报告]
发表于 2006-12-31 12:50 |只看该作者
个人观点:
1,启动过程是bios完成自检后调用第一个硬盘MBR中的启动代码完成的。
2,bios中会给硬盘分配一个设备号,例如C,D,E等(注意这里的设备号虽然与windows盘符命名方式一样,但一个设备号就代表一个硬盘,而不是分区),如果bios调整启动硬盘的顺序,则这个设备号也会改变,最优先启动的硬盘被命名为C。
3,Windows的ntloader是按照bios的设备顺序来寻找硬盘的。但Windows本身在ntloader之后加载的分区盘符则不一定。一般安装windows时将Windows所在盘的第一个分区命名为C,然后依次将其他硬盘的第一个分区命名为D,E等等,再其次是其他分区。但是命名也可能有其他顺序并且是可修改的。
4,Linux则忽略bios的设备号,按照IDE设备号和主从关系来决定dev编号。
5,grub依赖bios的设备号来决定hd0,1等顺序

根据以上观点,结合lz的例子,可得出以下可能:

lz的机器没有设置bios启动盘顺序或者是按照正常ide设备顺序启动,则bios的C,D,E和我们认为的硬盘1,2,3顺序相同。则此时从第一块盘的MBR启动,Grub顺序也是hd0,1,2,Grub安装在hd0上,Windows也是按照正常顺序安装。出现LZ所说的状况为LZ仅仅ghost还原了第一块硬盘的第一个分区,因此没有牵扯到MBR,Grub不受影响。
lz的机器改变了硬盘启动顺序,从第二个硬盘启动,则第二个硬盘为bios的C,grub也是安装在第二个硬盘的MBR上,但Windows本身还是将第一个硬盘命名为C的。因此ghost还原第一个硬盘后并未对第二个硬盘的MBR造成任何影响。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP