
我最近一直在玩Debian,因為在我看來,這是使用Ubuntu 開始我的Linux 之旅後最合乎邏輯的一步(我真的不喜歡Unity,並且同時安裝GNOME 這讓我很困擾,因為我無法卸載完全統一,不會弄亂大部分剩餘的桌面功能。
在我看來,這似乎沒有必要,應該像 Ubuntu 和 Windows 一樣直接啟動到內核,而不是讓我選擇一個,而且我的選擇始終是相同的 - 預設選項。
在安裝過程中,解釋該選項的文字大意是「我們需要使 Debian 可啟動」——這是我猶豫選擇「否」的主要原因。我當然希望它啟動!我可以花點時間看看如果我選擇“否”會發生什麼,但我認為最好先詢問你們所有人。
選擇「否」安裝 GRUB 是否安全?如果不安裝 Debian 還會啟動嗎?如果選擇「否」是安全的,那麼此選項有什麼缺點嗎?
答案1
嗯...怎麼說呢。 Debian 是一個在電腦上運行的 Linux 發行版,但要使其進入可以開始工作的狀態,需要引導程式。該發行版基本上搭載 GRUB 或任何其他引導程序,直到準備好運行。您可以使用 syslinux 作為 GRUB 的替代品。
答案2
為了擴展已接受的答案......
當 x86 PC 啟動時,其 CPU 以 16 位元實模式執行,並執行 BIOS 中儲存的程式碼。 BIOS 執行 POST 和初始配置後,它會從啟動磁碟的開頭讀取前 512 個位元組,並將執行轉移到那裡 — 這是啟動載入程式的初始程式碼,應該完成其餘的工作。
現在考慮休息什麼。 在最簡單的情況下,引導程式應該能夠定位並載入核心映像並將執行轉移到那裡。較舊的事實上的標準 Linux 載入程序,lilo
保留了儲存核心的所有磁區的連續映射。但從那時起,情況發生了很大變化:更多的檔案系統開始使用,將核心保留在 RAID 設備或 LVM 邏輯磁碟或所有這些的堆疊上已成為慣例。電腦開始配備更多可插拔磁碟,這意味著它們的初始化可以任意排序,因此會出現命名問題。現在考慮一下,現在建立一個基於 Linux 的通用系統需要一些早期可用的使用者空間這些工具保存在所謂的“initrd”(初始 RAM 磁碟)或“initramfs”(初始 RAM 檔案系統)上,因此實際上引導程式不僅載入 Linux 內核,還載入與之匹配的 initramfs。
所以,引導程式的任務是:
- Bootstrap 本身——這 512 個位元組只能找到並載入更複雜的東西。
- 發現並初始化存取引導檔案系統(包含核心及其 initramfs 的檔案系統)所需的所有層。
- 全部加載,然後將控制權轉移給核心。
現在考慮一下,大多數人發現能夠以某種方式視覺化和控制此過程很有用,因此引導程式需要能夠呈現某種選單並能夠調整將載入的內容以及載入方式。載入替代核心的能力也可能是一個好處(例如,從 Debian 安全更新儲存庫安裝的新核心永遠不會刪除現有核心 - 相反,該核心會保留在一邊,並且在發現回歸時可用於啟動在一個新的)。
因此,可以看出,除非我們處理某種記憶體/儲存空間要求非常嚴格的嵌入式系統,並且沒有人控制核心的載入方式,否則將此功能直接放入核心中是不合理的,更是如此,因為引導程式本質上是高度依賴硬體平台的軟體。這就是引導程式存在的原因,也是為什麼在通用系統上使用引導程式的需求基本上是不可避免的。