Linux
EC2 上的 CentOS 系統是否可能沒有引導載入程序?
我正在嘗試尋找 grub:
[root /]# find / -iname "*grub*" /sbin/grubby /usr/share/man/man8/grubby.8.gz /usr/share/vim/vim70/syntax/grub.vim /usr/share/vim/vim70/ftplugin/grub.vim /usr/lib/pm-utils/sleep.d/01grub
現在我正在嘗試尋找 lilo:
[root /]# find / -iname "*lilo*" /usr/share/doc/syslinux-3.11/keytab-lilo.doc /usr/share/vim/vim70/syntax/lilo.vim /usr/lib/syslinux/keytab-lilo.pl
我想也許它以某種方式被 SELinux 隱藏了,所以我試圖(暫時)關閉它:
[root@ /]# setenforce 0 setenforce: SELinux is disabled
嗯,好像已經下架了。把它打開怎麼樣?
[root@ /]# setenforce 1 setenforce: SELinux is disabled
好的,現在我不知道為什麼找不到任何引導載入程序文件。我重新執行
find
命令並得到相同的結果。接下來我閱讀了 Linux Administration Handbook 中的引導載入程序部分,並沒有提到無法找到引導載入程序配置文件。
這是 Amazon EC2 上的一個盒子:
CentOS release 5.4 final selinux
沒有這些文件是正常的嗎?我似乎也沒有任何
/etc/sysconfig/selinux
或/etc/selinux/config
文件….嗯….更新 - 我為什麼要問?
這篇文章(以及其他文章)提到了在 grub.conf 文件中使用引導標誌來啟用或禁用 selinux。如果沒有引導載入程序,您如何指定引導標誌?
是的。根本不需要引導載入程序。考慮到像 grub 這樣的引導管理器提供的靈活性,核心可以自行載入,這不是必需的。bzImage 包含啟動所需的所有程式碼:
資料來源:維基百科
對於 3.3 以後的 linux 核心,這也適用於 UEFI 系統。這種特殊的引導載入程序稱為 efi 存根。Fedora 是為數不多的帶有配置為 EFI_STUB=y 的核心的發行版之一。
我既不知道 EC2,也不知道 CentOS,也不知道它們是如何設置的。但是,如果不需要啟動多個核心或作業系統,則無需安裝專用的啟動管理器。