windows boot.ini詳解

詳解Windows的boot.ini引導程序

    不少人對windows2000的boot.ini文件很感興趣,因爲它關係到我們的系統引導。儘管boot.ini文件內容不多,但是包含的知識點卻不少,筆者在此做一個詳細的分析。這裏舉個例子,以筆者自己使用的PC爲例。
boot.ini文件具體內容:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Microsoft Windows 2000 Sever" /fastdetect
C:\="Microsoft Windows"
C:\bootsect.bin="linux"
    這裏,大家可以看到boot.ini文件分爲兩部分,[boot loader]和[operating systems]。
一、首先介紹[boot loader]:
    timeout=?? 這個等號後面的數字表示在出現多操作系統引導時。選擇菜單滯留的時間。默認爲30秒。
這個只有三個取值範圍,有、無、無效。若修改爲1-999之間的一個整數,則多操作系統選擇菜單會滯留相應的時間。若修改爲0。則不會出現多操作系統選擇菜單。默認進入第一個操作系統(即[operating systems]下面的第一個操作系統)。如果修改爲一個負整數或一個大於等於1000的正整數。系統認爲此值無效,多操作系統選擇菜單滯留時間將爲無窮。
    default=*** 這個等號後面的爲默認進入的操作系統的路徑,格式爲[operating systems]下面等號之前的部分。大概有兩種情況:win9x系列(95、98、ME)和NT系列(NT4.0、WIN2000、WINXP)。前一種,由於Active區的問題,基本上爲C:\ 後一種,遵從ARC命名規則(詳見下文)。
二、接下來就進入了[operating systems]部分:
    這部分的每一行都代表引導一個操作系統,每一行可分四部分:等號之前、等號、等號之後、/???
等號之後表示多操作系統選擇菜單的display。隨便你在英文雙引號裏添什麼都可以。如果要填中文,比如"我的最愛!"。如果是中文的操作系統是沒問題的,如果是英文的操作系統,你必須拷一個bootfont.bin文件到C盤根目錄下。否則你填中文會顯示亂碼。有的時候,後面還會出現 /??? ,具體的有/fastdetect,表示快速引導。/console 表示虛擬控制檯。等號前面的就遵從ARC命名規則了,ARC命名規則是boot.ini文件的核心。
ARC命名規則:
Multi(x)disk(y)rdisk(z)patition(a)
或Scsi(x)disk(y)rdisk(z)patition(a)
    1)首先,現在的磁盤分爲IDE的和Scsi的兩種。我們平時家用臺式機使用的都是IDE的。
若使用IDE的磁盤控制器,也使用Scsi的磁盤控制器,且主板Scsi磁盤控制器設爲Enable。則使用Multi(x)disk(y)rdisk(z)patition(a)的命名格式。另外,若只有IDE的磁盤控制器,也使用Multi(x)disk(y)rdisk(z)patition(a)的命名格式。若只有Scsi的磁盤控制器,則使用Scsi(x)disk(y)rdisk(z)patition(a)的命名格式。
這裏,x的值爲:操作系統的boot分區所在磁盤所在的磁盤控制器,在同一類磁盤控制器下的順序號。x從零開始計數。也就是時說當你確定磁盤控制器的順序號以後,減去1就是x的值了。(boot分區爲操作系統安裝的分區。)
    2)若前面使用Multi(x),則disk(y)無意義,永遠爲零。
若前面使用Scsi(x),則disk(y)有意義。y值標識操作系統的boot分區所在磁盤所在的磁盤控制器下,磁盤的順序號,y值從0開始計數。
    3)若前面使用Scsi(x),則rdisk(z)無意義,永遠爲零。
若前面使用Multi(x),則rdisk(z)有意義。z值標識操作系統的boot分區所在磁盤所在的磁盤控制器下,磁盤的順序號,z值從0開始計數。
    4)patition(a)中a從1開始計數。a值標識操作系統的boot分區在其所在磁盤中的位置。具體的,首先一個磁盤最多分爲4個基本的分區,基本的分區包括primary zone(基本區)和extend zone(擴展區)。extend zone可以分出若干邏輯區。這裏必須區分“基本的分區”和“基本區”。
就以我們平時使用win98啓動盤中的fdisk.exe工具的分區結果舉例。由於功能所限,fdisk最多隻能分出一個primary zone和一個extend zone。然後再在extend zone中分出若干邏輯區。這裏邏輯區的數目爲直到把英文大寫字母數用完爲止。這裏primary zone爲C盤,邏輯區依次爲D-Z共23個。如果使用另外的工具分出多於一個primary zone,那麼,一次邏輯區就要少分一個,因爲大寫字母數有限。擴展區最多隻有一個。
言歸正傳,a值標識操作系統的boot分區在其所在磁盤中的位置。那麼這個位置怎麼確定呢?總的原則是:先數基本區,數完之後再數邏輯區。具個例子,你的一個硬盤分了四個基本的分區,第一個、第二個是基本區,標識爲C區、D區。第三個基本的分區爲擴展區,裏面分了四個邏輯區,依次標識爲E區、F區、G區、H區。第四個也是基本區,標識爲I區。你的boot區若爲I區,則a值爲3;若爲D區,則a值爲2;若爲F區,則a值爲5;若爲H區,則a值爲7。
    5)\???斜槓後面的表示你的操作系統的根目錄在這個分區下的相對路徑和文件夾名。multi(0)disk(0)rdisk(1)partition(1)\WINNT表示我的操作系統的根文件夾名爲WINNT,在第二塊IDE硬盤的第一個區下的WINNT文件夾。實際上,有的同志的硬盤只有一個分區。如果還想安裝雙系統,比如WIN2K和WINZP。那麼如果他把兩個操作系統都裝在C盤根目錄下,就會造成兩個操作系統共用Documents and Settings和Program Files文件夾的情形,如果想刪除一個操作系統,很不方便。這個時候你就可以在安裝第二個操作系統之前在C盤根目錄下建一個文件夾,例如叫NEWOS,然後再安裝的時候就選擇安裝新的操作系統在NEWOS文件夾下,那麼你這個新的WINXP的 \???就爲\NEWOS\WINDOWS。
 
 
 
 
簡介  Windows 2000、Windows XP、Windows Server 2003主要依賴Boot.ini文件來確定計算機在引導過程中顯示的可供選取的操作系統類別。
  boot.ini在缺省狀態下被設定爲隱含和系統文件屬性, 並且被標識爲只讀文件
  當我們在電腦中安裝了多系統(如Windows 98和Windows XP)之後,每次啓動計算機時都會出現一個系統引導菜單,在此選擇需要進入的系統後回車即可。這個引導程序名爲Boot.ini,在安裝Windows 2000(XP)時程序自動被安裝,使用它我們可以輕鬆對電腦中的多系統進行引導,還可以通過該引導文件,設置個性化的啓動菜單。

操作方法

  Boot.ini文件位於C盤根目錄下,是一個隱藏文件,在“運行”中輸入“c:\boot.ini”即可啓動該文件。
  如果想對boot.ini文件進行修改,請這樣做:
  爲確保在Windows Explorer中看到Boot.ini文件,
  “工具”——“文件夾選項”——“查看”菜單上選擇“顯示隱含文件和文件夾”;更改boot.int前,右擊boot.int——“屬性”,去掉“只讀” 。
  除了直接編輯boot.ini文件外,還可以藉助命令行工具bootcfg.exe對Boot.ini文件執行編輯操作,您可針對系統等待時間(Windows在選擇缺省操作系統前所等候的時間)進行修改, 並在現有基礎上添加新的供選項目。
  如需啓動bootcfg.exe工具, 請依次執行下列操作步驟:
  按“Windows鍵+R”(也就是“開始”-“運行”),在提示框中輸入"cmd"(注意,不輸入引號),進入“命令提示符”,在命令行狀態下輸入bootcfg可以查詢當前boot.ini文件的詳情。
  執行bootcfg /?來查看相關參數功能。
  

1.自定義延遲時間


  
  延遲時間是系統啓動引導菜單後在設定的延遲時間內用戶沒有進行任何操作時,進入默認的操作系統。
  系統默認的延遲時間爲30秒,如果感覺默認的延遲時間過長,可以輸入自己需要的延時時間,如10秒。
  設置時,首先打開Boot.ini文件(注意要去掉該文件的隱藏、只讀屬性),隨後在[boot loader]字段下找到“timeout=”語句,將其中的30,改爲10即可。
  我們還可以在“系統配置實用程序”中對其進行修改。在“開始/運行”中鍵入“msconfig"命令,在彈出的“系統配置實用程序”中單擊“Boot.ini”標籤,在“Boot.ini”界面中的“超時XX秒”項中輸入需要的延時時間即可。
  

2.自定義顯示內容


   在多系統啓動時,有一個操作系統選擇列表,這些列表顯示的是電腦中所有操作系統的名稱,如:Microsoft Windows XP Professional。
  我們可以對這些顯示內容進行修改,加載一些個性化的設置。
  打開“boot.ini”文件,找到[operating systems]字段,該字段是顯示當前操作系統列表,
  其格式爲multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
  後面引號中的部分就是系統啓動時顯示的內容,只要將引號中的這些內容更改爲自己需要的文字即可。
  

3.定義默認啓動系統


  
  裝了多系統後,boot.ini會將其中一個系統設置爲默認啓動系統,如Windows XP,在超過延遲時間後將自動引導默認的系統啓動。
  我們可以根據需要將默認的啓動系統更改爲其它的系統(如Windows 98),如果不想直接修改boot.ini文件的話,可以這樣做:
  右鍵單擊“我的電腦”,選擇“屬性”,在系統屬性對話框中單擊“高級”選項,隨後在下面的“啓動和故障恢復”項中選擇“設置”按鈕,彈出一個“啓動和故障恢復”對話框,單擊“系統啓動”項中的默認操作系統下拉菜單,選擇一個需要的系統,單擊“確定”即可;
  也可以在“系統配置實用程序”中進行設置,選中想要設爲默認的操作系統,點擊下面的“設爲默認”即可。
  

4.加載啓動參數,更改啓動畫面


  
  boot.ini在引導多系統啓動時提供了很多的參數命令,這些啓動參數可以得到不同的啓動效果。
  boot.ini在默認的情況下加載的是/fastdetect參數,表示啓動時不檢查串行口和並行口。
  其實我們可以更改爲其它參數,更改時首先在“boot.ini”中選擇需要更改的系統列表,隨後將該系統中的參數/fastdetect改爲相應的參數值即可。以後再啓動該系統就會加載一些設置信息或畫面。我們以可以在“系統配置實用程序”中對一些參數進行設置,切換到“boot.ini”選項,先選中需要更改的系統,隨後在“啓動選項”下端勾選需要的啓動參數即可,此對幾個常用參數加以說明:
  SAFEBOOT:安全啓動,只啓動HKLM\System\CurrentControlSetControl\SafeBoot中的驅動程序和服務,其後可跟三個參數Minimal、Network或Dsrepair。
  Minimal和Network允許在網絡連接下啓動系統;Dsrepair要求系統從備份設備中調入活動目錄的設置,還有一個選項是Minimal(AlternateShell),它讓系統調入由HKLM\System\CurrentControlSetSafeBoot\AlternateShell指定的SHELL程序,而不使用默認的Explorer。
  /NOGUIBOOT:不加載VGA驅動程序,也就不會顯示啓動過程和失敗時的藍屏信息。
  /BOOTLOG:將日誌寫入Nnbtlog.txt文件。
  /BASEVIDEO:使用標準VGA方式啓動,這種方式主要用於顯示驅動程序失效時。
  /SOS:在調入驅動程序名時顯示它的名稱,因驅動問題而無法啓動時使用比較好。
  通過以上設置我們就可以輕鬆設置啓動菜單了!
  FAQ:
  boot.ini文件丟失怎麼辦?
  通過手動在C盤創建一個boot.ini文件
  一般的XP下面的boot.ini文件爲:
  [boot loader]
  timeout=10
  default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
  [operating systems]
  multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
  然後把此文件保存爲boot.ini文件即可。
  或者,把C:\Windows\pss下的boot.ini.backup複製到C盤下,去掉.backup擴展名即可。

更改內容

  如果您需要更改boot.ini文件的內容,可以這樣:
  1. 單擊開始按鈕,單擊控制面板,然後雙擊系統。
  2. 單擊高級選項卡,然後單擊“啓動和故障恢復”下的設置。
  通常,boot.ini 文件包含以下數據:
  [boot loader]
  timeout=30
  default=scsi(0)disk(0)rdisk(0)partition(1)\winnt
  [operating systems]
  scsi(0)disk(0)rdisk(0)partition(1)\winnt = "Windows NT" /NODEBUG C:\ = "Previous Operating System on C:\"
  這個文件分爲引導加載部分(boot loader)和操作系統部分(operatingsystems)兩大塊。在引導加載部分,timeout=xx表示等待用戶選擇操作系統的時間,默認是30秒;default=xxxxx表示缺省情況下系統默認要加載的操作系統路徑,表現爲啓動時等待用戶選擇的高亮條部分。在操作系統部分,則列出了所有的操作系統路徑和清單,以供用戶選擇。[1][2]

數據含義

  下面的列表描述了 Boot.ini 文件中數據的含義:
  • “timeout”指定在選擇默認的操作系統之前 Windows 等待的時間
  • “default”指定默認的操作系統。
  • “scsi(0)”表示主控制器(通常也是唯一的控制器)負責此設備。如果有兩個 SCSI 控制器並且磁盤與第二個控制器相關聯,則第二個控制器稱爲“scsi(1)”。
  如果系統使用 IDE、增強的 IDE (EIDE) 或增強的小型設備接口 (ESDI) 驅動器,或者如果系統使用沒有內置 BIOS 的 SCSI 適配器,請將“scsi”替換爲“multi”。
  • “disk(0)”指要使用的 SCSI 邏輯單元 (LUN)。它可以是獨立的磁盤,但是大多數 SCSI 設置對每個 SCSI ID 只有一個 LUN。
  • “rdisk(0)”指物理磁盤 1
  • 本例中的“partition(1)”是計算機中第一個驅動器上的唯一分區。如果有兩個分區(C 和 D),則分區 C 爲 partition(1),分區 D 爲 partition(2)。
  • 包含多重引導方式的參數(如果有的話)要求檢查 Winnt 文件夾以從指定的 SCSI 控制器的磁盤和分區進行引導。
  • “/NODEBUG”指定沒有監視任何調試信息。調試信息僅對程序開發人員有用。
  • 您可以添加 /SOS 選項以在加載驅動程序時顯示驅動程序名。默認情況下,OS Loader 屏幕僅顯示進度點。
  • “Previous Operating System on C:\”表示“上一個操作系統”是 MS-DOS,因爲“C:\”是 MS-DOS 路徑。
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章