2007年12月22日 星期六

XP on EeePC SD Carder

目的:保留原來EeePC的超好用OS,並安裝Windows XPSD卡上以備不時之需

成果:整個安裝好大概只會花您1.7GSD空間,原廠OS不需要刪除任何partition,開機時可自由選擇Linux or XP

步驟流程:

安裝XPEeePCSSD -> 將安裝好的EeePC備份到

需要工具:

1. Windows XP SP2光碟 (不需要用瘦身版,待會我們自己來瘦身)

2. 外接USB光碟一台(安裝XP,安裝EeePC驅動程式與恢復原廠 OS用)

3. 外接USB硬碟or隨身碟(容量請大於1G,安裝完後要轉移到SD卡上以及作備份時用)

4. The Microsoft CAB SDK: 這裡

5. 免費ISO製作軟體N-lite,你可以在這裡download1.4版: 這裡

6. EeePC光碟片與使用手冊

7. Hitachi Microdrive Filter(請拜Google大神尋找)

8. HP USB format tools :這裡

9. Ghost 8.3 DOS

10. SPFDISK磁碟分割程式DOS版本

步驟一:先製造支援USB開機的XP光碟片

參考網頁:英文網頁

(註:Mobile01上有另外兩篇,但有點小錯誤)

Mobile01-1

Mobile01-2

1. 把原版Windows XP光碟片全部copy到另外一台含燒錄機的電腦上,我假設您copyC:\XPISO

2. 解開The Microsoft CAB SDK,這裡我假設你解到C:\Temp底下

3. C:\XPISO\i386目錄裡頭copy出這幾個檔案到C:\Temp\bin上,我們要另外處理

TXTSETUP.SIF

DOSNET.INF

USB.IN_

USBPORT.IN_

USBSTOR.IN_

4. 解開USB*.in_:按開始->執行->cmd.exe 打開命令視窗,切換到目錄視窗cd c:\Temp\bin,輸入下面三行指令

cabarc x USB.IN_

cabarc x USBPORT.IN_

cabarc x USBSTOR.IN_

刪除in_檔案,請輸入del *.in_

5. 編輯TXTSETUP.SIF,一共有六個地方要改

第一部份:粗體為增加

[BootBusExtenders.Load]

pci = pci.sys

acpi = acpi.sys

isapnp = isapnp.sys

acpiec = acpiec.sys

ohci1394 = ohci1394.sys

usbehci = usbehci.sys

usbohci = usbohci.sys

usbuhci = usbuhci.sys

usbhub = usbhub.sys

usbstor = usbstor.sys

第二部分:紅字部分整行刪除

[InputDevicesSupport.Load]

usbehci = usbehci.sys

usbohci = usbohci.sys

usbuhci = usbuhci.sys

usbhub = usbhub.sys

usbccgp = usbccgp.sys

hidusb = hidusb.sys

serial = serial.sys

serenum = serenum.sys

usbstor = usbstor.sys

第三部分:粗體為增加

[BootBusExtenders]

pci = "PCI-Bustreiber",files.pci,pci

acpi = "ACPI Plug & Play-Bustreiber",files.acpi,acpi

isapnp = "ISA Plug & Play-Bustreiber",files.isapnp,isapnp

acpiec = "Integrierter ACPI-Controllertreiber",files.none,acpiec

ohci1394 = "IEEE-1394-Bus-OHCI-konformer Anschlusstreiber",files.ohci1394,ohci1394

usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci

usbohci = "Open Hostcontroller",files.usbohci,usbohci

usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci

usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub

usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor

第四部分:紅字部分整行刪除

[InputDevicesSupport]

usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci

usbohci = "Open Hostcontroller",files.usbohci,usbohci

usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci

usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub

hidusb = "HID-Parser",files.hidusb,hidusb

serial = "Treiber fr seriellen Anschluss",files.none,serial

serenum = "Enumerator fr seriellen Anschluss",files.none,serenum

usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor

usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp

第五部分:粗體為增加

[HiveInfs.Fresh]

AddReg = hivedef.inf,AddReg

AddReg = hivesys.inf,AddReg

AddReg = hivesft.inf,AddReg

AddReg = hivecls.inf,AddReg

AddReg = hiveusd.inf,AddReg

AddReg = dmreg.inf,DM.AddReg

AddReg = usbboot.inf,usbservices

第六部分:粗體為增加

[SourceDisksFiles]

usbboot.inf = 1,,,,,,_x,3,,3

bootvid.dll = 1,,,,,,3_,2,0,0,,1,2

kdcom.dll = 1,,,,,,3_,2,0,0,,1,2

6. 修改DOSNET.INF

這個檔裡頭一共有兩個[Files],不是從檔案頭第一個找到的[Files]喔,找到第二個[Files]

粗體為增加

[Files]

d1,usbboot.inf

d1,_default.pif

d1,12520437.cpx

d1,12520850.cpx

7. 修改USB.INF,有兩個地方要改,修改粗體位置

[StandardHub.AddService]

DisplayName = %StandardHub.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

StartType = 0 ; SERVICE_DEMAND_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbhub.sys

LoadOrderGroup = Boot Bus Extender

[CommonClassParent.AddService]

DisplayName = %GenericParent.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

StartType = 0 ; SERVICE_DEMAND_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbccgp.sys

LoadOrderGroup = Boot Bus Extender

8. 修改USBPORT.INF,有四個部分要修改,請修改粗體的部分

[EHCI.AddService]

DisplayName = %EHCIMP.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

StartType = 0 ; SERVICE_DEMAND_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbehci.sys

LoadOrderGroup = Boot Bus Extender

[OHCI.AddService]

DisplayName = %OHCIMP.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

StartType = 0 ; SERVICE_DEMAND_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbohci.sys

LoadOrderGroup = Boot Bus Extender

[UHCI.AddService]

DisplayName = %UHCIMP.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

StartType = 0 ; SERVICE_DEMAND_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbuhci.sys

LoadOrderGroup = Boot Bus Extender

[ROOTHUB.AddService]

DisplayName = %ROOTHUB.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

StartType = 0 ; SERVICE_DEMAND_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbhub.sys

LoadOrderGroup = Boot Bus Extender

9.修改USBSTOR.INF,只有一個地方要改,請修改粗體的部分

[USBSTOR.AddService]

DisplayName = %USBSTOR.SvcDesc%

ServiceType = 1

StartType = 0

Tag = 3

ErrorControl = 1

ServiceBinary = %12%\USBSTOR.SYS

LoadOrderGroup = Boot Bus Extender

10.新建一個檔案USBBOOT.INF,把底下的內容給剪貼進去即可

[usbservices]

HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","DisplayName",0x00000000,"USB Mass Storage Driver"

HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ErrorControl",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Group",0x00000000,"System Reserved"

HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ImagePath",0x00020000,"system32\DRIVERS\USBSTOR.SYS"

HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Start",0x00010001,0

HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","DisplayName",0x00000000,"USB 2.0 Enhanced Host Controller Miniport Driver"

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ErrorControl",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Group",0x00000000,"System Reserved"

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ImagePath",0x00020000,"system32\DRIVERS\usbehci.sys"

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Start",0x00010001,0

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","DisplayName",0x00000000,"USB2 Enabled Hub"

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ErrorControl",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Group",0x00000000,"System Reserved"

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ImagePath",0x00020000,"system32\DRIVERS\usbhub.sys"

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Start",0x00010001,0

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"Microsoft USB Universal Host Controller Miniport Driver"

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"System Reserved"

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"system32\DRIVERS\usbuhci.sys"

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"Microsoft USB Open Host Controller Miniport Driver"

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ErrorControl",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"System Reserved"

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ImagePath",0x00020000,"system32\DRIVERS\usbohci.sys"

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,1

11.切換到剛剛的dos視窗,您應該還在C:\Temp\bin裡頭,把剛剛解壓的三個檔案給壓回去

cabarc n USB.IN_ usb.inf

cabarc n USBPORT.IN_ usbport.inf

cabarc n USBSTOR.IN_ usbstor.inf

12. copy您改過與增加的六個檔案回C:\XPISO\i386底下:

TXTSETUP.SIF

DOSNET.INF

USB.IN_

USBPORT.IN_

USBSTOR.IN_

USBBOOT.INF

13.使用N-lite把改過的C:\XPISO資料夾製作一個可開機的ISO檔案

14.用您慣用的燒錄軟體把ISO檔案燒成光碟片

好了你已經完成最困難的部分了

步驟二:安裝XPEeePCSSD

1. 連上外接USB光碟機

2. 開機,按escUSB光碟開機

3. 依畫面說明安裝XP,記得在選分區時,把舊有的原廠OS分割區通通殺掉,作一個新的分割區,格式選用FAT喔,把XP安裝在這個分割區內

步驟三:安裝EeePC驅動程式

1. XP安裝好開機後,放EeePC驅動光碟到USB光碟機內,會自動提醒你安裝ACPI驅動程式,安裝後重開機

2. 重開機後,選USB光碟機,會跳出來又要您安裝ACPI,不要理他,到驅動程式的選單,選擇install all

3. 可以去吃飯看電視,等您的EeePC自動裝好驅動程式,中間過程會自動重開機幾次,不用管他(安裝音訊程式時會很久很久,不要以為當機喔)

4. 都安裝好了後,可以移除USB光碟機了

步驟四:連上網update所有的更新:

1. 打開IE,輸入http://windowsupdate.microsoft.com 依畫面說明更新

2. 我第一次更新時要有89個更新,所以又跑去看電視了

3. 更新完後重開機

步驟五:windows會跳出來告訴你您的電腦有風險,在這裡我建議安裝Avast! home小紅帽免費防毒軟體

1. 到這裡下載正體中文版:這裡

2. 順便免費註冊,取得一組序號

3. 安裝好了之後可以先上網更新病毒碼

步驟六:只裝防毒軟體當然不夠,這裡我推薦另外一個免費的防火牆Pctools Firewall

1. 到這裡下載並安裝:這裡

2. 我是選擇不裝spyware

3. 重開機

步驟七:現在SSD快被裝滿了,我們來開始瘦身

1. 開始 -> 控制台 -> 新增或移除程式 -> 新增移除window元件

2. 我是把windows messagermedia player都給移除掉

3. 打開EeePC使用手冊,照著上面的說明把那些檔案殺光光,C:\windows\help底下有個tour目錄是殺不掉的,就留著他吧

步驟八:繼續安裝常用的程式,我在這個階段安裝的大多是免費軟體

1. 免費的看圖軟體Irfan view這裡,同樣這裡有中文化可以下載

2. 新酷音輸入法,這裡

3. unicode補完計畫(請自行到巴哈姆特下載,安裝時桌面與輸入法我用不著就都沒安裝)

4. 免費影音播放軟體與codec,我是選擇kmplayer,大部分的格式含realplay的檔案與quicktime的檔案都可以在網路上面找到,請拜google大神搜尋一下

5. 免費Acrobat pdf reader

6. 免費cutepdb writer

7. 免費FBReader電子書reader

8. 上網更新adobe flash playershockwave player

步驟九:Office

1. 您可以選擇免費的openoffice,不過我有正版的office 2003所以接下來我安裝的是microsoft office 2003

2. 安裝時選擇自訂安裝,僅安裝常用的outlookpower point excelword

3. 在各元件安裝時同樣選擇自訂,不需要的東西不要裝,比方說wordperfect轉換,各種輸入法等等

4. 整個選好後預估安裝大小是330MB,您應該也差不多

5. 安裝好了後,可以把暫存檔等等給刪除

步驟十:這個步驟是給那些已安裝1G以上記憶體的人操作,為減少SD卡與SSD卡的讀寫次數,未加Ram的人請跳過這步驟

1. 下載並安裝免費的Gavotte Ramdisk

2. 解開後點擊ramdisk.exe,選擇install ramdisk -> Size384MB -> 型態選fixed media,重開機,我假設您是把Ramdisk安裝在R:\

3. 到控制台->系統->進階->效能選項->進階->虛擬記憶體:把C碟的虛擬記憶體取消,在R碟上安裝虛擬記憶體,大小為自訂,上下限都輸入256MB

4. 重開機後,設定系統變數到Ramdisk:

控制台 -> 系統 -> 進階 -> 環境變數

1. 使用者變數TEMPTMP都設到ramdisk裡頭去,比方說R:\Temp

2. 系統變數TEMPTMP也都設到ramdisk裡頭去,可以跟使用者變數使用同一個目錄R:\Temp

5. Internet暫存檔也挪到Ramdisk裡頭

控制台 -> 網際網路選項 -> 一般 -> 瀏覽歷程資料設定 -> 使用磁碟空間設定為50MB

控制台 -> 網際網路選項 -> 一般 -> 瀏覽歷程資料設定 -> 移動資料夾到R:\Temp

6. Ramdisk大小與裡頭我所有的設定,請依據您實際的Ram大小來作增減

步驟十一:變更SD卡屬性

1. 解開Hitachi Microdrive Filter,我假設您解到C:\Temp

2. 修改cfadisk.inf

紅字部分刪除,粗體部分增加

[cfadisk_device]

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-11000__________________________SC2IC801

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-11000__________________________SC2IC815

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-11000__________________________SC2IC915

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-10512__________________________SC1IC801

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-10512__________________________SC1IC815

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-10512__________________________SC1IC915

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DMDM-10340__________________________MD2IC501

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DMDM-10340__________________________MD2IC601

%Microdrive_devdesc% = cfadisk_install,USBSTOR\DiskUSB2.0__CardReader_SD0__0100

3. 更新SD讀卡機驅動程式

控制台->系統->硬體->裝置管理員->磁碟機->SD Carder 右鍵->更新驅動程式->不要使用更新精靈->從選單或特定位置安裝->不要搜尋,選擇安裝驅動程式->從磁片->選擇C:\Temp

4. 重開機

5. 再依說明書檢查一次是否可以瘦身

6. 好了之後現在可以關機了

到這裡大致上都完工了,接下來就準備把這個SSD整個移轉到SD卡上

步驟十二:Clone SSD to SD

1. 接上外接的USB HDD或是USB隨身碟(最好大於1G

2. 將下載好的HP USB disk tools安裝好,並到C:\DrivekeyHPUSBFW.exe給解壓縮在C:\Drivekey\HPUSBFW底下

3. 執行桌面上的HP USB Disk Storage Format Tool,選擇好你的USB HDD

File system : FAT32

Format option : quick format

Create a dos startup disk:指向C:\Drivekey\HPUSBFW

4. 將準備好的Ghost 8.3 doscopy進去USB HDD or USB 隨身碟

5. EeePC裝好USB HDD/隨身碟,將SD卡插入EeePC的讀卡機,開機按Esc選擇USB HDD/隨身碟開機

6. Dos下執行Ghost.exe

7. 第一次建議先選Disk to Image,把SSD卡整個Ghost到您USB HDD/隨身碟上去保存好,以防不時之需

8. 第二次再選Disk to Disk,把SSD卡整個複製到SD卡上

9. 重要!退出後,同樣在DOS下使用SPFDISKSSD上的分割區都給殺掉避免待會由SD開機時去讀到

10.拔掉USB HDD/隨身碟,EeePC重開機按escSD Card開機,應該是可以成功的,大概花上140秒左右

步驟十三:成功進 XP後,到裝置管理員把SSD停用,待會我們要恢復SSD上的原廠Linux

步驟十四:恢復SSD上的原廠Linux

1. 接上USB光碟機,放入EeePC驅動光碟

2. 開機,按EscUSB光碟機開機

3. 進去後輸入yes開始恢復原廠OS

大功告成,很累吧!

附記1SD卡最好選速度快的,我試了兩張一個是創見Class 6 8GSDHC,一張是創見150x 4G都沒有問題,時間也差不多在140秒左右

附記2:當原廠OS恢復成功,SD卡也可以進XP時,建議利用剛剛那個USB HDD/隨身碟,再把SDghost起來,Disk to Image,這是你的recover碟很好用喔

後記:

SSD上主力的Linux系統,剩餘空間1,108MB

SD卡上備用的XP系統,創見SLC 150x 4G的卡剩餘空間2,240MB,可以把一些檔案放到這裡頭來給Linux/XP讀取,不夠時把卡換成8G的就好了

Media file就放在USB隨身碟上要多少有多少,只要財力夠的話

沒有留言: