用win2000啟動選單實現windows全家福(轉)

amyz發表於2007-08-11
用win2000啟動選單實現windows全家福(轉)[@more@]

  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]

  

  重複以上操作,備分下你機器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

  

  當然,你也可以算出此值後用其它的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

    

  這裡說明一下這幾個批處理檔案的用法。第一次使用時,請用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)寫入軟盤的引導區即可。由於相對來說作用不大,所以就不作詳細介紹了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-946888/,如需轉載,請註明出處,否則將追究法律責任。

相關文章