解讀boot.ini中“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
時間:2010-09-11 23:22來源:未知 作者:責任編輯 點擊:
177次
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS=Microsoft Windows XP Professional /noexecute=optin /fastdetect 不少人對windows的boot.ini文件很感興趣,因為它關系到我們的系統引導。盡管boot.ini文件內容不多,但是包含的知識點卻不少,筆者在此做一個
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
不少人對windows的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。
(責任編輯:www.173yule.com) |
|