简单来说 开此文是要说说双系统启动的疑问....
我有一颗SATA和一颗IDE硬碟
SATA装XP。IDE装Suse 两颗硬碟可由bios设定启动顺序
所以..设定SATA作启动 就只会进XP完全读不到Grub去进入Suse
设定IDE作启动 就可以正常启动grub进入Suse-linux 但grub启动选单选择XP是进不了XP的...
明明menu.lst就没设定错,却进不了XP。 这情况只有装ubuntu不会发生(最近试用好几版linux)
** 以下是我的硬碟分区资料
*BIOS设定IDE启动*
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc95f0520
Device Boot Start End Blocks Id System
/dev/sda1 * 1 6527 52428096 7 HPFS/NTFS
/dev/sda2 6528 6919 3148740 c W95 FAT32 (LBA)
/dev/sda3 6920 28443 172891530 7 HPFS/NTFS
/dev/sda4 28444 30401 15727635 5 Extended
/dev/sda5 28444 30401 15727603+ bc Unknown
Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc442934a
Device Boot Start End Blocks Id System
/dev/sdb1 1 4864 39070048+ 7 HPFS/NTFS
/dev/sdb2 * 4865 9729 39078112+ f W95 Ext'd (LBA)
/dev/sdb5 8392 9729 10747453+ b W95 FAT32
/dev/sdb6 4865 5126 2104452 82 Linux swap / Solaris
/dev/sdb7 5127 6432 10490413+ 83 Linux
/dev/sdb8 6433 8391 15735636 83 Linux
Partition table entries are not in disk order
------------------------------------------------------------------------
*设定SATA硬碟作为启动时的分区表就不用管了,反正跟另一颗IDE是搭不着的。
*以下为 /boot/grub/menu.lst 内容*
# Modified by YaST2. Last modification on Fri Sep 12 00:23:54 CST 2008
default 0
timeout 8
gfxmenu (hd0,6)/boot/message
##YaST - activate
###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0 - 2.6.25.16-0.1
root (hd0,6)
kernel /boot/vmlinuz-2.6.25.16-0.1-default root=/dev/disk/by-id/scsi-SATA_ST380013A_5JVLDWE1-part7 resume=/dev/sdb6 splash=silent showopts vga=0x317
initrd /boot/initrd-2.6.25.16-0.1-default
###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.0 - 2.6.25.16-0.1
root (hd0,6)
kernel /boot/vmlinuz-2.6.25.16-0.1-default root=/dev/disk/by-id/scsi-SATA_ST380013A_5JVLDWE1-part7 showopts ide=nodma apm=off acpi=off noresume edd=off x11failsafe vga=0x317
initrd /boot/initrd-2.6.25.16-0.1-default
###Don't change this comment - YaST2 identifier: Original name: windows 1###
title Windows XP
rootnoverify (hd0,6)
chainloader (hd1,0)+1
---------------------------------------------------------------------------------
我只知道 因为两颗硬碟可以由BIOS设定哪一颗作为优先启动,可能会导致Grub识别错误或混乱
但是 我比较想知道为何ubuntu却可以做到启动XP?(当时我是设定IDE作优先启动)
不过我不喜欢ubuntu的介面,没亲和力,尤其是终端机介面,Suse的终端机介面就好看很多,很有质感!
我在想会不会是ubuntu安装时,Grub安装时另外加入硬体id识别,所以才能启动XP?
因为我有特地看了一下ubuntu下Grub的 /boot/grub/menu.lst 内容,里面关于XP有多了硬体id识别码
我原本有备份下来,但是重装Suse时被格式化掉了。
以上问题期望这里的高手大大们为小弟解惑!感激~
beta402 于 2008-10-05 14:51:15发表:
贴上偶的 menu.lst 希望有帮助
为1 SATA硬盘,2 ATA 硬盘分别安装了 windows XP ,Ubuntu, suse 10.0 , Debian 4.0和 Foresight 2.0
使用suse安装的Grub1.5引导系统,初装时 无法引导Debian 和foresight ,后修改menu.lst实现所有系统的引导。
# Modified by YaST2. Last modification on 五 10月 3 20:52:26 CST 2008
color white/blue black/light-gray
default 3
timeout 8
gfxmenu (hd1,5)/boot/message
###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE Linux Enterprise Desktop 10
root (hd1,5)
kernel /boot/vmlinuz root=/dev/hda6 vga=0x314 resume=/dev/hda5 splash=silent showopts
initrd /boot/initrd
###Don't change this comment - YaST2 identifier: Original name: Debian GNU/Linux, kernel 2.6.18-6-686 (/dev/hda3)###
title Debian GNU/Linux, kernel 2.6.18-6-686 (/dev/hda3)
kernel (hd1,2)/boot/vmlinuz-2.6.18-6-686 root=/dev/hda3 ro
initrd (hd1,2)/boot/initrd.img-2.6.18-6-686
###Don't change this comment - YaST2 identifier: Original name: Ubuntu, kernel 2.6.12-9-amd64-generic Default (/dev/sda3)###
title Ubuntu, kernel 2.6.12-9-amd64-generic Default (/dev/sda3)
kernel (hd0,2)/boot/vmlinuz root=/dev/sda3 ro quiet splash
initrd (hd0,2)/boot/initrd.img
###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
chainloader (hd0,0)+1
###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE Linux Enterprise Desktop 10
root (hd1,5)
kernel /boot/vmlinuz root=/dev/hda6 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd
###foresight
title ForeSight (/dev/hda8)
kernel (hd1,6)/vmlinuz-2.6.25.9-2-fl.smp.gcc4.1.x86.i686 root=/dev/hda8 ro quiet splash
initrd (hd1,6)/initrd-2.6.25.9-2-fl.smp.gcc4.2.x86.i686.img
sean666 于 2008-10-05 02:28:55发表:
title Windows XP
map (hd0,0) (hd1,0)
map (hd1,0) (hd0,0)
rootnoverify (hd1,0)
chainloader +1
makeactive
boot
--------------------------------------
以上为正确可启动双系统OS!
一些资讯提供有此类问题的网友…
因为我是sata装XP,IDE装SUSE
Bios可以设定哪一颗硬碟做为优先启动
所以就必须给Grub一个重要的指令码 ↓
map (hd0,0) (hd1,0)
map (hd1,0) (hd0,0)
以上两行指令码是告诉Grub两颗硬碟的开机磁区相等
也就是(hd0,0) =(hd1,0) (hd1,0) =(hd0,0)
map 是指令(hd0,0) (hd1,0)& (hd1,0) (hd0,0)是参数
这样Grub就会两颗硬碟的开机磁区都去找!
当然…只有一颗硬碟的就不必这样做了!
另外…Suse11 预设安装完之后、以及使用它的‘开机载入’程式设定
它会把windows的开机磁区写成和安装Grub的磁区为同一个
以我这个例子…Grub是安装在(hd0,6)
设定略过档案系统检查时它也会设定成和安装Grub的磁区为同一个
所以往上看一下开版文就会发现‘rootnoverify (hd0,6)’是错误的
(此顺便回答楼上第2个问题)
同样都是Grub1.5版本,Suse 和 Ubuntu 却一个会犯错,没空去搞懂它。
beta402 于 2008-10-04 22:22:45发表:
这天刚好研究了多系统多硬盘的安装导致系统引导错误的问题
对于LZ的问题,有两处存在问题:
1、80G硬盘的分区表是否错误?
/dev/sdb2 * 4865 9729 39078112+ f W95 Ext'd (LBA)
这里的可引导的标记居然在sdb2分区,即在windows下的扩展分区,这也许就是Grub引导不能进入XP系统的原因。
2、menu.lst里关于Xp系统的部分
rootnoverify (hd0,6) 这也有问题。
netviewer 于 2008-09-21 08:19:24发表:
以上言论,没看清原文。
netviewer 于 2008-09-21 08:04:02发表:
suse 装于ide,grubby于ide,
xp装于sata,boot.ini于sata,
ide---》grub---{sueu,
{boot.ini---》xp,
stat---》boot.ini---》xp,
ok了。
太平桥 于 2008-09-13 12:36:07发表:
有可能是 grub 无法读取Windows 所在分区。
本人愚见,你的分区有点混乱。
两个盘共分了大概 9 个区,80G 硬盘的 boot 位置也看不明白。
建议独立 /boot 分区 并设置为主分区。