当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : GNU grub 和grub4dos引导的几个问题
帖子发表于 : 2009-01-12 23:15 

注册: 2009-01-12 21:38
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
初学linux,两块硬盘,一块新的SATA硬盘,几个分区都是NTFS的,安装了XP,一块老的IDE硬盘,几个分区出swap区外都是ext3的,安装了ubuntu,并且grub装载了IDE盘。

问题1 vmvare中直接挂载了真实的IDE硬盘,在上面装了ubuntu,然后回到真实机从这块IDE盘启动,出现Selected cylinder exceeds maximum supported by BIOS,从SATA硬盘上引导Live DVD之后进入终端,然后grub-install后还是不行,然后grub->root(0,0)->setup(hd1)就好了可以正常引导ubuntu了。

问题2 SATA硬盘上在boot.ini上用wingrub装了grub4dos,menu.lst如下:

title Windows
root (hd0,0)
chainloader +1

title installFromNTFS
root (hd0,5)
kernel (hd0,5)/linuxsetup/vmlinuz
initrd (hd0,5)/linuxsetup/initrd.img

title installFromExt
root (hd1,5)
kernel (hd1,5)/linuxsetup/vmlinuz
initrd (hd1,5)/linuxsetup/initrd.img

title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid 9f4b69b8-0dff-402c-bf3e-18b4b73cb276
root (hd1,0)
kernel (hd1,0)/boot/vmlinuz-2.6.27-7-generic root=UUID=9f4b69b8-0dff-402c-bf3e-18b4b73cb276 ro quiet splash
initrd (hd1,0)/boot/initrd.img-2.6.27-7-generic
quiet

title BootFromIDE
root (hd1,0)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1

现在从SATA盘启动进入grub4dos,选项WindowsinstallFromNTFS都正常,installFromExtUbuntu 8.10, kernel 2.6.27-7-generic执行到root后都正常,识别出了ext3分区,再往下执行kernel就出现了Bad file or directory type,路径是没有错的。
BootFromIDE直接出现Disk read error

问题3 IDE硬盘grub的menu.lst如下:

title installFromNTFS
root (hd1,5)
kernel (hd1,5)/linuxsetup/vmlinuz
initrd (hd1,5)/linuxsetup/initrd.img

title installFromExt
root (hd0,5)
kernel (hd0,5)/linuxsetup/vmlinuz
initrd (hd0,5)/linuxsetup/initrd.img

title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid 9f4b69b8-0dff-402c-bf3e-18b4b73cb276
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=9f4b69b8-0dff-402c-bf3e-18b4b73cb276 ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet

title BootFromSATA
root (hd1,0)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1

BIOS设置从IDE盘启动,选项installFromExtUbuntu 8.10, kernel 2.6.27-7-generic都没有问题,installFromNTFS会出现cannot mount selected partition,再选就会出现Selected cylinder exceeds maximum supported by BIOS,而且这时候不管选哪项都是这个提示,如果在IDE盘划出一个NTFS分区改动installFromNTFS为(hd0,6),则选多少次这项一直是提示cannot mount selected partition

选择BootFromSATA可以转到SATA盘启动,这时候跳出boot.ini中的选项,选1.Winsows XP是没有问题可以正常进入的,选2.grub则出现提示
Try (hd0,0):extend or non-MS:skip
Try (hd0,1):extend or non-MS:skip
Error


还有从SATA盘启动进入XP后,wingrub往MBR安装grub时只能选择hd1即IDE盘,而grubintl两个硬盘都可以。从linux下grub-install时选择root-directory为NTFS分区时会提示
The file /media/linux/boot/grub/stage1 not read correctly.
但是把menu.lst文件拷过去之后grub还是可以正常引导的。

现在搞得有点晕,谁来给我解释下上面种种现象的原因。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: GNU grub 和grub4dos引导的几个问题
帖子发表于 : 2009-01-13 1:28 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
你的 grub4dos 版本太老,不能读取新的 ext3 格式;
gnu grub 不能读取 ntfs;

引用:
title BootFromIDE
root (hd1,0)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1


(hd1,0) 上并没有任何引导代码, chainloader 它是没用的。 map 来 map 去也没有什么必要,又不是 windows。 makeactive 更是莫名其妙。你只要

title BootFromIDE
chainloader (hd1)+1

就好了。

引用:
选择BootFromSATA可以转到SATA盘启动,这时候跳出boot.ini中的选项,选1.Winsows XP是没有问题可以正常进入的,选2.grub则出现提示
Try (hd0,0):extend or non-MS:skip
Try (hd0,1):extend or non-MS:skip
Error

这可能隐藏着一个 bug。试试最新的 grub4dos。(2009.1.11)

引用:
从linux下grub-install时选择root-directory为NTFS分区时会提示
The file /media/linux/boot/grub/stage1 not read correctly.

你想做什么?把 ntfs 分区变成你的 /boot? 你认为会成功吗?


页首
 用户资料  
 
3 楼 
 文章标题 : Re: GNU grub 和grub4dos引导的几个问题
帖子发表于 : 2009-01-13 21:24 

注册: 2009-01-12 21:38
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
才发现google到的第一个链接即sourceforge上的grub4dos是07年的一个老版本 :em06 ,去gna下了最新的grub4dos了。
现在的新问题是从linux下往SATA盘MBR装了GNU grub并且root directory改成E:/boot/geub后,然后fix了SATA盘的MBR把GNU grub去掉后,路径现在改不会去了(原来grub4dos的menu.lst在C:/grub中),把C盘根目录下grldr删掉重新装了一个新的,结果boot菜单中选grub直接进入命令模式。看了下grldr里面是(hd0,0)/boot/grub/menu.lst,我怎么弄wingrub也无法弄到像第一次装的时候的那样默认在C:/grub/menu.lst了,难道要手动改grldr?问题是安装GNU grub时候是怎么弄的,fix MBR后还有残留,难道GNU grub也会改动grldr?
有些问题我还是去直接看源代码算了,当时也没去看文档随便在网上搜搜看看就乱改了,还是看源码最清楚,毕竟还是学过操作系统的引导和NTFS、ext的文件系统,也粗略看过往软盘上引导区写引导程序的代码。不看代码永远搞不清楚。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: GNU grub 和grub4dos引导的几个问题
帖子发表于 : 2009-01-13 22:44 

注册: 2009-01-12 21:38
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
额,要去看AT&T汇编了,不是Intel的汇编,跟以前看的DOS debug还是差别很大的。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译