| Home | 最新文章 | 登入 | 申請網誌

裝機的痛苦經歴


個 topic 開了很久,終於「的」起心肝寫(2006-05-15)

興高采列買了新機,心想先裝 windows 讓家姐用,怎知變成極為痛苦的經歷



因為想省錢,而且又有 DVD-RW 同幾部 MP3 或 ipod 之類,沒有買 floppy drive。災難從此開始

幾年前的 windows xp,沒有我的底板的 SATA driver(ULi M5287),「正路」是在安裝時按 F6 從 floppy 載入驅動程式。但因為沒有 floppy,唯有尋找隱世醫術…

一開始時,還可用舊的 windows。根據 Adding OEM drivers to Windows Setup 一文,可藉修改 windows installation disk 的 txtsetup.sif 檔加入新 driver。要修改的以下部分︰

  • [SourceDisksFiles]︰表示要抄哪些檔案到 windows directory。有很多段,不知是否每段一樣
  • [HardwareIdsDatabase]︰SATA Controller 的 device id
  • [SCSI.Load]︰要載入的 SCSI controller
  • [SCSI]︰SCSI controller 名單
改動如下︰
[SourceDisksFiles]
m5287.sys    = 1,,,,,,3_,4,1,,,1,4
ULISATA.INF  = 1,,,,,,,20,0,0

[HardwareIdsDatabase]
PCI\VEN_10B9&DEV_5287 = “m5287″

[SCSI.Load]
m5287 = m5287.sys,4

[SCSI]
m5287    = “m5287″

試了多次,燒了多次 CD,仍認不到 harddisk(原因不明!!

之後用第二招︰$OEM$ directory,扮作 OEM 的 driver,把 driver 抄到指定地點。這又有不同款式︰$OEM$/$1 同 $OEM$/TEXTMODE,不知哪個為真,索性兩部都抄。參閱 Automating and Customizing Installations

$OEM$ directory 結構如下︰

$oem$\$1
$oem$\TEXTMODE
$oem$\$1\drivers
$oem$\$1\drivers\m5287
$oem$\$1\drivers\m5287\Disk1
$oem$\$1\drivers\m5287\m5287.sys
$oem$\$1\drivers\m5287\TXTSETUP.OEM
$oem$\$1\drivers\m5287\ulisata.cat
$oem$\$1\drivers\m5287\ULISATA.INF
$oem$\TEXTMODE\Disk1
$oem$\TEXTMODE\m5287.sys
$oem$\TEXTMODE\TXTSETUP.OEM
$oem$\TEXTMODE\ulisata.cat
$oem$\TEXTMODE\ULISATA.INF

 再修改 unattended.txt 並改名為 winnt.sif,修改以下部分︰

  • [Unattended]
  • [MassStorageDrivers]
  • [OEMBootFiles]

改動如下︰

[Unattended]
    OemPnpDriversPath=”drivers\m5287″
    TargetPath=\winxp

[MassStorageDrivers]
    “ULi SATA Controller (M1573, Windows XP/Server 2003)” = “OEM”

[OEMBootFiles]
    m5287.sys
    TXTSETUP.OEM
    ulisata.cat
    ULISATA.INF

結果,果然是自動 install—隨意 install 到舊 harddisk 的一個 FAT32 partition。但 boot 不到機,出現 0x0000007B 錯誤,更導致原本的 windows 都用不到。唯有借用 linux…

插曲︰安裝 linux︰見另文(未有)

linux 可以弄 windows install 碟嗎?據 How to Slipstream Windows Installation CD 說,可以。

於是重覆之前的步驟,燒出來的 CD 卻出現 “CDBOOT: Couldn't find NTLDR”。在 http://bootcd.narod.ru/ntbootbin_e.htm, 找到問題原因︰因為 boot sector 找不到 i386/setupldr.bin。但我明明有這檔案,mkisofs 也有加上 -N option(不加 version,”CDBOOT: Couldn't find NTLDR” 的主要成因)。試過用 k3b 也不行…

不知是否 mkisofs 有 bug,但 linux 的方法解決不到問題,唯有再用 windows 方法…在 linux 用 windows 程式?!wine 吧。

不幸的是 wine 好像要 32-bit 的 library,而 debian 所提供的,不足以 compile wine。

心灰意冷,決定放棄,大不了不用 windows!但又可能有需要,想到最後絕招︰VMWare,反正可免費 download。只要 register 即可。

在一個全新的 linux 下(compiler 都未有!!)要安裝 VMWare 也不簡單。VMWare 又是 32-bit(好像可支援 64-bit,但 Pentium D 805 不能),幸好 resolve 了一堆 dependency 問題後,順利啟動。

在 vmware 裝了 windows xp(好慢!),突然想到一個更獨特的方法︰在 vmware 下的 windows (裝到 harddisk partition)裝 M5287 的 driver,之後直接 boot。照理,這樣和將 windows 搬到另一個 harddisk 差不多,而又剛好在一篇 microsoft 的文章中見到「For SCSI-based system disks, you can prime the registry and make sure that the drivers that you want are in place by installing the SCSI controller that is used by the backup computer before you transfer the system disk contents. Windows XP PnP detects the controller, sets up critical registry entries, and copies the appropriate driver.」

於是在 vmware 的 windows 裝了 M5287 driver,再直接 boot 機…

終於成功了!! 

花了超過一星期,每日試到凌晨三、四時,終於完成!

教訓︰如果要用 windows,一定要 floppy


按此回應 回應的RSS 暫時未有引用通告  (0)


Comments »

暫時未有回應

Trackback 路徑: http://fat-penguin.mocasting.com/main/wp-trackback.php/53160


 

nice! (0)


回應

電郵地址不會被顯示

:  (必須填寫)

:  (必須填寫)

:  

:  
(必須填寫)

:  authimage

友好連結:m-Friends|HKWBBS|HKWCHAT|網上食譜|數碼攝影網

| 1