2012-06-11

EVENT ID : 4107

Failed extract of third-party root list from auto update cab at: <Microsoft URL>with error: A required certificate is not within its validity period when verifying against the current system clock or the timestamp in the signed file.

Cause:
There's a lot of info on this error out there in forums, and 99% of it had nothing to do with my problem.

 

4107_01

Its basically a certificate error, to get to the bottom if it you need to dig a bit deeper.

Fix:
If you have been hunting for a fix, and got here, you may of already tried some or all of these which DID NOT WORK, downloading and installing the certs from the link in the error,or deleting all your expired root certs.

1. First you need to get some detailed logging on what's failing, Click Start > Control Panel > Administrative tools > Event Viewer > Expand Applications and Services > Microsoft > Windows > CAPI2 > Right click "Operations" > Select "Enable Log" >Then reboot.

 

4107_02

2. Return to the same place in Event Viewer > And open the errors listed there, as you can see "In My Case" the problem is McAfee, after I removed McAfee and installed the latest version (8.7i with patch 3 at time of writing), the error ceased.

 

4107_03

Note: Your problem may not be McAfee, but at least you now have a better idea of what it is :)

 

SOURCE : http://www.petenetlive.com/KB/Article/0000304.htm

2012-06-10

安裝 Intel 1155 CPU 及 風扇

第一步:拉起壓桿

    下壓壓桿並向外側抽出,拉起帶有彎曲的段的壓桿,與主板成170°角度順勢將口蓋翹起,然後保持口蓋自然打開(口蓋與主板角度略大於100°)。

1155_01

    注意:主板在口蓋前端的螺絲,這個也是需要注意的細節,朋友們可以觀察下。

第二步:利用凹凸槽 對準CPU插槽

 

1155_02

    Intel二代智能酷睿處理器採用的依然是雙凹槽設計,讓用戶可以輕鬆安裝上。

 

1155_03

第三步:將壓桿勻力下扣

在口蓋需搭在主板上時,注意微調口蓋,使其可以被第一步提到的螺絲固定,利用壓桿末端的彎曲處牢固扣入扣點內。

 

1155_04

    經過以上三步操作,Intel處理器已經順利安裝到主板上了。大功告成,在輕放處理器的時候一定要一氣呵成,不可以在處理器接觸到觸點後繼續微調CPU位置。

◇ 1155/1156接口處理器安裝注意點:

◆用食指將壓桿從卡扣處側移出來,食指可以直接按壓壓桿彎曲部分;
◆壓桿抬起一定角度(與主板夾角約為170°),此時口蓋被翹起;
◆利用插槽上的兩個凸點來確定處理器安放位置;
CPU插入底座之後不要隨便晃動CPU,底座接觸不良的情況
◆先將扣蓋頂端插入主板螺絲,再順次將壓桿扣入卡扣處。

 

CPU熱量解析:

    DIY核心硬件之一的中央處理器(又稱作「CPU」),由純度極高的硅材料製造而來,每個CPU芯片中包括百萬、千萬個晶體管。例如,2007年65納米製程的Intel酷睿2 四核處理器包含5.8億個晶體管。計算機電源供電,通過主板傳遞給處理器針腳,針腳再次分配給晶體管。運算數據讓大量的晶體管高頻率工作(主頻相關知識省略),晶體管消耗了多半電能產生大量的熱量。如果不及時散出大量的熱,處理器極可能採取自動保護措施斷電。

 

CPU散熱原理:

    處理器在工作時都會產生大量的熱量,所以工程師在設計處理器時考慮到散熱問題會給每個盒裝的處理器裡放置一個散熱風扇(極少的AMD黑盒處理器沒有風扇)。CPU風冷風扇分兩種:下壓式風扇和側吹式風扇,兩種風冷風扇都是與處理器表面緊貼在一起的,利用金屬的熱傳遞性能將處理器中的熱量迅速傳遞出來,達到降低和穩定處理器溫度的作用。

 

1155_FAN_01
機箱運行時的內部溫度分佈

    綜上所述,CPU散熱風扇對整機來講是不可缺少的,處理器離開風扇會導致不可逆的損壞,諸如:縮短處理器的壽命、損傷處理器內部元件等。正確安裝散熱器才能保障整機的安全運行,下面筆者就會精選幾款代表性的CPU散熱器風扇給大家一一講解風扇的安裝方法。

Intel原裝風扇安裝的前期準備

Intel(LGA 1155、1156、775接口)原裝風扇安裝:

Intel原裝風扇採用下壓式風扇設計,原裝風扇本身自帶散熱膏,因此可以直接安裝(無需再次上散熱膏)。在安裝完 CPU 後,進行風扇的安裝。

第一步:整理風扇


1155_FAN_02

    整理風扇一定要注意風扇電源線和扣具按鈕位置,線要提前整理出來,不要讓風扇在運行工作時對線產生各種接觸,電源線初始位置一般是處於風扇裡(取出既可)。

     注意如圖所示扣具按鈕上的黑色凸起圓點要靠近風扇,如果旋鈕沒有靠近風扇請將其恢復。

第二步:調節散熱器位置

 

1155_FAN_03

    將散熱器調放到合適的位置,將風扇水平放置到處理器口蓋上方,扣具四周的扣柱(尖嘴觸角)的底部需與主板上的四個扣點對齊。

 

1155_FAN_04

    Intel處理器的主板扣孔分佈在CPU插槽附近,用戶觀察主板就可以輕鬆發現。Intel原裝散熱器在安裝前一定要看旋轉開關是否完全恢復原位(原位:圓點緊挨著散熱器的位置)。

Intel原裝風扇的安裝

第三步:按壓扣具 (分兩段 : 先壓母, 再壓公. 更安全, 更省力 --- 技嘉維修站學到的)

散熱器扣具由於採用四個扣具設計,所以最佳的安裝扣具的方法就是「對角線」按壓安裝法。順序按壓容易造成風扇受力不均,導致另兩個扣具按壓困難。

 

1155_FAN_05

    注意,按壓扣具按鈕時要加力,當聽到一聲清脆的咔嚓聲後證明按壓成功。

 

1155_FAN_06

    在安裝玩散熱器後,我們需要連接散熱器風扇的電源線(風扇的4Pin接口)插到主板的散熱供電接口。

 

1155_FAN_07

第四步:拆卸風扇

    拆卸散熱器首先需要拆卸電源線,將風扇電源線與主板分開,然後再處理散熱器扣具的拆卸。

 

1155_FAN_08

用戶學會安裝散熱器同時也要會拆卸,Intel原裝散熱器的拆卸方法有兩點需要注意。1.按照按鈕所指示的方向,將扣具柱頂端凸起圓點向散熱器外逆時針旋轉。2.待將旋轉後的扣具柱用拇指和食指用力向上抬起,將四個扣具順次取出即可。

Intel(LGA 1155、1156、775接口)原裝風扇安裝注意點:

◆首先散熱器安裝前的準備工作做好;
◆將散熱器扣具上的旋鈕復位;
◆對角線按壓旋鈕,將散熱器扣好;
◆卸載處理器時一定要先拔下風扇電源接口,再逆時針旋轉旋鈕進行風扇拆卸。

2012-06-09

RESOLVED [WIN7] Event ID: 11

On each boot the Event Viewer records the following warning (see below). I have checked the registry key at:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
and the REG_SZ value is blank. This is where the list of custom DLL's should be. The event viewer records a String Count of "0". With no DLL's being loaded via AppInit, why am I getting this warning?

 

User:          SYSTEM
Computer:      OEM-PC
Description:
Custom dynamic link libraries are being loaded for every application. The system administrator should review the list of libraries to ensure they are related to trusted applications.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Wininit" Guid="{206F6DEA-D3C5-4D10-BC72-989F03C8B84B}" />
    <EventID>11</EventID>
    <Version>0</Version>
    <Level>3</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x4000000000000000</Keywords>
    <TimeCreated SystemTime="2011-08-05T20:25:27.200853900Z" />
    <EventRecordID>328706</EventRecordID>
    <Correlation />
    <Execution ProcessID="464" ThreadID="500" />
    <Channel>System</Channel>
    <Computer>OEM-PC</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <EventData>
    <Data Name="StringCount">0</Data>
    <Data Name="String">
    </Data>
  </EventData>
</Event>

 

The warning is removed by restoring the following registry key to the default value of "0"
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\LoadAppInit_DLLs
If a program loads a DLL via AppInit it will set LoadAppInit_DLLs to "1". Problem is that when the program is uninstalled it may not change it back to "0" thus the error, regardless of whether any DLLs are actually being loaded via AppInit.

2011-12-31

如何在 Noname XPE 中加入新的 SATA 驅動程式

最近公司進了一批新的 DELL Optiplex 790 的電腦。
依照以往的習慣,會先拿一台來安裝母版環境並製作成 GHOST ,然後會利用 NoName XPE 來對其他台電腦進行 GHOST 還原的動作。

怎料,目前手上的 XPE 版本竟然抓不到這台電腦的硬碟!
然而,目前 NoName XPE 也不再出新版本了,所以看來只好自己動手來把新的驅動程式加入。
因為這次製作花了我很長的時間去找資料&研究,因此順便就在這裡做個筆記,以防往後(久久一次)要再製作時又要浪費時間。

原本在處理 XPE 時都會上 NoName XPE 論壇參考相關的步驟,無奈這次進到 NoName XPE 論壇後發現他已經成 Open Mail 的登入網頁!
也就是說 NoName XPE 論壇已經關門了嗎!?
所以,看來目前要參考資料只能到 yahoo! 部落格去參考 NoName XPE 的舊文章了。

底下就讓我們開始進入今天的重點吧~

首先,您的手上必須有一版 NoName XPE 的光碟或 ISO 檔(NoName 所提供的最後的版本是 2009/09/09 ),然後從它的根目錄下取得 RXPE.IM_ 檔。

▼ 將 RXPE.IM_ 檔抓出,放到您的「暫時工作目錄」裡。


XPE-01

▼ 利用 Winrar 或 7-ZIP 開啟 RXPE.IM_ 檔,並將 RXPE.IMG 解開。

XPE-02

再來就要利用到金田一大大所提供的中文化 MakeXPE 軟體。
檔案下載處:MakeXPE 0.99

▼ 將下載下來的 MakeXPE 解壓縮(這裡我以解壓縮到桌面上來說明),然後利用 UltraISO 或 7-Zip 這類的工具開啟之前解壓縮出來的 RXPE.IMG 檔,並將裡面的 RXPE 資料匣解壓縮到桌面上的「MakeXPE_0.99\BaseSys\NoNXPE(XP)\」資料匣裡(請將原資料夾整個覆蓋)。

XPE-03

再來,請到您的 PC/主機板的官網去取得相關的 SATA 的驅動程式。
▼ 下載回來並解壓縮後您大概會看到這樣的倒按內容。

XPE-04

 

我們可以從 TXTSETUP.OEM、iaAHCI.inf、iaStor.inf 這三個檔案中得知硬體裝置的相關資訊。
而 iaStor.sys 就是主要的驅動程式檔。

▼ 先利用 MakeCAB 把 iaStor.sys 壓縮成 iaStor.sy_ 。

XPE-05

▼ 然後複製到桌面上的「MakeXPE_0.99\BaseSys\NoNXPE(XP)\RXPE\system32\drivers」資料匣裡。

XPE-06

再來,開始編輯 txtsetup.sif 檔,請參考:xpe教學—如何新增主機板晶片驅動(銜接儲存裝置類) 一文。

從官網所提供的驅動程式資歷裡,我們先取得我們所要填入 txtsetup.sif 中的資料,如下:

[SourceDisksFiles]
iaStor.sys=1,,,,,,4_,4,1,,,1,4

[HardwareIdsDatabase]
PCI\VEN_8086&DEV_1C02&CC_0106="IASTOR"

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

[SCSI]
iaStor="Intel(R) Desktop/Workstation/Server Express Chipset SATA AHCI Controller"

但是,若是像我一樣以前就有放過舊版的 iaStor.sys ,但是又想要保留舊的驅動(因為新的驅動不一定會支援舊的設備),那麼就必須在檔名與設定上動個手腳了!

1. 先把 iaStor.sy_ 改成 iaStor03.sy_ (這裡檔名必須遵循 8+3 的格式喔!)。
2. 再來把上面的相關參數修改如下,數字的地方您可自行決定怎麼編都行。
[SourceDisksFiles]
iaStor03.sys=1,,,,,,4_,4,1,,,1,4

[HardwareIdsDatabase]
PCI\VEN_8086&DEV_1C02&CC_0106="IASTOR03";

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

[SCSI]
iaStor03="Intel(R) Desktop/Workstation/Server Express Chipset SATA AHCI Controller"

好了!大致上準備工作都已經完成了,再來就是準備要行打包的工作嘍!

開始打包之前,要請您先準備一份 Windows XP 光碟或是利用虛擬光碟之類的軟體掛載 XP ISO 檔成一個虛擬光碟,因為接下來我們會用到光碟中的 I386 資料匣。
而我的作法是乾脆將整個 I386 資料夾複製到 C:\ 下備用。

▼ 到桌面上的 MakeXPE_0.99 資料匣中執行 MakeXpe.exe ,設定好相關的位置資料、勾選相關選項後就按下「執行」開始進行轉檔動作吧。

XPE-07

▼ 開始進行轉檔動作。

XPE-08

XPE-09
▼ 轉檔完成,開始進行壓縮。

XPE-10

▼ 轉檔、壓縮完成,直接關閉這個視窗。

XPE-11

最後請將產出在 C:\ 下的 RXPE.IM_ 檔案丟到 NoName XPE 的 ISO 檔中覆蓋原始檔即可完成增加 SATA 驅動程式的工作。

將該 ISO 檔燒成光碟並於 DELL 790 上開機後即可正確抓到硬碟了。

P.S. : 2012/01/06 在 ASUS P8Z68-V-LX 上實作成功.

增加主機板晶片的銜接儲存裝置類驅動...都是在txtsetup.sif這個文件上做動作的...
這邊就舉個簡單的例子而已...其他廠牌的驅動就要你自行下功夫去查詢嚕...
加入比較簡單的晶片驅動...
只要針對txtsetup.sif內的4個區段內加入他適當的 "碼" "文字"...
不知道怎麼描述才是正確的...不過知道我說的意思就好了...
txtsetup.sif內的這4個區段分別為...
[SourceDisksFiles]
[HardwareIdsDatabase]
[SCSI.Load]
[SCSI]
這邊舉...一張VIA晶片PCI的...  AT200 硬碟雙用擴充卡為例子
只要在txtsetup.sif內的這4個區段內個別加入
[SourceDisksFiles]
viamraid.sys=1,,,,,,4_,4,1,,,1,4
[HardwareIdsDatabase]
PCI\VEN_1106&DEV_3249&CC_0104="viamraid"
[SCSI.Load]
viamraid=viamraid.sys,4
[SCSI]
viamraid="VIA RAID Controller"
再把你下載的驅動內的viamraid.SYS 放進XPE內的SYSTEM32資料夾內的DRIVER資料夾內
這樣就完成了...
當然...你可能會有疑問...這些資料是哪來的...
我只能很簡單的告訴你...
請去這晶片...
或是這張卡的官方網站下載她們的驅動程式裡面就會有這些資料了....
這邊放上舉例的驅動下載點...
http://www.upmost.com.tw/download_check.php?s_id=132
下載後...解壓縮...
at200_v550b\DRIVER\VRAIDDrv\XP\x86\VIAMRAID.INF裡面有這裝置包含的硬體識別碼(HardwareIdsDatabase)
[VIA]
%PCI\VEN_1106&DEV_3249.DeviceDesc% = viamraid , PCI\VEN_1106&DEV_3249&CC_0104
要把她們改成xpe用的格式
PCI\VEN_1106&DEV_3249&CC_0104="viamraid"
再把他放到HardwareIdsDatabase這個區段內...
at200_v550b\DRIVER\VRAIDDrv\XP\x86\viamraid.sys就是所要用到的驅動程式...
放進XPE內的SYSTEM32資料夾內的DRIVER資料夾內...
這樣就加入完成嚕...

*******************NoName Information Team*********************
再來是針對xpe內硬體識別碼的研究...
我一樣以AT200 硬碟雙用擴充卡為例子
這張卡的硬體識別碼為...PCI\VEN_1106&DEV_3249&SUBSYS_32491106
接下來以這張卡的4個硬體識別碼同時存在時來做研究...

(這4種硬體識別碼都是這張卡的硬體識別碼...只是表達的方式不一樣而已)
PCI\VEN_1106&DEV_3249
PCI\VEN_1106&DEV_3249&CC_0104
PCI\VEN_1106&DEV_3249&CC_010400
PCI\VEN_1106&DEV_3249&SUBSYS_32491106
研究一
[HardwareIdsDatabase]
PCI\VEN_1106&DEV_3249="iastor"
PCI\VEN_1106&DEV_3249&CC_0104="iastor"
PCI\VEN_1106&DEV_3249&CC_010400="iastor"
PCI\VEN_1106&DEV_3249&SUBSYS_32491106="viamraid"
這時進到xpe後可以正確識別在掛這張卡上的硬碟...
改為...
[HardwareIdsDatabase]
PCI\VEN_1106&DEV_3249="viamraid"
PCI\VEN_1106&DEV_3249&CC_0104="viamraid"
PCI\VEN_1106&DEV_3249&CC_010400="viamraid"
PCI\VEN_1106&DEV_3249&SUBSYS_32491106="iastor"
這時進到xpe後...就看不到硬碟了...
研究二
[HardwareIdsDatabase]
PCI\VEN_1106&DEV_3249="iastor"
PCI\VEN_1106&DEV_3249&CC_0104="iastor"
PCI\VEN_1106&DEV_3249&CC_010400="viamraid"
這時進到xpe後可以正確識別在掛這張卡上的硬碟...
改為...
[HardwareIdsDatabase]
PCI\VEN_1106&DEV_3249="viamraid"
PCI\VEN_1106&DEV_3249&CC_0104="viamraid"
PCI\VEN_1106&DEV_3249&CC_010400="iastor"
這時進到xpe後...就看不到硬碟了...
後面的研究我就把不打了...
跟你所想的是一樣的...
xpe在判斷硬體識別碼的時候...並不是由上往下的去掃描...
而是會匹配硬體識別碼中最完整的那一個...並掛上驅動...
由上往下的情形是在同等級的硬體識別碼同時存在時才會先掃描到的先掛載驅動...
例如說...
[HardwareIdsDatabase]
PCI\VEN_1106&DEV_3249&CC_0104="viamraid"
PCI\VEN_1106&DEV_3249&CC_0104="iastor"
這樣進xpe後就可以看到硬碟...
反之...
[HardwareIdsDatabase]
PCI\VEN_1106&DEV_3249&CC_0104="iastor"
PCI\VEN_1106&DEV_3249&CC_0104="viamraid"
這時進到xpe後...就看不到硬碟了...

2011-11-24

Grubinst 初級使用 (Grub4DOS utility)

1. 介紹
grubinst是一個用來將GRUB4DOS安裝到硬盤的MBR(或者分區的引導扇區)以及映像文件中的工具。

grubinst.exe是一個命令行方式的程序,它的功能基本上與不點的GRUB4DOS發行包中的bootlace.com(可以運行在純DOS或者Linux環境)相同,但是跟bootlace.com不同,grubinst完全是用C語言開發的,能夠在Windows NT/2K/XP、Linux和FreeBSD等操作系統下編譯並運行。

grubinst_gui.exe是grubinst.exe的圖形界面shell程序,對於那些不熟悉命令行操作的用戶來說,它提供了更友好的圖形操作界面,目前,grubinst_gui.exe只能運行在Windows操作系統(事實上是只能運行在NT/2K/XP環境)下。

另外請注意,當前版本的grubinst不支持在Windows 95/98/ME下修改硬盤的MBR,對於這些操作系統,請使用bootlace.com。

2. grubinst跟bootlace.com的區別
在bootlace.com裡,硬盤盤等設備只能用設備的BIOS識別號來表示,如0x80表示第一塊硬盤,0x81表示第二塊硬盤等等。而在grubinst中,硬盤則可以用特定的設備文件名來表示(跟grub的傳統類似),如(hd0), (hd1)...。軟驅暫時還不支持這種表示方式。

grubinst支持幾個新的選項,主要用於恢復原來的MBR。

--save-mbr=FILENAME

This option is used to save the original MBR to FILENAME 這個選項用於保存原來的MBR到文件中。

--restore-mbr=FILENAME

這個選項用來從前面保存的文件中恢復原來的MBR。

--restore-prevmbr

這個選項用來恢復保存在硬盤或者映像文件中第二個扇區的原來的MBR。

正常情況下,原來的MBR只有一個扇區,它被保存在新的GRLDR MBR中的第二個扇區中。你可以用--restore-prevmbr選項來恢復它。然而,如果原來的MBR的長度超過一個扇區,例如,你安裝了別的引導管理軟件,那麼GRLDR MBR就沒有足夠的空間保存原來的MBR。在這種情況下,你應該使用--save-mbr=FILENAME將原來的MBR保存到一個外部文件中,需要時再使用--restore-mbr=FILENAME選項從保存的文件中恢復它。

3. 用法及示例
取自grubinst 1.1的--help。

grubinst   [選項]   設備或文件
選項:

--help,-h 顯示本幫助
--pause 退出前暫停
--version 顯示grubinst版本信息
--verbose,-v 輸出詳細信息
--list-part,-l 列出設備或者文件中的所有分區信息
--save=FN,-s=FN 保存原來的MBR/引導扇區到文件FN中。
--restore=FN,-r=FN 從前面備份的FN中恢復原來的MBR/引導扇區
--restore-prevmbr,-r 恢復保存在設備或者文件第二扇區中的原來的MBR
--read-only,-t 只是模擬操作,沒有真正的寫操作(測試模式)
--no-backup-mbr 不在第二扇區中備份原來的MBR。
--force-backup-mbr 強製備份原來的MBR到第二扇區(默認選項)
--mbr-enable-floppy 在軟驅上搜索grldr(默認選項)
--mbr-disable-floppy 禁止搜索軟驅上的grldr
--mbr-enable-osbr 當分區表非法時(通常是某操作系統的引導扇區),仍然啟動原來的MBR(默認選項)
--mbr-disable-osbr 當分區表非法時(通常是某操作系統的引導扇區),禁止啟動原來的MBR。
--duce (不明白,無法翻譯)disable the feature of unconditional entrance
to the command-line.
--boot-prevmbr-first 在搜索GRLDR之前嘗試首先啟動原來的MBR
--boot-prevmbr-last 在啟動原來的MBR之前先搜索GRLDR(默認選項)
--preferred-drive=D 優先啟動磁盤編號, 0 <= D < 255.
--preferred-partition=P 優先啟動分區編號, 0 <= P < 255.
--time-out=T,-t=T 在啟動原來的MBR之前等待T秒,如果T是0xff,無限等待,默認等待5秒
--hot-key=K,-k=K 如果在啟動原來的MBR之前按下了指定鍵,則啟動GRUB。K的長度為一個字(word),也就是int16/AH=1中斷的AX寄存器值。高位字節是對應按鍵的掃瞄碼,低位字節是ASCII碼。默認按鍵是0x3920,也就是空格鍵。
--key-name=S 指定熱鍵的顯示名
--floppy,-f 如果安裝目標是軟驅,則指定這個選項。
--floppy=N 如果安裝目標是硬盤的某個分區,則指定這個選項。N用來指定分區編號:0,
1,2和3對應主分區,4,5,6,...對應邏輯分區。
--sectors-per-track=S 對--floppy選項指定每磁道扇區數,1 <= S <= 63, 默認是63.
--heads=H 對--floppy選項指定磁頭數,1 <= H <= 256, 默認是255.
--start-sector=B 對--floppy=N選項指定隱藏扇區數。
--total-sectors=C 對--floppy選項指定總扇區數,默認是0。
--lba 對--floppy選項使用LBA方式。如果軟驅的BIOS支持LBA,你可以指定這個選項。
按規定所有的軟驅BIOS都支持CHS方式,所以最好指定--chs選項。如果既沒指定
--lba也沒指定--chs,則LBA指示字節(一般是啟動扇區第3字節)的值不會被改
變。
--chs 對--floppy選項使用chs方式。如果你的軟驅BIOS不支持LBA方式,你應該指定
--chs選項。我們假定所有的軟驅BIOS都支持CHS方式,所以推薦使用--chs選項。
如果既沒指定--lba也沒指定--chs,則LBA指示字節(一般是啟動扇區第3字節)
的值不會被改變。
--install-partition=I, -p=I 安裝引導扇區到指定硬盤(或硬盤映像)的分區I。
--boot-file=F,-b=F 改變默認啟動文件名(默認是grldr)。
--load-seg=S 改變啟動文件的默認內存加載段(默認是0x2000:0)。
--grub2,-2 裝載grub2的內核g2ldr而不是grldr。
--output,-o 輸出內置的grldr.mbr(受-b參數的影響)。

示例 1: 安裝GRLDR MBR到第一個硬盤

grubinst (hd0)

示例 2: 安裝GRLDR MBR 到磁盤映像文件disk.dsk

grubinst disk.dsk

示例 3: 恢復第一塊硬盤的單扇區MBR

grubinst --restore-prevmbr (hd0)

示例 4: 安裝GRLDR MBR到第一塊硬盤並保存原來的MBR到MBR.sav文件中。

grubinst --save-mbr=MBR.sav (hd0)

示例 5: 從保存的MBR.sav中恢復原來的MBR。

grubinst --restore-mbr=MBR.sav (hd0)

示例 6: 在啟動時10秒內按下空格才加載GRUB

grubinst --boot-prevmbr-first --time-out=10 (hd0)

4. 編譯方法
要編譯grubinst,在Linux/FreeBSD下你需要GCC,在Windows NT/2K/XP下你需要mingw或者Visual C++ 6.0。

mingw:

make -f Makefile.mgw

Visual C++ 6.0:

nmake -f Makefile.vc6

Linux GCC:

make -f Makefile.lnx

FreeBSD GCC:

make -f Makefile.bsd

這裡提供的二進制代碼使用mingw編譯。

2011-11-23

使用 Grub4Dos 來做隨身碟的開機管理

這是網路上關於 GRUB4DOS, 個人認為寫得最好的一篇文章. (原文. 作者 : Timmy)
上星期買印表機時, 送了一個 1G 的 USB 隨身碟. 由於容量不小, 自己每天也都是筆記型電腦帶來帶去的, 也沒什麼東西要用這個來存放. 最後想說, 這玩意也可以拿來開機, 我只要把一些常用的程式放到上頭去, 就可以取代原本的一堆緊急救援的光碟片了, 這樣子應該會方便許多. 不過這些光碟, 有些是 DOS, 有些是 Linux, 也有些是 XPE 的程式, 如果要都放在一個隨身碟上頭, 就必須要有個開機管理的程式, 能夠在開機時選擇要進到那一個系統才可以. 所以就想到了在 Linux 中常用的 grub 這個 boot loader, 剛好也有個 DOS 版本的 grub4dos 可以使用. 所以... 就決定使用 grub4dos 來處理了.
首先使用 grubutil 裡頭的 grubinst_gui.exe 程式, 把隨身碟的 MBR 修改成使用 grub 來開機, 然後把 grub4dos 的 grldr 放到隨身碟的根目錄中, 基本上, 這樣子做之後, 就會在開機後執行 grldr 來使用 grub 了.  剩下來的, 就是設定 grub 的各種開機選項了.  只要同樣在隨身碟的根目錄中, 建立一個 menu.lst 的文字檔, 設定 grub 的各種開機選項就可以了.
首先, 如果你的隨身碟要由 DOS (Windows 98 中的 DOS) 開機, 只要把 IO.SYS, MSDOS.SYS 與 COMMAND.COM 複製到隨身碟的根目錄中, 然後在 menu.lst 中加上下面的設定:


title DOS
chainloader /io.sys

這樣子在 grub 中就會出現 DOS 這個選項了. 選擇後就會透過 IO.SYS 來做一般 DOS 開機的動作了.

接著, 我還有用 NoN 的 XPE, 把 ISO 檔案內的 SETUPLDR.BIN, RXPE.COM, RXPE.IM_ 與 RXPE.SIF 放到隨身碟的根目錄, 再把 OUTTOOL 目錄複製一份到隨身碟中, 然後在 menu.lst 中加上下面的設定:

title NoName XPE
chainloader /setupldr.bin

這樣子在 grub 中會出現 NoName XPE 這個選項, 選擇後就會載入 NoN XPE 了.

接著, 經常使用的 memtest86 軟體, 建立一個 MEMTEST86 的目錄, 把 memtest86.bin 放到這個目錄下頭, 然後在 menu.lst 中加上下面的設定:

title MemTest86 3.4
kernel /memtest86/memtest.bin (fd0)
boot

這樣子在 grub 中選擇 MemTest86 3.4 就會執行 memtest86 軟體.

接著, 在 Linux 中, 經常使用 SystemRescueCd 這個光碟, 同樣也可以放到隨身碟中. 首先建立一個 SYSRCD 的目錄, 然後把光碟內的 sysrcd.dat 放到這個目錄下, 再把光碟內 isolinux 目錄下的 rescuecd 與 rescuecd.igz (如果你習慣選擇使用其他的 kernel 也可以, 如 x86-64 的 rescue64 與 rescue64.igz)也放到 SYSRCD 目錄內. 然後在 menu.lst 中加上下面的設定:

title SystemRescueCd
root     (hd0,0)
kernel /sysrcd/rescuecd subdir=sysrcd setkmap=us video=ofonly vga=0 cdroot
initrd /sysrcd/rescuecd.igz
boot

這樣子在 grub 中選擇 SystemRescueCd 就會載入 SystemRescueCd 的內容了.

如果你有使用 Acronis True Image 這個軟體, 可以先使用這個軟體, 產生回復光碟或光碟的 iso 檔案, 然後建立一個 ATIRCD 的子目錄, 把光碟內的 kernel.dat 與 ramdisk.dat 放到 ATIRCD 的子目錄中. 然後在 menu.lst 中加上下面的設定:

title    Acronis True Image
root (hd0,0)
kernel /atircd/kernel.dat quiet
initrd /atircd/ramdisk.dat /s
boot

這樣子在 grub 中選擇 Acronis True Image 這個選項, 就會執行 True Image 了.

如果你有 Windows 98 的開機片, 也可以把開機片做成一個 image 檔案 (winimage 或 linux 下頭直接用 dd 指令就可以), 如 win98.img 然後建立一個 WIN98 的目錄, 把這個檔案放到 WIN98 目錄中, 在 menu.lst 中加上下頭的設定:

title Windows 98 Boot Disk
map --mem (hd0,0)/win98/win98.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

這樣子 grub 會弄一個虛擬的軟碟機, 把這個 image 載入會再開機.

最後, 加上一些進入 grub shell, 由軟碟機開機, reboot, halt 指令的項目:

title GRUB Command Line
commandline
 
title Floppy (fd0)
chainloader (fd0)+1
rootnoverify (fd0)
 
title Reboot
reboot
 
title Halt
halt

這樣子就完成了. 整個 menu.lst 如下:

color black/cyan yellow/cyan
default 0
 
title DOS
chainloader /io.sys
 
title NoName XPE
chainloader /setupldr.bin
 
title MemTest86 3.4
kernel /memtest86/memtest.bin (fd0)
boot
 
title SystemRescueCd
root (hd0,0)
kernel /sysrcd/rescuecd subdir=sysrcd setkmap=us video=ofonly vga=0 cdroot
initrd /sysrcd/rescuecd.igz
boot
 
title Acronis True Image
root (hd0,0)
kernel /atircd/kernel.dat quiet
initrd /atircd/ramdisk.dat /s
boot
 
title Windows 98 Boot Disk
map --mem (hd0,0)/win98/win98.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
 
title Windows 98 Boot Disk with USB support
map --mem (hd0,0)/win98/w98usb.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
 
title GRUB Command Line
commandline
 
title Floppy (fd0)
chainloader (fd0)+1
rootnoverify (fd0)
 
title Reboot
reboot
 
title Halt
halt

經過這樣子的處理, 我們可以把一堆原本開機的軟碟片或光碟片, 都整合在一個小小的隨身碟中, 只要系統有支援 USB 開機 (現在應該沒有機器是不支援的吧), 就可以執行這些程式了. 同樣的方法, 並非只有 USB 隨身碟可以使用, 也可以使用在 USB 的硬碟機上頭. 剛好公司這幾天也發給我一個 WD 2.5" 160G 的 USB 硬碟來備份我的筆記型電腦 (老闆的電腦硬碟壞了一次怕到了, 給每個主管都配一個小硬碟來備份資料), 同樣使用 grub4dos, 把這些軟體都複製過去, 一樣可以拿來開機使用.

2007/12/06:

grub4dos 0.4.3 2007/11 之後的版本, 也支援直接由 .iso 的檔案中開機, 例如我們有個 ftool_203.iso, 可以用下面的方式來開機:

title FTool 2.0.3
map --mem (hd0,0)/ftool/ftool_203.iso (hd32)
map --hook
chainloader (hd32)
boot

只要指定 hd32 或更大的數字, 就表示該 image 是一個 ISO 9660 的光碟檔, 這樣子就可以了 (不過載入動作很慢, 就算是小檔案, 也要等一段不算短的時間, 檔案如果不小... 會有機器不動了的感覺). 不過, 如果你的系統是在光碟開機載入核心之後, 還會用到光碟的內容, 可能就會有問題 (以 NoN XPE 來說, 載入核心後會找不到 OUTTOOL 的檔案, 所以除了內建在核心的軟體外, 在 OUTTOOL 的程式不會出現).

2011-11-20

開機碟製作方法 --- 軟碟, 光碟 及 USB (FLASH KEY and HDD)

 
另外一篇---使用 Grub4Dos 來做隨身碟的開機管理 , 個人感覺更棒
source : SAVE-CoCo 心得筆記
軟碟機的開機片製作

目前最新的方法,是用usb開機,再早期一點就是開機光碟製作,使用軟式磁碟的電腦,恐怕是很舊很早期的電腦才有。方法相當簡單,如果您的電腦是 windows 98 的系統,或是更早的 dos 系統,只要在命令列模式下,將軟碟片放入a: 磁碟機,再執行format a:/s 的指令即可。另外還有一個方法,就是下載磁碟影像檔,直接將此影像檔寫入到磁片即可。
軟碟影像檔下載點 : Free Boot Disks . 如 dos6.22的dos版本,或 windows98 se的dos版本. 雙擊任一個執行之。
出現以下視窗,按確定。

20100111000


將磁片放入軟碟機,再按「確定」。

20100111001
 
 
開機光碟製作

開機光碟製作的方法,以前我都是用nero再加上dos的開機磁片,但現在3.5的磁碟機已經壞掉了,所以直接在網路上找到已經製作好的ISO檔,直接將ISO檔燒到光碟片即可用來開機了。
開機光碟下載:allbootdisks

usb flash key 開機碟製作

因為 usb flash key 愈來愈普遍,而且不必使用燒錄機即可製作,所以比起製作開機光碟,更方便更容易.

但是要注意的是太舊的電腦,可能不支援usb開機的功能 (我的一部 2002 年的電腦就不行 : GA-8PE667, USB HD 可以, 但是 USB FLASH KEY 就是無法成功…)。

製作 usb flash key 開機碟,常用的兩個工具分別是hp公司出品的hpusbfw及usboot這兩個工具。


hpusbfw使用方法


下載HPUSBFW

 

將下載下來的執行檔,安裝並執行之,出現如下的畫面。
請在device項目,請選擇你要做成用usb開機的那個隨身碟。
並將"Creat a DOS startup disk"打勾。
然後在底下指定系統開機檔案,將路徑指向任一存在dos開機檔案的資料夾。( hpusbfw安裝完成後,在c:\drivekey有HPUSBF.EXE及 HPUSBFW.EXE兩個檔案,任選一個解壓縮,將路徑指定在解壓縮的資料夾即可,別懷疑這兩個檔既是執行檔,也是壓縮檔,內含dos開機所需的檔案 。),接著按下 start就開始格式化了。
將格式化好的usb碟,放入電腦,並將電腦的bios開機順序,設定優先使用usb開機,這樣就可以從usb開機了。

1-12

usboot的使用方法
hpusbfw 會將 usb 格式為硬碟的格式,開完機會出現c:,如果執行一般的維護工作,當然是沒有問題,但如果使用在特殊情況,就不如 usboot 提供更多的模擬方式,例如在沒有光碟機的電腦安裝 windows xp 時,當然無法用開機光碟來安裝,必須使用磁片安裝,這樣就必須將usb碟格式化成軟碟機的格式才行。usboot,它可以將 usb 碟格式化成硬碟、zip 碟及軟碟的不同模式。
下載usboot繁體中文版, ver 1.70 內含 MS-DOS 7.1.


使用步驟如下:

1. 解壓縮後,執行Usboot170_CHT.exe,會出現警告訊息,請先確定usb隨身碟內是否有重要資料。
2. 出現如下主畫面之後,請先選取您要格式化的usb碟,千萬不要選錯了,否則下場會很悽慘喔!
3. 再選擇欲格式化的模式,HDD(硬碟)、ZIP磁碟或FDD(軟碟)模式。
4. 按下開始,即開始格式化。

1-13
5. 操作過程中,會要求拔出usb碟再插入。

2009-01-13 08-53-34
6. 完成後一個usb開機碟就完成了。

2009-01-13 08-54-49

 

usb hdd 開機碟製作 : 請參考 如何使外接式 USB 硬碟 ( USB HDD ) 也可以開機