From http://www.ibm.com/developerworks/cn/linux/l-bootload.html html
對照並比較這兩個競爭對手linux
從普通的桌面用戶到 Linux® 系統管理員,大部分 Linux 用戶都使用過一種名爲引導加載程序的工具。此類工具的不一樣變種會提供不一樣層次的支持和功能。在不少狀況下,Linux 發行版默認安裝的引導加載程序並不老是適合須要;每一個引導加載程序的默認設置也是如此。在本文中,Laurence Bonney 討論了兩個流行的引導加載程序 —— LILO 和 GRUB —— 的優勢和缺點,並建議了不少配置,以充分發掘機器的潛力。安全
在不考慮他們的工做或專業狀況下,全部 Linux 用戶都會使用的是哪一個工具?引導加載程序。經過本文了解引導加載程序的工做原理,認識兩個流行的引導加載程序 LILO(LInux LOader)和 GNU GRUB(GRand Unified Boot loader), 並研究二者各自的優勢和缺點。網絡
最簡單地講,引導加載程序(boot loader) 會引導操做系統。當機器引導它的操做系統時,BIOS 會讀取引導介質上最前面的 512 字節(即人們所知的 主引導記錄(master boot record,MBR))。在單一的 MBR 中只能存儲一個操做系統的引導記錄,因此當須要多個操做系統時就會出現問題。因此須要更靈活的引導加載程序。框架
主引導記錄自己要包含兩類內容 —— 部分(或所有)引導加載程序以及分區表(其中包含有關於介質其他部分如何劃分爲分區的信息)。當 BIOS 引導時,它會尋找硬盤驅動器第一個扇區(MBR)中存儲的數據;BIOS 使用存儲在 MBR 中的數據激活引導加載程序。編輯器
因爲 BIOS 只能訪問不多量的數據,因此大部分引導加載程序分兩個階段進行引導。在引導的第一個階段中,BIOS 引導一部分引導加載程序,即 初始程序加載程序(initial program loader,IPL)。IPL 查詢分區表,從而可以加載位於不一樣介質上任意位置的數據。首先經過這步操做 來定位第二階段引導加載程序(其中包含加載程序的其他部分)。工具
第二階段引導加載程序是引導加載程序的主體;不少人認爲這纔是引導加載程序的真正部分。它包含有加載程序更須要磁盤空間的部分,好比用戶界面和內核引導程序。從簡單的命令行到繪聲繪色的 GUI,這些用戶界面的範圍很普遍。加密
引導加載程序一般配置爲兩種方式的其中之一:要麼是做爲主引導加載程序(primary boot loader),要麼是做爲二級引導加載程序(secondary boot loader)。主引導程序 是安裝在 MBR 上的第一階段引導加載程序(見先前的描述)。 二級引導加載程序 是安裝在可引導分區的第一階段引導加載程序。必須在 MBR 上安裝單獨的引導加載程序,並配置它將 控制權轉交給二級引導加載程序。spa
不少較新的 Linux 引導加載程序特別實用,由於它們提供了不一樣程度的交互,好比高級的 GUI 和加密的口令,以及經過選擇操做系統進行引導的能力。這樣,能夠在具備多個物理磁盤的同一機器上共存多個操做系統。這種設置愈來愈常見,由於它幫助不少用戶在安裝新的 Linux 時,可以保留先前由 Windows® 機器所生成的寶貴數據資料。我我的認爲這種設置很是美妙;只使用一臺機器就可同時擁有 Linux 和 Windows。操作系統
隨着時間的推移,引導加載程序已經獲得了加強,爲用戶引入了大量的功能。各個引導程序的功能和配置存在差別,但基本的目標是相同的。
如今來看兩個較爲流行的引導加載程序:LILO 和 GRUB。
LInux LOader(LILO) 已經成爲全部 Linux 發行版的標準組成部分。做爲一個 較老的/最老的 Linux 引導加載程序,它那不斷壯大的 Linux 社區支持使它可以隨時間的推移而發展,並始終可以充當一個可用的現代引導加載程序。有一些新的功能,好比加強的用戶界面,以及對可以突破原來 1024-柱面限制的新 BIOS 功能的利用。
雖然 LILO 仍在不斷地發展,但 LILO 工做原理的基本概念保持不變。
要使用 LILO 做爲引導加載程序,須要作的事情取決因而要進行全新安裝仍是要讓已經安裝的 Linux 改成使用 LILO。若是是要進行全新安裝,那麼直接跳轉到 配置 LILO 那一節。若是已經安裝了某個 Linux 發行版,那麼一般能夠選擇安裝並配置 LILO(並能夠將機器引導到新的 Linux 安裝)。
要將現有的 Linux 遷移到 LILO,首先必須得到最新版本的 LILO(見 參考資料)。在作任何其餘事情以前,建議您確保在手邊擁有一張 Linux 引導盤 —— 若是偶而弄錯了某些地方,它能夠提供很大的幫助,可以恢復到初始的 Linux 配置!將 LILO 安裝到系統中以後,讓它接管 MBR 很是簡單。以 root 用戶身份輸入:
# /sbin/lilo -v -v
這將使用當前的 LILO 默認值,抹去 MBR 中當前全部內容。不過,請閱讀 配置 LILO,以確保可以按預期引導起來。也要注意,若是想要在同一機器上運行 Windows 和 Linux,那麼應該先安裝 Windows OS,而後再安裝 Linux OS,這樣,在 Linux 安裝中所選擇的引導加載程序就不會被 Windows 引導加載程序所覆蓋。與 Linux 引導加載程序不一樣,多數 Window 引導加載程序不支持引導 Linux。若是已經先安裝了 Linux,那麼只須要本身建立一張 Linux 引導盤,這樣就能夠在安裝完 Windows 以後,回到 Linux 安裝中並重寫 MBR。
LILO 的配置都是經過位於 /etc/lilo.conf 的一個配置文件來完成的。清單 1 給出了一個示例配置,使用的是個人家用機器,支持 Linux 和 Windows 機器的雙重引導。瞭解個人工做站的基本配置,就能夠想像出這些配置是如何與實際機器相關聯的:
主 HDD(物理磁盤 1)上安裝了 Windows XP(最初機器上只有它)。在 Linux 術語中,這個 HDD 是 /dev/hda(在 GRUB 術語中是 hd0,0)。
從 HDD(物理磁盤 2)上安裝了 Red Hat Linux;root 分區位於這個硬盤驅動器的第三個分區,即 /dev/hdb3(在 GRUB 術語中是 hd1,3)。
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=100 compact default=Linux image=/boot/vmlinuz-2.4.18-14 label=Linux root=/dev/hdb3 read-only password=linux other=/dev/hda label=WindowsXP
清單 1 中的選項:
boot=
行告訴 LILO 在哪裏安裝引導加載程序。在上面的示例中,將把它安裝到第一塊硬盤的 MBR。也能夠選擇將 LILO 安裝到 /dev/hdb3(示例中的 Linux 分區),這樣須要向 /dev/hda 安裝另外一個引導加載程序,並令其指向 LILO 引導加載程序;而後只須要讓 LILO 做爲二級引導加載程序。一般,引導加載程序應該位於 /dev/hda。還能夠將這個參數指向軟盤驅動器(最多見的是 /dev/fd0),來製作 LILO 軟盤引導磁盤。
map=
指向引導期間 LILO 內部使用的映射文件。當使用 /sbin/lilo
命令安裝 LILO 時, 它會自動生成這個文件,其中包含有描述符表(還有其餘內容)。建議不要改動這個文件!
install=
是 LILO 在引導過程當中內部使用的文件之一。它同時包含有引導加載程序的主要部分和二級部分。boot.b 文件的 一個片斷被寫入到 MBR(引導加載程序的主要部分),它會指向那個映射,接下來指向二級引導加載程序。一樣,不要改動它!
prompt=
告訴 LILO 使用用戶界面(本例中給出了兩個選擇 —— Linux 和 WindowsXP)。除了使用 prompt/user 界面之外,在適當狀況下還能夠爲 Linux 內核等指定具體的參數。若是不在配置文件中指定此選項,那麼 LILO 將引導到 默認的 OS,不發生任何用戶交互,也不會等待。(可是請注意,若是在引導時按下了 SHIFT,那麼仍是能夠獲得提示,當不想把 引導加載程序暴露給普通用戶時,這很是有用)。
timeout=
是引導提示在自動引導默認 OS(本例中是 Linux)以前的等待時間(以十分之一秒爲單位)。 若是在 lilo.conf 沒有指定 prompt
,那麼這個參數就會被忽略。
compact
選項能夠大大加速引導過程,它會將連續的讀磁盤的請求合併爲一個單獨的請求。不過,這多是 一件禍福參半的事情,由於我在論壇上看到過不少貼子提到了關於此選項的問題。當但願從軟盤引導時,這個選項尤爲有用。
default=
選項告訴 LILO 默認使用哪一個映像進行引導,好比在等待超時以後。這與 lilo.conf 文件中的某個映像的 標籤相關聯。若是沒有在配置文件中指定此選項,那麼它將引導文件中指定的第一個映像。
對於容許用戶引導到的每個 Linux 版本,都應該指定 image=
及如下三個選項。image 選項指定但願 引導到的內核版本。
label=
標明瞭在運行期間但願可以從用戶界面引導的不一樣 OS。另外,這個標籤用於指定引導的默認 OS。 (注意:標籤名稱中避免出現空格;不然,引導那個文件時會出現沒法預期的錯誤。)
root=
告訴 LILO OS 文件系統實際所在的位置。在咱們的示例中爲 /dev/hdb3,即第二塊硬盤上的第三個分區。
read-only
告訴 LILO 以只讀的方式初始引導到文件系統。OS 一旦徹底引導起來,就會以讀寫方式掛載。
password=
容許您爲將要引導到的特定 OS 設置口令。不幸的是,這個口令是以可讀文本的方式保存在 lilo.conf 文件中,因此,全部人都可以讀取它。若是須要,還能夠對想要引導自的每一個操做系統設置口令(在咱們的示例中,只爲 Linux 的引導 設置了一個口令)。
other=
的動做相似於 image 和 root 選項的組合,可是用於除了 Linux 之外的其餘操做系統。 在咱們的示例中,它告訴 LILO 到哪裏去找到 Windows OS(位於第一塊硬盤的第一個分區)。若是先安裝 Windows,後安裝 Linux,一般會是這樣。
label=
與全部其餘 label 選項相同。
在 lilo.conf 文件中可使用不少其餘參數,不過清單 1 中的參數就足以讓機器可用了。要得到關於 lilo.conf 的這些以及其餘參數的 進一步資料,請參考手冊頁(man lilo.conf)。因爲在引導時不會讀取 lilo.conf,因此,當這個文件有改動時,須要「更新」MBR。 若是不完成此步驟就從新引導,那麼對 lilo.conf 的修改不會在啓動中反映出來。與先前將 LILO 寫入 MBR 相似,須要運行:
$ /sbin/lilo -v -v
-v -v
標記會爲您給出很是詳細的輸出。當像咱們那樣運行 LILO 時,有不少參數能夠指定。 參閱手冊頁以得到更進一步的信息(man lilo)。
當 LILO 初始引導時,它會按次序打印出每一個字母 —— L-I-L-O。若是全部字母都顯示出來,那麼第一階段引導就成功了。缺乏任何內容 都表示出現了問題:
L:第一階段引導加載程序已經被加載。若是 LILO 中止在這裏,那麼是在引導第二階段引導加載程序時出現了問題。這一般會伴隨有一個錯誤代碼。 在這個階段的常見問題是介質問題,或者在 lilo.conf 文件中指定了不正確的磁盤參數。
LI:第二階段引導加載程序已經被加載。LILO 在此處中止表示第二階段引導加載程序不能被執行。一樣,這多是由於出現了與只顯示 L 相似的問題: 正在加載,或者因 boot.b 文件被破壞、移動或刪除而不能加載。
LIL:第二階段引導加載程序正在被執行。此時,可能會再次出現介質問題,或者映射文件(如 lilo.conf 文件中所指定的)在尋找描述符表時 可能會出現問題。
LIL?:加載到與上面相同的階段。這一般意味着加載第二階段引導加載程序使用了錯誤的地址,最多見的緣由是 boot.b 所在的位置與 lilo.conf 文件所指定的不一樣。
LIL-:加載到與上面相同的階段。加載描述符表時出現問題,最多見的緣由是描述符表錯誤。
LILO:LILO 成功被加載,沒有出現任何錯誤。
LILO 被成功加載後,將看到 LILO 提示符。仍是使用前面的示例 lilo.conf 文件,此時將有兩個選擇,可能對 LILO 新手來講並不直觀。首先,能夠 讓 LILO 超時(10 秒後),這將引導 /dev/hdb3,即 Linux 分區。另外,能夠按下 TAB 鍵,這將列出將要引導的操做系統選項。在咱們的示例 lilo.conf 中, 將獲得的選項是 「Linux」 和 「Windows」。輸入哪個,就會引導到哪一個 OS。指定加載 Linux 選項,會提示輸入一個口令,在本例中是 linux
。若是輸入的口令有誤,則會返回 LILO 提示符。
不幸的是,LILO 不支持引導期間的交互式配置,因此,只能在 lilo.conf 中或者運行 /sbin/lilo
時指定選項。
關於第一次嘗試 LILO 的最後一點建議是:我發現使用軟盤引導磁盤比使用硬盤實現 LILO 配置更爲安全。爲此,必須在 lilo.conf 文件中使用boot=/dev/fd0
替換 boot=/dev/hda
。那樣,若是弄亂了 lilo.conf 文件 中的任何配置,均可以取出引導磁盤並像先前同樣引導到 Linux。當使用軟盤進行引導一切正常之後,能夠將 lilo.conf 修改回 boot=/dev/hda
,而後最後一次運行 /sbin/lilo
來上傳修改。
近來,GRand Unified Boot loader(一般稱爲 GRUB)彷佛要取代 LILO 在引導加載程序方面的統治地位。GNU GRUB 基於原來的 GRUB 程序(最初由 Erich Stefan Boleyn 所建立),正在由自由軟件基金會(Free Software Foundation)進行積極開發。
與使用 LILO 相同,使用 GRUB 做爲活動的引導加載程序所須要的步驟,取決因而安裝全新的 OS 仍是已經安裝了 Linux 並計劃轉移到 GRUB。 若是是進行全新安裝,那麼能夠直接跳轉到 配置 GRUB 那一節。若是已經安裝了某個 Linux 發行版,那麼一般能夠選擇 安裝並配置 GRUB(並能夠將機器引導到新的 Linux 安裝)。
計劃遷移到 GRUB 的當前 Linux 用戶須要去得到最新版本的 GRUB(見 參考資料)。一樣, 與 LILO 相同,在作任何其餘事情以前,須要在手邊準備一張 Linux 引導盤。使用交互模式(後面將描述)則不須要這張磁盤, 不過最好擁有一張以備急需時使用。將 LILO 安裝到系統中以後,讓它接管 MBR 很是簡單。以 root 用戶身份輸入:
# /boot/grub/grub
這樣將加載一個相似於 BASH 的命令提示符,能夠在這裏使用 GRUB 命令:
grub> install (hd1,3)/boot/grub/stage1 (hd0) (hd1,3)/boot/grub/stage2 p (hd1,3)/boot/grub/menu.conf
這個命令使用了 GRUB 安裝命令,須要爲它給出第一階段映像的位置以及 MBR 的位置(install (hd1,3)/boot/grub/stage1 (hd1)
)。 也要給出第二階段映像的位置((hd1,3)/boot/grub/stage2
)。最後,可選項 p (hd1,3)/boot/grub/menu.conf
告訴 GRUB GUI 菜單配置文件的位置。
在前面的示例中,hd1
是個人 Linux Disk
,hd0
是個人 Windows 磁盤。這樣將使用當前 GRUB 默認值,並抹去 MBR 中當前全部內容(請閱讀 配置 GRUB,以確保可以按預期引導起來)。
GRUB 的配置都是經過位於 /boot/grub/grub.conf 的一個配置文件來完成的。清單 2 給出了一個示例配置,使用的是個人家用機器,支持 Linux 和 Windows 機器的雙重引導:
default=0 timeout=10 splashimage=(hd1,3)/grub/splash.xpm.gz password --md5 $1$opeVt0$Y.br.18LyAasRsGdSKLYlp1 title Red Hat Linux password --md5 $1$0peVt0$Y.br.18LyAasRsGdSKLYlp1 root (hd1,3) kernel /vmlinuz-2.4.18-14 ro root=LABEL=/ initrd /initrd-2.4.18-14.img title Windows XP password --md5 $1$0peVt0$Y.br.18LyAasRsGdSKLYlp1 rootnoverify (hd0,0) chainloader +1
清單 2 中的選項:
default=
選項通知 GRUB 在超時以後默認使用哪一個映像進行引導。這一選項與 grub.conf 文件中的某個映像相關聯。 0 表示指定了第一個,1 表示指定了第二個,依次類推。若是沒有在配置文件指定此選項,那麼它將引導文件中指定的第一個映像。
timeout=
是在自動引導默認 OS(在本例中是 Red Hat Linux)以前引導提示會等待多少秒。
splashimage=
是用做 GRUB GUI 背景的圖片所在的位置。
password
選項指定了使用 MD5 加密的口令,用於訪問 GRUB 的交互式引導選項。注意,這不會阻止用戶選擇 引導已經定義的 OS;須要爲 每個 -title
設置它。爲了生成一個 md5
口令, 請運行 GRUB 所附帶的 grub-md5-crypt
工具(以 root 身份)。它將提示輸入一個但願加密的口令。而後輸出使用 MD5 加密的口令。將這個口令拷貝到 grub.conf 中 password -md5
以後,可是要在同一行上。一般這個口令能夠設置爲 root 口令,由於不管如何也只有 root 才能夠讀取 grub.conf 文件。
title
標明瞭在運行期間可以從用戶界面引導的具體 OS。 與 LILO 不一樣,在這個名稱中能夠有空格。
password
的設置方式與前面的 password 相同。若是計劃與其餘用戶共享此機器,那麼不要將這個口令設置爲 root 口令。
root
告訴 GRUB OS 文件系統的實際位置。可見,GRUB 引用介質的方式與 LILO 不一樣。在 LILO 示例中, /dev/hdb3 是第二塊硬盤中的第三個分區。Grub 將此硬盤引用爲(hd1,3),即第二塊硬盤的第三個分區(disk 0 是第一塊硬盤)。
kernel
:vmlinuz-X.X.XX-XX 是 root 目錄中默認引導映像的名稱。
initrd
:initrd-X.X.XX-XX.img 是 root 目錄中默認 initrd 映像的名稱。
title
與全部其餘 title 選項相同。
password
:見其餘口令選項。
rootnoverify
告訴 GRUB 不要嘗試去改變 OS 的 root。這樣,當文件系統不被 GRUB 所支持時,不會出現引導錯誤。
chainloader +1
告訴 GRUB 使用一個鏈式加載程序來加載這個 OS,加載 Windows 時須要這個選項。
在 grub.conf 文件中可使用不少其餘參數,不過清單 2 中的參數就足以讓機器可用了。 要得到關於 grub.conf 的這些以及其餘參數的進一步資料,請參考手冊頁(man grub.conf)。
與 LILO 的配置文件不一樣,grub.conf 會在引導時被讀取,當被修改時沒必要去更新 MBR。
與 LILO 相似,當 GRUB 初始加載時,從 MBR 加載第一階段程序。加載後,它進入第一階段和第二階段引導加載程序之間的中間階段(爲了方便討論,可稱爲第 1.5 階段)。 之因此存在第 1.5 階段,是爲了可以對 /boot/grub 中的 GRUB 配置文件進行常規的文件系統訪問,而不是去訪問磁盤塊。而後進入引導加載程序的第二階段,GRUB 加載 grub.conf 文件。
如今應該可以看到 GRUB GUI 了。對於熟悉 Windows 的用戶來講,這看起來感受比 LILO 更友好。不過,不要由於 GRUB 擁有 GUI 就認爲它是一個不能 處理數據的引導加載程序。可選項多得驚人。(見 引導時的附加配置 中的提示。)
若是像我那樣配置,那麼如今應該能看到屏幕中有兩個選項:引導到 Red Hat Linux 或者引導到 Windows XP。默認狀況下,它將加載 Linux。選擇任意一個的結果不言而喻。
如今來看一些好東西。
在 GRUB GUI 中,按下任何鍵都會中止超時的計時。而後按下 P 鍵,能夠輸入 GRUB 口令,並得到對 GRUB 交互式引導選項的徹底訪問權限。 按下如下其中一個鍵,應該可以使用三個選項之中的一個:
要在引導以前編輯命令,請按下 E。這將讓您可以爲當前選中的 OS 編輯具體的選項。GRUB 只會顯示出與那個 OS 的引導相關的選項, 而後您能夠恰當地進行編輯。當爲 root 文件系統指定了錯誤的 HDD 時,這尤爲有用。若是須要以單用戶模式訪問機器(不須要指定口令 就可以讓您得到 root 訪問權限!),那麼在 GRUB 主屏幕上選擇 Linux OS。而後與前面同樣,按下 E,並移到內核那一行( 在個人示例中是kernel /vmlinuz-2.4.18-14 ro root=LABEL=/
)。而後在那一行最後添加 single
,並按下 B 來使用修改過的 grub.conf 進行引導。在編輯模式下所作的任何修改都不會 保存到 grub.conf 文件中。
要修改內核參數,請按下 A。若是您是一位經驗豐富的 Linux 用戶,能夠根據須要調整內核參數。
要得到相似於 BASH 的命令行界面,請按下 C。這個小型的命令行界面容許您在系統中查找 GRUB 配置文件,加載另外的配置文件, 編輯配置文件中的行,以及直接輸入 GRUB 命令。若是配置的變化(好比刪除了某個分區)讓系統沒法引導,那麼可能會用到這個界面。 若是須要將系統引導爲單用戶模式,或者要讓運行級別爲 3 而不是普通的運行級別,也可能會使用到它。
這些選項有不少用途,但超出了本文的範圍。
可見,GRUB 真正開放了引導期間的可能性。不過,這多是一件好壞參半的事情,由於 GRUB 也潛在地容許攻擊者在 OS 加載以前訪問系統。 會被誤用的主要開放領域是:
訪問單用戶模式。全部加載到單用戶模式的人都會獲得 root 訪問權限,使得 Linux 可被隨意濫用。
訪問其餘操做系統。任何配置爲不須要口令的可引導操做系統,好比 DOS,都將是開放的。
訪問 GRUB 編輯器。這容許用戶得到修改 GRUB 配置的徹底訪問權限。
在 GRUB 配置中,設置安全性很是重要;設置口令,並使用 MD5 加密,能夠保證整個系統的安全。
GRUB 將要被 GRUB2 所取代。原來的 GRUB 將要被從新命名爲 GRUB Legacy;除了修復 bug 之外,不會再對它進行積極開發。GRUB2 將是對原來 GRUB 的徹底重寫。到目前爲止,如下特性是變化的核心部分:
經過建立壓縮的核心映像取代了第 1.5 階段
支持核心映像的動態加載
爭取讓整個 GRUB 框架成爲面向對象的
支持國際化,好比 非-ASCII 字符集
支持不一樣硬件體系結構和不一樣平臺(不一樣於 Linux 的平臺)
請參考 GRUB Web 站點(見下面的 參考資料 部分)以瞭解最新的進展。
如本文開始處所述,全部引導加載程序都以相似的方式工做,知足共同的目的。不過,LILO 和 GRUB 之間有不少不一樣之處:
LILO 沒有交互式命令界面,而 GRUB 擁有。
LILO 不支持網絡引導,而 GRUB 支持。
LILO 將關於能夠引導的操做系統位置的信息物理上存儲在 MBR 中。若是修改了 LILO 配置文件,必須將 LILO 第一階段引導加載 程序重寫到 MBR。相對於 GRUB,這是一個更爲危險的選擇,由於錯誤配置的 MBR 可能會讓系統沒法引導。使用 GRUB,若是配置文件配置 錯誤,則只是默認轉到 GRUB 命令行界面。
與全部軟件相同,對某個用戶來講是最好的選擇,並非對全部人來講都是最好的。至於這裏所涉及的兩個引導加載程序,我我的喜歡的是 GNU GRUB。它是一個很是好的全面的加載程序,組合了靈活的用戶界面和大量的功能。可是,還有不少使用過並忠愛 LILO 的人仍然選擇 LILO 做爲引導加載程序。幸運的是,若是您剛剛開始接觸 Linux 引導加載,使用哪一個都不會有太大問題。
關於安全性,任何能夠接觸到引導磁盤/CD 的人,只須要使用沒有設置安全性的 grub.conf 或 lilo.conf,就能夠繞過本文中說起的全部安全措施。 特別是使用 GRUB 時,由於可以引導到單用戶模式,因此是一個嚴重的安全漏洞。解決此問題的一個簡單方法是在機器的 BIOS 中禁止經過 CD 和軟盤進行 引導,並確保爲 BIOS 設置了一個口令,使得其餘人不能修改這些設置。