另一硬碟顆xp加入grub - Linux

Table of Contents

→ benqm300:你先從BIOS確定順序,然後進入CENTOS,PO你的fdisk -l來
→ benqm300:還有鳥哥是說如果只有一顆硬碟的狀態,你看清楚點
推 benqm300:所以你把chainloader的+1拿掉看看,只要chainloader就好

fdisk -l的內容

IDE:
Disk /dev/hdc: 82.3 GB, 82348277760 bytes
255 heads, 63 sectors/track, 10011 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdc1 * 1 2611 20972826 83 Linux
/dev/hdc2 2612 6527 31455270 83 Linux
/dev/hdc3 6528 8444 15398302+ 83 Linux
/dev/hdc4 8445 10011 12586927+ 5 Extended
/dev/hdc5 8445 9097 5245191 83 Linux
/dev/hdc6 9098 9750 5245191 83 Linux
/dev/hdc7 9751 10011 2096451 82 Linux swap / Solaris

SATA:
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 4158 33399103+ 7 HPFS/NTFS
/dev/sda2 4159 19456 122881185 f W95 Ext'd (LBA)
/dev/sda5 4159 19456 122881153+ 7 HPFS/NTFS

鳥哥是說只有一顆硬碟我知道 所以我指令裡面是hd1不是hd0

不過還是不行XD

至於把chainloader的+1拿走也一樣不行...

會出現錯誤訊息

Error 1: Filenam must be either an absolute pathname on blocklist





推 hgs1906:device.map 檔裡面 有確定XP那顆是HD1嗎XP 是放在第0分區?

我去查device.map檔 SATA硬碟根本沒有被辨認出來 囧

裡面就只有(hd0) /dev/hdc

甚至我加了(hd1) /dev/sda

也還是不行.....

: 如果我沒記錯的話ide是搜尋 pri master -> sec master -> pri slave -> sec slave
: 所以會以ide開機,再讀入上面的mbr
: 用兩顆硬碟以上是有點麻煩,因為要看進入grub之後grub辨認的硬碟順序
: 你可以在grub> 底下用find去搜尋/boot所在的磁區來確定sata到底是 hd? 多少(見鳥哥)

這邊我看了鳥哥還是不知道怎麼找耶...

不過device.map裡面沒有我看應該也是找不到吧XD

: 這硬碟順序可能會受到BIOS, BIOS裡設定是ide模式還是ahci,
: 以及有沒有額外的ide or sata晶片所影響,很容易搞混 orz

結果後續開機又發生了一連串的事情...

我讓電腦只接SATA硬碟開機

結果他在開機的時候 是位在primary master....= =

之後我關機 再接上IDE硬碟

順序又變成跟之前一樣 也就是SATA又跳回primary slave 其餘不變

而且開機的時候 電腦直接進入了XP....現在這是哪一招

XP裡面則完全看不到有關於IDE硬碟的訊息(在磁碟檢測看不到)

後來我又讓電腦只接IDE 進入了centos之後

關機再接上SATA開機

又變回最先的情形 也就是進入grub 可進centos無法進xp

現在到底是怎麼一回事啊...請各位大大替小弟解惑Orz

--

All Comments

Heather avatarHeather2010-11-16
可能是bios設定的問題,有些主機版不同sata插槽會有不同的設定
Mia avatarMia2010-11-17
還有的bios會自動改sata的模擬方式 很多是為了方便XP的使用者