乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      XP安裝時(shí)分兩個(gè)階段

       看見就非常 2012-09-27

      添加驅(qū)動(dòng)需要的是細(xì)心,稍有疏忽,所有心血都白費(fèi)。

      你已經(jīng)明白了XP安裝時(shí)分兩個(gè)階段:Text Mode Setup和GUI Mode Setup

      Text Mode Setup前,由引導(dǎo)程序$ldr$(或Setupldr.bin)根據(jù)txtsetup.sif中驅(qū)動(dòng)列表檢測(cè)并載入最基本的驅(qū)動(dòng),

      這些驅(qū)動(dòng)只保證Text Mode Setup時(shí)能夠驅(qū)動(dòng)設(shè)備,而不能發(fā)揮設(shè)備的全部性能。

      然后Text Mode Setup時(shí)會(huì)把所需要的最基本的驅(qū)動(dòng)復(fù)制到硬盤上,以便GUI Mode Setup可以進(jìn)行。

      即使是GUI Mode Setup已經(jīng)順利載入的驅(qū)動(dòng),也沒有實(shí)際安裝,完整的驅(qū)動(dòng)安裝,都是在GUI Mode Setup啟動(dòng)后的第一階段進(jìn)行。

      GUI Mode Setup啟動(dòng)后的第一階段驅(qū)動(dòng)的安裝,保證了XP可以成功啟動(dòng)和完全發(fā)揮設(shè)備性能。

      XP自帶驅(qū)動(dòng)文件將近5000個(gè),用于Text Mode Setup只是少數(shù)。

      關(guān)鍵問題


      在txtsetup.sif中添加SATA驅(qū)動(dòng),只保證Text Mode Setup和GUI Mode Setup能夠順利進(jìn)行,而不是實(shí)際安裝驅(qū)動(dòng)。

      還必須想辦法在GUI Mode Setup時(shí)安裝驅(qū)動(dòng)。(也就是在Winnt.sif和$OEM$中添加相應(yīng)的東西)

      只做第一步,不做第二步將導(dǎo)致:安裝可以順利完成,但進(jìn)入系統(tǒng)時(shí)卻出現(xiàn)問題。

      至于Dosnet.inf,從光盤啟動(dòng)安裝時(shí)不會(huì)用到,只有當(dāng)你從Windows啟動(dòng)安裝時(shí)才會(huì)用到。

      但是當(dāng)你從Windows啟動(dòng)安裝時(shí),如果不用參數(shù)安裝,所集成的驅(qū)動(dòng)都將失效。

      在Txtsetup.sif中集成驅(qū)動(dòng)的基礎(chǔ)


      這些東西在我的另一篇文章中有提到,但能把它靈活運(yùn)用的似乎不多。

         i386/txtsetup.sif負(fù)責(zé)在Text Mode Setup階段時(shí)文件復(fù)制和文件來源路徑
         i386/driver.cab是XP原版的驅(qū)動(dòng)文件庫
         i386/sp1.cab是XP SP1版新加入的驅(qū)動(dòng)文件庫
         i386/drvindex.inf所有驅(qū)動(dòng)文件的索引
         i386/layout.inf部署文件,其內(nèi)容和Txtsetup.sif基本一樣

      首先必須先看懂Txtsetup.sif
      打開txtsetup.sif并查找hal.dll,可以找到
      hal.dll      = 100,,,,,,3_,2,3,,,1,2
      100代表什么呢,看txtsetup.sif頭部的[SourceDisksNames.x86]段
      100 = %spcdname%,%spcdtagfilei%,,/i386,1   <---100代表的是i386目錄,%spcdname%在txtsetup.sif下部有定義,有時(shí)找不到安裝盤時(shí)會(huì)提示請(qǐng)插入XXXX盤,就是這個(gè)了。而%spcdtagfilei%指的是SP1版XP識(shí)別文件,即是光盤根目錄下的win51ip.sp1
      3_代表什么呢,再看txtsetup.sif頭部[SourceDisksNames.x86]段
      3_    = %bootname3%,"%boottagfile3%",,""  <---指的是虛擬啟動(dòng)軟盤組第三塊盤
      3_之后的2表示復(fù)制到system32目錄,再看txtsetup.sif的頭部的[WinntDirectories]段:2  = system32

      細(xì)心的話,你可以發(fā)現(xiàn)有的文件來源為1,有的卻為100,其實(shí)1等同于100,但為什么要有分別呢?
      打開layout.inf,你可以發(fā)現(xiàn)它比txtsetup.sif中每項(xiàng)多了一大串?dāng)?shù)字,那串?dāng)?shù)字就是未壓縮前的文件大小
      再打開XP Without SP1版的layout.inf,你可以發(fā)現(xiàn),所有文件來源都為1,對(duì)比剛才的layout.inf,凡是來源為100的文件大小都不一樣
      這即是表示來源為100文件是SP1版XP相對(duì)于原版改動(dòng)過的文件

      auditW.chm    = 1,,,,,,,21,0,0,audit.chm  <--這表示在復(fù)制后改名為audit.chm
      channels.scf = 1,,,,,,,2,0,0,%ViewChannelsSCF% <-表示超過命名規(guī)范的文件,會(huì)在c:/留下$$Rename.txt指示文件在GUI Mode Setup階段改名
      還有一類文件象ct120d.gpd   = 1,,,,,,,,3,3<---來源1后第7個(gè)逗號(hào)之后的復(fù)制目的地為空,則表示不一定復(fù)制,在需要時(shí)再復(fù)制
      這類文件多半是驅(qū)動(dòng)和系統(tǒng)非必須組件。
      但是有4千多個(gè)驅(qū)動(dòng)文件存在driver.cab中,不在i386下,如何指示其來源呢?
      這就要靠drvindex.inf這個(gè)文件,復(fù)制時(shí)安裝程序會(huì)先在drvindex.inf中查找,如果找到則從driver.cab或SP1.cab中復(fù)制
      所以如果i386下和XXXX.cab中同時(shí)存在同名的文件,安裝程序?qū)?huì)優(yōu)先從XXXX.cab中復(fù)制

      在Txtsetup.sif中還有一個(gè)特殊的段[SystemPartitionFiles]
      用于將某個(gè)文件復(fù)制到C:盤根目錄,當(dāng)然這個(gè)文件必須在[SourceDisksFiles]中指定了來源。

      以你的例子說明在PE中集成驅(qū)動(dòng)與在XP安裝盤中集成驅(qū)動(dòng)的差別



      [SourceDisksFiles]
      si3112r.sys  = 1,,,,,,4_,4,1,,,1,4
      這句在XP安裝時(shí)的意思:si3112r.sys來源為i386,屬于虛擬啟動(dòng)軟盤組的第4塊盤(4_),目的地為system32/drivers(4 = system32/drivers)
      這句在PE中的意思:要想找到si3112r.sys,必須從system32/drivers中尋找。
      為什么是4_ ?  因?yàn)榘凑諔T例microsoft把驅(qū)動(dòng)都放在了第4塊盤上了,其實(shí)放在哪個(gè)盤上都無所謂。

      [HardwareIdsDatabase]
      PCI/VEN_1095&DEV_3112&SUBSYS_61121095 = "si3112r"
      這些是硬件ID列表

      [SCSI.Load]
      si3112r  = si3112r.sys,4      (4 = system32/drivers)
      PE中意思是如果找到符合上面列出的硬件ID,則從system32/drivers載入si3112r.sys

      [SCSI]
      si3112r  = "Silicon Image SiI 3112 SATARaid Controller"
      這只是驅(qū)動(dòng)說明,在PE中打開注冊(cè)表,在相應(yīng)的驅(qū)動(dòng)鍵值下,你可以找到這些。

      稍微總結(jié)一下:
      對(duì)于XP:檢測(cè)硬件->引導(dǎo)到Text Mode Setup->載入驅(qū)動(dòng)->復(fù)制驅(qū)動(dòng)文件->重啟->利用復(fù)制的驅(qū)動(dòng)文件啟動(dòng)GUI Mode Setup
      在txtsetup.sif中有控制引導(dǎo)到Text Mode Setup的語句:OsLoadOptions = "/fastdetect /noguiboot /nodebug"
      "載入驅(qū)動(dòng)"是載入光盤上已經(jīng)存在的驅(qū)動(dòng)
      "復(fù)制驅(qū)動(dòng)文件"是把光盤上的驅(qū)動(dòng)按需要復(fù)制到硬盤上。這一步是為GUI Mode Setup而準(zhǔn)備的。

      對(duì)于PE:檢測(cè)硬件->引導(dǎo)到PE->載入驅(qū)動(dòng)
      在txtsetup.sif中有控制引導(dǎo)到PE的語句:OsLoadOptions ="/fastdetect /minint"
      要想在PE中集成驅(qū)動(dòng)必須先將驅(qū)動(dòng)復(fù)制到system32/drivers

      所以基本上沒有什么差別。

      有趣的是,在關(guān)閉一些服務(wù)后使用/minint參數(shù)來引導(dǎo)XP,可以讓啟動(dòng)后的XP禁用頁面文件。
      打開Boot.ini
      在multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /fastdetect下面添加
      multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /fastdetect /minint

      另類集成驅(qū)動(dòng)方法


      microsoft知識(shí)庫和幫助文件里只會(huì)告訴你如何去做,而不會(huì)告訴你為什么要這么做。
      microsoft不會(huì)給你過多的說明,因?yàn)檫@會(huì)威脅到它的產(chǎn)品的安全。

      下面我將以SI3112舉個(gè)例子告訴你如何運(yùn)用上面的東西。(我只找到SI3112的驅(qū)動(dòng))
      ====================================================
      注意:在txtsetup.sif中添加的文件,文件名不要超過8.3格式。
      第一步
      txtsetup.sif中添加如下內(nèi)容并復(fù)制相應(yīng)的文件(和你所做的一樣)
      [SourceDisksFiles]
      si3112.sys  = 1,,,,,,4_,4,1,,,1,4

      [HardwareIdsDatabase]
      PCI/VEN_1095&DEV_3112&SUBSYS_31121095 = "si3112"
      ……

      [SCSI.load]
      si3112 = si3112.sys,4

      [SCSI]
      si3112 = "Silicon Image SiI 3112 SATALink Controller"

      當(dāng)然dosnet.inf也要添加相應(yīng)的內(nèi)容
      ====================================================
      第二步
      把驅(qū)動(dòng)6個(gè)驅(qū)動(dòng)文件
      SiiSupp.vxd
      SiWinAcc.sys
      SI3112.inf
      SilSupp.cpl
      Si3112x.sys(把原來的Si3112.sys改名)
      Si3112.mpd
      壓縮成mydriver.cab(可以用Canbinet Manager 2003并把壓縮率調(diào)到最高)

      把mydriver.cab復(fù)制到i386下
      -----------------------------------------
      打開txtsetup.sif
      在[SourceDisksFiles]中添加
      SiiSupp.vxd = 100,,,,,,,45,0,0     <-意思是復(fù)制到windows/temp中
      SiWinAcc.sys = 100,,,,,,,45,0,0
      SI3112.inf = 100,,,,,,,45,0,0
      SilSupp.cpl = 100,,,,,,,45,0,0
      Si3112x.sys = 100,,,,,,,45,0,0,Si3112.sys   <-和第一步中的文件重名,用改名復(fù)制
      Si3112.mpd = 100,,,,,,,45,0,0

      在driver.cab   = 1,,,,,,_x,39,0,0下面添加
      mydriver.cab   = 1,,,,,,_x,39,0,0

      修改DriverCabName=driver.cab,sp1.cab,mydriver.cab

      在driver.cab = 16下面添加
      mydriver.cab = 16
      ---------------------------------------------
      打開drvindex.inf
      修改CabFiles=SP1,driver,mydriver

      添加
      [mydriver]
      SiiSupp.vxd
      SiWinAcc.sys
      SI3112.inf
      SilSupp.cpl
      Si3112x.sys
      Si3112.mpd

      在[Cabs]
      driver=driver.cab
      SP1=SP1.cab下面添加
      mydriver=mydriver.cab
      -----------------------------------------
      打開dosnet.inf,添加
      d1,mydriver.cab
      d1,SiiSupp.vxd
      d1,SiWinAcc.sys
      d1,SI3112.inf
      d1,SilSupp.cpl
      d1,Si3112x.sys
      d1,Si3112.mpd
      -----------------------------------------
      最后在winnt.sif中的[Unattended]中添加
      DriverSigningPolicy=Ignore
      OemPnPDriversPath="WINDOWS/TEMP"   <-這是為了配合上面復(fù)制到windows/temp中的驅(qū)動(dòng)

      如何讓集成的驅(qū)動(dòng)從Windows下啟動(dòng)安裝也有效


      如果是用上面的方法集成驅(qū)動(dòng),可以用如下命令
      WINNT32.EXE /unattend:I386/winnt.sif
      如果是把驅(qū)動(dòng)放在$OEM$,可以用如下命令
      I386/WINNT32.EXE /copydir:$OEM$ /unattend:I386/winnt.sif

      最后


      一些類似的問題不斷地被提出來,但實(shí)際解決的方法相似卻不相同。
      只有當(dāng)你真正掌握了原理,才能夠隨機(jī)應(yīng)變。

      我沒有SATA設(shè)備,所以我也無法幫你實(shí)現(xiàn)它。

      沒有實(shí)踐,也就沒有發(fā)言權(quán)。
      上面的方法,我也僅僅是在集成顯卡聲卡驅(qū)動(dòng)中使用。
      如果上面的方法在集成SATA設(shè)備時(shí)有什么錯(cuò)誤,恕我無知。


                                                       Benjaminwan
                                                       2004.6.20

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多