• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    win2000啟動菜單實現windows全家福

    發布: 2007-7-13 21:00 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 10次 | 進入軟件測試論壇討論

    領測軟件測試網

        Q:為什么要用win2000的多啟動菜單而不用其它第三方的多啟動軟件?
      A:win2000(包括NT4)的多啟動菜單位于系統活動分區的啟動區,容易管理,出錯或染毒后可以簡單用軟盤啟動機器,然后sys c:就恢復了系統啟動區。另外,我們知道,硬盤最重要的是位于0道的分區表,如果因為反復的讀寫分區表而使分區表出現壞道的話,那么硬盤基本上等于報廢。而分區的系統區卻是隨著分區位置和大小的不同而處于不同的位置。所以即使硬盤出現了壞道,也不影響它的使用。

      Q:win2000的啟動菜單可以支持安裝多少個系統嗎?

      A:這個問題可不好回答,如果你的硬盤分區時劃出三個主分區,另外加上N個擴展分區,那win2000所支持的系統可就不好估量了。但這不是我們討論的重點,我們討論的是在同一硬盤上安裝dos6.22,win32,win95,win98,winme,winnt4,win2000.或者還可以加上winxp.

      Q:以前的多系統軟件都需要重新分區(主要是分出幾個主分區),而我的硬盤只有一個主分區和一個擴展分區,能用win2000的多系統嗎?

      A:可以。我們知道,NT4和NT5(win2000)可以安裝在擴展分區,但它們的啟動菜單只支持從邏輯分區上啟動win2000,并不支持啟動邏輯分區上的其它系統。而且,微軟的產品都有一個特點,總是認為它啟動的分區是活動分區(就是我們常說的c盤),所以,大部分資料介紹的微軟全家福都是備分各個操作系統的c盤啟動軟件,通過文件的覆蓋替換實現。這總讓人覺得不滿意,能不能如win95進入dos6.22那樣,僅僅靠文件的改名來實現呢?是什么原因造成了這個笨辦法呢?

      其實這個問題很簡單。因為微軟的產品的啟動文件中有一個叫做IO.sys的,它的位置必須是活動分區的第一個文件,所以為個這個第一,前面的方法必須通過覆蓋才能保證它的第一。

      所以,我們的目的就是要讓win2000支持從邏輯分區啟動其它的windos,并且通過簡單的文件改名來實現微軟全家福。

      A:你說得那么好聽,如何做呢?

      Q:進入實戰前我們先假設你現在的硬盤結構是由微軟的標準fdisk分的區,即一個C盤和數個邏輯盤。c:盤裝win98(或者是winme),d:盤安裝win2000這樣一個標準的結構。(什么,你還沒裝win2000?不要緊,不裝win2000同樣也可以實現我前面提到的多windos共存。這個技巧對于安裝了win2000后又用以前的win9x克隆恢復C盤,丟了win2000啟動菜單的朋友同樣適用。不過話要一句句講,請耐心看下去。)

      1.我們的第一個分區C:做成dos6.22,win32,win95共存。

      這個就不用我多說了吧,win9X本身就支持這三個系統共存。簡單說一下就是拷入dos6.22的系統文件到c盤根目錄,并命名IO.dos,MS.dos,config.dos,autoexec.dos,將win95的IO.sys在c盤根目錄復制一分,命名為IO.w40,并設置MSdos.sys的BootMulti=1。

    注意,c盤的格式必須為fat16(如果你打算放棄dos6.22,也可以用fat32。上面所說的就不用改啦。)


      2.將win98的克隆備分還原到d盤,將winme克隆備分還原到e盤,沒克隆你就慢慢裝吧。

      為了保證做好的c盤,請用安裝方式在D盤和E盤安裝win9x的同志先保留下c盤的IO.sys,msdos.sys安裝完成后用它們覆蓋同名的文件。并做win98和winme的啟動盤(克隆的同志就不做了)做好后用相應的啟動盤啟動系統,sys d: ; sys e:分別傳送系統到對應的邏輯分區。

      3.安裝win2000到F盤,有克隆的同志還是可以用克隆。沒克隆的同志也可以不做那高達四張的win2000啟動盤,win2000采用NTFS格式還是fat32就隨你啦。

      如果安裝過程中你的分區不夠用了請用pqmagic劃它幾個出來。

      好啦,現在原料已齊,就等下鍋。先啟動一次看看。前面采用克隆安裝win2000在E盤的同志只能啟動c盤的win95,而用安裝方式的朋友可以啟動c盤的win95和E盤的win2000.現在就進入重點:

      一:恢復win2000多啟動選單前的準備工作

      win2000啟動菜單沒丟失的同志可以跳過這一步。只做增添的相關選項。

      恢復win2000多啟動選單要用到一個工具,bootpart。它是一個專門用來修改Windows NT多重開機選單的免費軟件。BootPart除了能事后把Dos、Windows 9x加到NT多重開機選單中外,就連OS/2Multiboot、Linux Partitions(with Lilo)或者是軟盤開機功能的加入也沒有問題喔!(軟件是那么介紹的。)

      這里就有朋友要問了,即然bootpart已經有了修改NT的多重開機功能,還用寫這篇文章干啥?哈哈,問題出在bootpart只支持加入fat16的分區和非fat格式的分區。而我們現在的大硬盤只有用fat32才管理得過來。另外,bootpart也不支持從NT啟動菜單中加入第二硬盤,并且,它也不支持從邏輯硬盤啟動系統。我們用bootpart只是用它的重建NT啟動菜單功能。

      bootpart可以從華軍軟件園的磁盤工具中下載。文件大小24K。

        重建NT啟動菜單之前,有件事是要先做的。從win2000安裝盤或安裝有win2000的機器上拷貝下NTLDR , NTDETECT.COM ,BOOTFONT.BIN(可以不用,只是菜單是英文而以。)到你的c盤根目錄。然后用windows的記事本編一個boot.ini到你的c盤根目錄。內容如下:
      [boot loader]
      timeout=10
      default=C:\
      [operating systems]
      multi(0)disk(0)rdisk(0)partition(4)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
      C:\="Microsoft Windows95"
      c:\win98.bin="Microsoft win98"
      c:\winme.bin="Microsoft winme"
      C:\floop.bin="floop"


      這里順便說一下boot.ini的相關設置問題。timeout=預設啟動菜單停留在默認系統上的時間,單位為秒。


      default=為默認啟動的系統。有朋友裝win2000后此項為
      default=multi(0)disk(0)rdisk(0)partition(4)\WINNT
      請用;號注釋掉這一行并添加default=c:\以方便啟動windos。

      multi(0)指硬盤接口為非scsi接口,大多數朋友的硬盤接口都是IDE接口,所以不用變它。disk(0)指win2000啟動菜單裝在你的第一個IDE接口上,如果你有雙硬盤,你是從第一IDE接口硬盤安裝,而win2000又裝在第二IDE接口上,則此項設為disk(1)。

      partition(4)指win2000所安裝的分區號,1指C盤,2指D盤,3指E盤,我們的win2000裝在F盤,則用partition(4)。注意,由于又硬盤有磁盤交錯或者你的系統設有隱藏分區,以上partiton號以dos下啟動后各系統所在的盤符為準。

      想用win2000的啟動菜單而又不想裝win2000的朋友只需在上述boot.ini中刪除有關winnt的那兩行就可以了。

      二:增添系統各分區的相應啟動文件。

      我們知道,win2000之所以能雙啟動,是因為它重寫了dos的引導記錄,并把原來c盤的dos引導記錄備份為boosect.dos,從而實現引導c盤的windos的。所以,除了這個bootsect.dos,我們還需要引導d盤win98的引導備份win98.bin(這個名字是我隨便取的,你也可以取成你喜歡的名字,只要能和boot.ini中對應就可以。)e盤的引導備分winme.bin,軟盤的引導備分floop.bin。

      做這幾個文件需要用到norton2000的diskedit(611K),因為它支持fat32格式的磁盤。diskedit可以在norton2000的安裝目錄下直接找到。

      從windos退到純dos下,啟動diskedit。diskedit跳出個選單說現在運行在只讀模式,回車后進入。選擇object下的drive,選擇c:,再按ALT+B,選擇BOOT  Record,讀出硬盤C:區的dos引導記錄。然后按ALT+T選擇TOOL下的Write Object to ,然后它彈出的一個where do you wish to write boot record on drive c: to a file 的警告,在其下的file:中輸入bootsect.dos,Drive:中輸入C:,就完成了對C盤BOOT區的備份工作。

      重復以上操作,備分下你機器D:盤E:盤A:盤的dos引導記錄,并命名為win98.bin、winme.bin、floop.bin,文件請都放在c盤根目錄下。

      由于這一步我們是在只讀模式下做的,不會對硬盤做任何修改,所以操作是安全的。


        三:增添win2000啟動菜單


      這一步對于已經有了win2000啟動菜單的朋友可以不做。

      增添win2000啟動菜單也可以用diskedit,方法是找一臺裝有win2000的機器(不過要求是對方的計算機的C盤同你的C盤格式相同,即fat16對fat16;fat32對fat32)用diskedit備分下它的dos引導記錄,然后復制下3EH到1FH間的數據(采用fat16時),如果是fat32則復制5AH到1FH間的數據,覆蓋掉你c盤主引導記錄的相應部分。

      此法有一定的危險性。做錯時可能造成你的機器啟動不了,所以我不推薦。如果想試試的朋友在做了錯誤的操作后使硬盤啟動不了的話,可以用你的啟動盤啟動,然后sys c:就可以復原。

      方法二就是用bootpart來操作這一步驟。很簡單,在dos下執行

      bootpart winnt boot:c:

      四:對邏輯分區的啟動文件做最后修改

      執行完步驟三后,重啟機器我們已經能夠順利啟動win2000,win95和軟盤啟動了。但一執行win98,winme就會報錯并退回菜單。這是因為win2000不支持從邏輯盤啟動系統所造成的。所以,我們現在就進入本文最關鍵的部分,修改win98.bin和wimme.bin使win2000支持從邏輯盤啟動。

      dos下進入diskedit,按alt+t選擇其下的configuration(配置),按空格鍵將第一個選項read only取消,然后按TAB選save。(放心,我們只是對文件作16進制改寫操作,即使改錯了也沒有危險。)

      選擇drive c:,按alt+B鍵讀取C盤引導記錄,記下big total number of sectors的值,同樣,再選drive d:,按alt+B讀取D盤引導記錄,也記下big total number of sectors的值。注意,記錄此值時你得先確保special hiddle secters的值是63才能做,如果不是請先退出并用sys傳送系統到d盤和e盤。

      為說明清楚,我現在假設你的這兩個值如下:

      c: big total number of sectors= 1959867 
      d: big toral number of sectors= 4482072

      我們來做個計算:1959867+63*2=1959993,轉成16進制=1DE839,改過游戲的朋友可能都會知道,微機上記錄這此數據總是低位在前,高位在后,所以此值我們下面填入win98.bin時該為:39 E8 1D,具體位置是win98.bin的1CH處,原值是3F 00 00,請用diskedit調入win98.bin并做此修改。

      當然,你也可以算出此值后用其它的16進制編輯器修改。比如用你們常用的修改游戲的工具uledit32來做這步工作。

      winme.bin的修改與上面的修改有所不同,應該加上前面的所有sys分區后的big toral mumber of sectors的值。所以,winme.bin的這個值=1959867+4482072+63*2=6442065=624C51H,修改時在winme.bin的1CH處填入51 4C 62


        五:修改完成后,我們來做最后的設置工作以啟動邏輯盤D和E的win98、winme進入windos,將D盤、E盤的系統文件msdos.sys,command.com更名為msdos.98,command.98(D盤)、msdos.me、command.me(E盤),并拷貝到系統的根目錄。為便于切換,請不要設置這些文件的只讀,隱藏屬性。對于msdos.sys這個文件,還要修改其中的相應盤符,換成你現在你的win98和winme的安裝盤符。由于相對簡單,就不舉例了。


     。1)在c:盤根目錄下建autoexec.98,autoexec.me兩個文件,內容如下:
      c:\autoexec.98
        @echo off
        set windir=d:\windows
        set winbootdir=d:\windows
        set comspect=d:\windows\command.com
        set path=d:\windows;d:\windows\command
        set temp=d:\windows\temp
        set tmp=d:\windows\temp
        del c:\err
      ;這是作為以后防止重復執行變換文件加的,請在你的所有autoexec.bat文件中加入此行,c盤沒有autoexec.bat也請建一個,并加入這一行。

      autoexec.me的修改仿此進行。如果你有config.sys也請做類似乎修改。

     。2)在安裝的各個系統的桌面上建立以下切換文件的快捷方式
      1.Chang95.bat
        @echo off
        if exist err goto end
        @echo errflag > c:\err         
        ;創建err標志文件,以免重復執行chang*.bat引起系統文件混亂。
        if exist c:\flag95 goto end
        ;檢查標志文件,以辯明當前所在的系統。
        if exist c:\flag98 goto flag98
        if exist c:\flagme goto flagme
        @echo falg > flag95
        ;創建當前系統標志文件。

       flag98:
        ren c:\flag98 flag95
        ren c:\msdos.sys msdos.98
        ren c:\command.com msdos.98
        ren c:\config.sys config.98
        ren c:\autoexec.bat autoexec.98
        goto flag95
        ;保存當前98文件系統


    flagme:
        ren c:\flagme flag95
        ren c:\msdos.sys msdos.me
        ren c:\command.com msdos.me
        ren c:\config.sys config.me
        ren c:\autoexec.bat autoexec.me
        goto flag95
        ;保存當前wimme文件系統


       flag95:
        ren c:\msdos.95 msdos.sys
        ren c:\command.95 command.com
        ren c:\config.95 config.sys
        ren c:\autoexec.95 autoexec.bat
       ;修改以作好下次啟動win95用。
       end: 

        2.chang98.bat
        @echo off
        if exist err goto end
        @echo errflag > c:\err         
        if exist c:\flag98 goto end
        if exist c:\flag95 goto flag95
        if exist c:\flagme goto flagme

       flag95:
        ren c:\flag95 flag98
        ren c:\msdos.sys msdos.95
        ren c:\command.com msdos.95
        ren c:\config.sys config.95
        ren c:\autoexec.bat autoexec.95
        goto flag98

       flagme:
        ren c:\flagme flag98
        ren c:\msdos.sys msdos.me
        ren c:\command.com msdos.me
        ren c:\config.sys config.me
        ren c:\autoexec.bat autoexec.me
        goto flag98

       flag98:
        ren c:\msdos.98 msdos.sys
        ren c:\command.98 command.com
        ren c:\config.98 config.sys
        ren c:\autoexec.98 autoexec.bat
       end:


    3. changme.bat
        @echo off
        if exist err goto end
        @echo errflag > c:\err         
        if exist c:\flagme goto end
        if exist c:\flag95 goto flag95
        if exist c:\flagm8 goto flagme


       flag95:
        ren c:\flag95 flagme
        ren c:\msdos.sys msdos.95
        ren c:\command.com msdos.95
        ren c:\config.sys config.95
        ren c:\autoexec.bat autoexec.95
        goto flagme

       flag98:
        ren c:\flag98 flagme
        ren c:\msdos.sys msdos.98
        ren c:\command.com msdos.98
        ren c:\config.sys config.98
        ren c:\autoexec.bat autoexec.98
        goto flagme

       flagme:
        ren c:\msdos.me msdos.sys
        ren c:\command.me command.com
        ren c:\config.me config.sys
        ren c:\autoexec.me autoexec.bat
        end:

      這里說明一下這幾個批處理文件的用法。第一次使用時,請用windows的新建命令在c盤根目錄下建一個flag95的文件,再執行chang98等。如果不想建,請執行chang95一次,重啟機器就不用手動建這個文件了。

      至此,win2000啟動windos各個系統的多菜單我們已經成了。下次啟動機器,你就可以通過選單進入你想操作的系統啦。

      Q:win2000的多啟動菜單支持啟動第二硬盤的windos系統嗎?
      A: 可以,只需要將第二硬盤的hda.bin引導文件的24H處改為81H(原值是80H),其它的不用修改。但因為windows只認c:盤是主盤,所以啟動不了第二硬盤的windos,按上面的四:對邏輯分區的啟動文件做最后修改的法則相應修改就可以了。

      Q:我想把win2000的多啟動做到軟盤上,可以嗎?
      A: 當然可以,讀入c盤的主引導記錄,存為文件1,改24H處為00H,備用。然后讀入軟驅引導區,復制從00H到3DH的內容,寫入文件1的00H-3DH間。只取文件1前面的512字節(00H-1FH)寫入軟盤的引導區即可。由于相對來說作用不大,所以就不作詳細介紹了。

     

     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>