Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

handbook: Update zh-tw boot #425

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 15 additions & 63 deletions documentation/content/zh-tw/books/handbook/boot/_index.adoc
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ endif::[]

* FreeBSD 開機系統的元件以及它們如何互動。
* FreeBSD 開機程式中各元件可使用的選項,用來控制開機程序。
* 如何設定自訂的開機啟動畫面 (Splash screen)。
* 設定 Device Hints 的基礎。
* 如何開機進入單人及多人模式以及如何正確關閉 FreeBSD 系統。

Expand All @@ -82,6 +81,12 @@ FreeBSD 在較舊的 MBR 標準與較新的 GUID 分割區表 (GUID Partition Ta

在 MBR 中的程式通常會稱作開機管理程式 (_Boot manager_),特別是那些會與使用者互動的程式。開機管理程式通常會另一部份的程式會存放於磁碟的第一個磁軌或檔案系統。開機管理程式的例子有標準 FreeBSD 開機管理程式 boot0 又稱 Boot Easy 以及 Grub 常用於各種 Linux(TM) 發行版。

[NOTE]
====
// There is extref:{faq}[a frequently asked question] about GRUB. Beyond the answer there, //
GRUB 的使用者應該參考 https://www.gnu.org/software/grub/grub-documentation.html[GNU 提供的說明文件]。
====

若只有安裝一個作業系統,MBR 會搜尋磁碟上第一個可開機的 (使用中) 切割區 (Slice),然後執行在該切割區上的程式來載入剩下的作業系統。當有多個作業系統存在時,可以安裝可顯示作業系統清單的開機管理程式,以讓使用者可以選擇要啟動的作業系統。

剩餘的 FreeBSD 開機系統分成三個階段,第一個階段只知道如何讓電腦進入特定狀態並執行第二階段,第二個階段在執行第三階段之前會做的事比較多一點,第三個階段會完成載入作業系統的工作。把工作分成三個階段的原因是 MBR 有限制在階段一與階段二能夠執行程式的大小。將這些工作連結在一起讓 FreeBSD 能夠提供更有彈性的載入程式。
Expand Down Expand Up @@ -182,37 +187,37 @@ loader 接著會讀取 [.filename]#/boot/loader.rc#,這個程式預設又會
|autoboot _seconds_
|若在指定時間 (秒) 內沒有中斷,會繼續啟動核心。此指令會顯示倒數,預設的時間為 10 秒鐘。

|boot `[__-options__] [__kernelname]__`
|boot [`-options`] [`kernelname`]
|使用任何指定的選項或核心名稱立即啟動核心,要由指令列指定核心名稱必須先執行 `unload`,否則會使用先前載入過的核心。若 _kernelname_ 不是完整的路徑則會搜尋 _/boot/kernel_ 及 _/boot/modules_ 底下。

|boot-conf
|依據指定的變數及最常用的 `kernel` 再做一次相同的自動模組設置。這只有在執行 `unload` 之後,尚未變更變數之前方可使用。

|help `[__topic__]`
|help [`_topic_`]
|顯示自 [.filename]#/boot/loader.help# 取得的說明訊息。若指定的主題為 `index` 則會顯示所有可用的主題。

|include _filename_ ...
|include `_filename_` ...
|讀取指定的檔案並直譯每一行。若有錯誤則會立即中止 `include`。

|load `[-t __type__]` _filename_
|load [-t ``_type_``] `_filename_`
|由指定的檔案名稱載入核心、核心模組或指定類型的檔案。任何於 _filename_ 之後的參數都會被傳遞到該檔案。若 _filename_ 不是絕對位置則會搜尋 _/boot/kernel_ 及 _/boot/modules_ 底下。

|ls [-l] `[__path__]`
|ls [-l] [``_path_``]
|顯示指定路徑中的檔案,若未指定路徑則會顯示根目錄中的檔案。若有指定 `-l`,則會連檔案大小一同顯示。

|lsdev [-v]
|lsdev [`-v`]
|列出所有的裝置,這些裝置可能可以用來載入模組。若有指定 `-v` 則會顯示更詳細的資訊。

|lsmod [-v]
|lsmod [`-v`]
|顯示已載入的模組。若有指定 `-v` 則會顯示更詳細的資訊。

|more _filename_
|more `_filename_`
|顯示指定的檔案,並於每 `LINES` 行顯示後會暫停。

|reboot
|立即重新啟動系統。

|set _variable_, set _variable_=_value_
|set `_variable_`, set `_variable_=_value_`
|設定指定的環境變數。

|unload
Expand Down Expand Up @@ -325,59 +330,6 @@ console none unknown off insecure

要了解更多有關資源設置系統,請參考 man:rc[8] 以及查看位於 [.filename]#/etc/rc.d# 的 Script。

[[boot-splash]]
== 設定開機啟動畫面

正常 FreeBSD 系統開機會在 Console 顯示以一系列訊息來表示開機進度。開機啟動畫面 (Boot splash screen) 是另一種可以把所有開機偵測與服務啟動訊息隱藏的開機畫面,但即使開啟了啟動畫面,仍有有少數的開機載入程式的訊息,如:開機選項選單以及倒數時間的提示,仍會在開機時顯示。在開機程序時可以按下鍵盤上的按鍵來關閉顯示中的啟動畫面。

FreeBSD 有兩種基本的環境可以使用,一種是預設的傳統虛擬 Console 指令列環境,在系統完成開機之後,便會顯示 Console 登入提示。另一種環境則是設定好的圖型化環境,請參考 crossref:x11[x11,X Window 系統] 以取得更多有關如何安裝與設定圖型化顯示管理程式與圖型化登入管理程式的資訊。

系統開機之後,啟動畫面預設會作為螢幕保護程式,一段時間未使用便會顯示啟動畫面,並且會循環更改影像的亮度,從明亮到非常暗,然後再繼續循環。啟動螢幕保護程式的設定可在 [.filename]#/etc/rc.conf# 增加一行 `saver=` 來更改。有許多內建的螢幕保護程式可用,在 man:splash[4] 中有說明。`saver=` 的選項只會套用至虛擬 Console,對圖型化顯示管理程式並不會有任何影響。

透過安裝 package:sysutils/bsd-splash-changer[] 套件或 Port,可在開機時顯示隨機挑選的啟動畫面。啟動畫面功能支援 256 色的點陣圖 ([.filename]#.bmp#)、ZSoft PCX ([.filename]#.pcx#) 或 TheDraw ([.filename]#.bin#) 格式。[.filename]#.bmp#, [.filename]#.pcx# 或 [.filename]#.bin# 圖片必須放在根分割區,例如於 [.filename]#/boot#。啟動圖片檔必須使用 320x200 像素或更低的解析度以能夠在標準 VGA 介面卡上運作,要在預設 256 色、320x200 像素或更低的解析度設定開機啟動圖片,可加入下行到 [.filename]#/boot/loader.conf#,並替換 _splash.bmp_ 為實際要使用的點陣圖檔:

[.programlisting]
....
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bmp"
....

要使用 PCX 檔則可替換點陣圖檔:

[.programlisting]
....
splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.pcx"
....

若要改使用 https://en.wikipedia.org/wiki/TheDraw[https://en.wikipedia.org/wiki/TheDraw] 格式的 ASCII 圖可:

[.programlisting]
....
splash_txt="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bin"
....

要使用較大的圖片來填滿整個顯示畫面支援的解析度最大可至 1024x768 像素,VESA 模組也必須在系統開機時載入。若使用自訂的核心,請確定自訂核心設定檔中有含有 `VESA` 核心設定選項。要載入 VESA 模組來顯示啟動畫面可在 [.filename]#/boot/loader.conf# 上述例子中提到的三行之前加入下行:

[.programlisting]
....
vesa_load="YES"
....

其他有用的 [.filename]#loader.conf# 選項還有:

`beastie_disable="YES"`::
這個會關閉開機選項選單的顯示,但倒數計時提示仍會在。即使關閉了開機選項選單,在倒數計時提示時輸入選擇的選項還是會啟動對應的開機選項。

`loader_logo="beastie"`::
這個選項會替換預設與上色的小惡魔圖示一起顯示於開機選項選單右側的 "FreeBSD" 文字。

要取得更多資訊,請參考 man:splash[4], man:loader.conf[5] 以及 man:vga[4]。

[[device-hints]]
== 裝置提示

Expand Down
Loading