GNU grub 和grub4dos引导的几个问题
发表于 : 2009-01-12 23:15
初学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,选项Windows和installFromNTFS都正常,installFromExt和Ubuntu 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盘启动,选项installFromExt和Ubuntu 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还是可以正常引导的。
现在搞得有点晕,谁来给我解释下上面种种现象的原因。
问题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,选项Windows和installFromNTFS都正常,installFromExt和Ubuntu 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盘启动,选项installFromExt和Ubuntu 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还是可以正常引导的。
现在搞得有点晕,谁来给我解释下上面种种现象的原因。