本文記錄grub的一些進階配置php
事實上,你的 tty1~tty6 除了 80x24 的解析度外,還可以有其餘解析度的支持喔!但前提之下是你的核心必須支持 FRAMEBUFFER_CONSOLE 這個核心功能選項才行。如何肯定有沒有支持呢?你能夠查閱 /boot/config-2.6.18-92.el5 這個文件,而後這樣搜尋:html
[root@www ~]# grep 'FRAMEBUFFER_CONSOLE' /boot/config-2.6.18-92.el5 CONFIG_FRAMEBUFFER_CONSOLE=y # 這個項目若是出現 y 那就是有支持啦!若是被註解或是 n ,那就是沒支持啦!
彩度\解析度 | 640x480 | 800x600 | 1024x768 | 1280x1024 | bit |
256 | 769 | 771 | 773 | 775 | 8 bit |
32768 | 784 | 787 | 790 | 793 | 15 bit |
65536 | 785 | 788 | 791 | 794 | 16 bit |
16.8M | 786 | 789 | 792 | 795 | 32 bit |
那麼如何調整 tty1 ~ tty6 終端機的解析度呢?先參考底下的表格再說 (此爲十進位數值):linux
假設你想要將你的終端機螢幕解析度調整到 1024x768 ,且色彩深度爲 15bit 色的時候,就得要指定 vga=790 那個數字! 舉例來講,鳥哥的 tty1 就想要這樣的解析度時,你能夠這樣作:shell
[root@www ~]# vim /boot/grub/menu.lst ....(前面省略).... title CentOS (2.6.18-92.el5) root (hd0,0) kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet vga=790 initrd /initrd-2.6.18-92.el5.img ....(後面省略)....
從新啓動並選擇此菜單進入 Linux,你跑到 tty1 去看看,嘿嘿!就已是 1024x768 的解析度羅! 只是字會變的很小,可是畫面的範圍會加大就是了。不過,某些版本支持的是 16 進位制,因此還須要修改一下格式呢! 通常使用上表當中的值應該就能夠了。不過,由於不一樣的操做系統與硬件可能會有不同的狀況,所以, 上面的值不見得必定能夠在您的機器上面測試成功,建議您能夠分別配置看看哩~以找出可使用的值! ^_^vim
現今的硬盤容量愈來愈大,若是你使用舊的主板來安插大容量硬盤時,可能由於系統 BIOS 或者是其餘問題, 致使 BIOS 沒法判斷該硬盤的容量,此時你的系統讀取可能會有問題。爲何呢?測試
咱們在本章一開始的啓動流程講過,當進入 Linux 核心功能後,他會主動的再去偵測一下整個系統, 所以 BIOS 捉不到的硬件在 Linux 核心反而可能會能夠捉到而正常使用。舉例來講,過去不少朋友經常會發現, 『個人系統使用 DVD 啓動安裝時,能夠順利的安裝好 Linux ,可是第一次啓動時, 螢幕只出現黑壓壓的一片,且出現 grub> 的字樣,而沒法進入 Linux 系統中』,這又是怎麼一回事?ui
更多 grub 錯誤的代碼查詢能夠到底下的連結查閱:編碼
如今你知道問題所在啦!那就是 BIOS 沒法讀取大容量磁碟內的 kernel 與 initrd 文件。 那如何解決呢?很簡單啦!就讓 kernel 與 initrd 文件放置在大硬盤的最前頭,由於 BIOS 至少能夠讀到大磁碟的 1024 磁柱內的數據,所以就可以讀取核心與虛擬文件系統的文件羅。那如何讓 kernel 與 initrd 放置到整顆硬盤的最前面呢?簡單的要命吧!就建立 /boot 獨立分割槽,並將 /boot 放置到最前面便可!加密
萬一你已經安裝了 Linux 且發生了上述的問題,那該怎辦?你能夠這樣做的:spa
不過,鳥哥仍是建議您能夠從新安裝,而且製做出 /boot 這個 partition 啦! ^_^!這也是爲啥此次更版中, 鳥哥特別強調要分割出 /boot 這個分割槽的緣由啊!
想像一個環境,若是你管理的是一間計算機教室,這間計算機教室由於可對外開放,可是你又擔憂某些 partition 被學生不當心的弄亂,所以你可能會想要將某些啓動菜單做個保護。這個時候,爲每一個菜單做個加密的口令就是個可行的方案啦! 那如何在啓動的過程裏面提供口令保護呢?首先,你必需要建立口令,並且還須要是加密事後的喔! 不然人家跑到 /boot/grub/menu.lst 不就能夠探查到你的啓動口令了?那如何建立加密的口令呢? 咱們能夠透過 grub 提供的 md5 編碼來處理的,以下所示:
[root@www ~]# grub-md5-crypt Password: <==輸入口令 Retype password: <==再輸入一次 $1$kvlI0/$byrbNgkt/.REKPQdfg287. <==這就是產生的 md5 口令!
上表的案例中,咱們兩個菜單進入的口令並不相同,能夠進行同窗的分類啦!不過這樣也形成一個問題, 那就是必定要輸入口令纔可以進入啓動流程,若是你在遠程使用 reboot 從新啓動,而且主機前面並無任何人的話.... 你的主機並不會主動進入啓動程序喔! ^_^上面產生的最後一行,由 $ 開始到 . 結束的那行,就是你的口令通過 md5 編碼事後的咚咚! 將這個口令複製下來吧!假設咱們要將第一個選項加入這個口令,而第四個選項加入另外的口令, 那你應該要這樣作:
[root@www ~]# vim /boot/grub/menu.lst ....(前面省略).... title CentOS (2.6.18-92.el5) password --md5 $1$kvlI0/$byrbNgkt/.REKPQdfg287. root (hd0,0) kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet vga=790 initrd /initrd-2.6.18-92.el5.img ....(中間省略).... title single user mode password --md5 $1$GFnI0/$UuiZc/7snugLtVN4J/WyM/ root (hd0,0) kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet single initrd /initrd-2.6.18-92.el5.img
你必需要注意的是:password 這個項目必定要在 title 底下的第一行。 不過,此項功能仍是可能被破解的,由於使用者能夠透過編輯模式 (e) 進入菜單,並刪除口令欄位並按下 b 就可以進行啓動流程了!真糟糕!那怎辦?只好透過總體的 password (放在全部的 title 以前) , 而後在 title 底下的第一行配置 lock ,那使用者想要編輯時,也得要輸入口令才行啊!配置有點像這樣:
[root@www ~]# vim /boot/grub/menu.lst default=0 timeout=30 password --md5 $1$kvlI0/$byrbNgkt/.REKPQdfg287. <==放在總體配置處 splashimage=(hd0,0)/grub/splash.xpm.gz #hiddenmenu title CentOS (2.6.18-92.el5) lock <==多了鎖死的功能 root (hd0,0) kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet vga=790 initrd /initrd-2.6.18-92.el5.img
那麼從新啓動後,畫面會像這樣:
你能夠看到最下方僅出現 p 的功能,由於 2, 3, 4 菜單並無使用 lock ,所以這三個菜單使用者仍是能夠運行啓動程序, 可是第一個菜單由於有 lock 項目,所以除非你輸入正確的口令,不然第一個菜單是沒法被加載運行的。 另外,這個項目也可以避免你的 menu.lst 在啓動的過程當中被亂改,是具備保密 menu.lst 的功能啦! 與剛剛的菜單口令功能不一樣。
轉自 http://vbird.dic.ksu.edu.tw/linux_basic/0510osloader_3.php#grub_vga