玩轉grub的開機引導(轉)
玩轉grub的開機引導(轉)[@more@]相信很多使用Red Hat的使用者都對GRUB預設的引導畫面感到厭倦了,這裡向大家提供一個較好的方法來實現每次都使用不同的開機引導畫面。 一幅背景 首先,需要一幅圖片,要求它的解析度在640×480或之上。雖然從道理上講小於這個尺寸也沒關係,因為可以把它擴張為640×480,但是這樣會造成比較嚴重的畫質損失,所以最好不要小於這個尺寸。選好圖片後,需要在GRUB的目錄中建立一個存放圖片的資料夾,一般情況可以透過以下命令來做: # cd /boot/grub && mkdir image但是僅僅這麼做是不夠的,因為一是沒有修改grub.conf,使所做的設定生效;二是GRUB使用壓縮了的XPM影像格式,而比較常見的圖片格式是BMP、JPG、GIF和PNG之類的,所以需要將圖片格式轉換成XPM。可能有人想到了使用GIMP,但是GIMP使用起來相對麻煩,而且如果沒有安裝X-Window的話就無法使用GIMP了。所以這裡建議使用命令convert進行圖片格式轉換(可以使用man convert命令詳細閱讀其使用手冊)。簡單說一下convert使用方法,比如要將image.jpg轉換為image.xpm,使用命令如下: # convert -geometry 640x480 -colors 14 image.jpg image.xpmconvert命令在Red Hat Linux 9.0上預設是安裝的。這個命令是把image.jpg轉變尺寸為640×480,色深是14的image.xpm。注意,命令列中的640和480之間是小寫字母“x”,不要寫錯。另外,GRUB要求圖片色深必須是14,一般可以這樣來證明: # cd /boot/GRUB && gunzip splash.xpm.gz && less splash.xpm在檔案頭部可以找到這些資訊: /* XPM */static char *10[] = {/* columns rows colors chars-per-pixel */"640 480 14 1",所以需要進行上述的轉換步驟以達到GRUB的要求。接下來壓縮這幅圖片,使用下面的命令: # gzip -9 image.xpm結果生成了image.xpm.gz,然後把這個檔案複製到image目錄,再修改grub.conf。注意,grub.conf是重要的啟動檔案,如果使用者沒有把握在GRUB引導失效後記住該檔案內容,最好備份一下。使用vi編輯器找到類似於這樣的行: splashimage=(hd0,1)/GRUB/splash.xpm.gz把它改為: splashimage=(hd0,1)/GRUB/image/image.xpm.gz然後使用命令wq存檔退出。這時不要著急刪掉splash.xpm.gz,因為如果修改失敗的話,還能有個引導畫面,否則的話每次進入GRUB就只有一個光禿禿的黑色背景了。 這樣就大功告成了,趕快重啟試試,看看自己的修改成果。雖然畫質有所下降,但是比起以前的單調畫面還是耳目一新的。如果重啟後進入GRUB引導畫面時影像嚴重失真,無背景或黑屏,則證明修改grub.conf有錯或圖片沒有轉化正確。如果GRUB沒有錯誤,進入系統後像上面那樣使用less檢查影像資訊;如果進不去系統的話使用系統盤進入單使用者模式,然後恢復grub.conf就行了。 多幅圖片 下面談一點高階話題。如果圖片很多的話,就需要一個指令碼來批次轉換: #!/bin/bash2#usuage: ./convert.sh *.jpg#convert *.jpg etc to *.xpm.gzIMAGE_PATH=/boot/grub/imageCURRENT=`pwd`for parmdofor i in `ls -1 $IMAGE_PATH | wc -l`do /usr/bin/convert -geometry 640x480 -colors 14 $CURRENT/$parm $IMAGE_PATH/$i.xpmgzip -9 $IMAGE_PATH/$i.xpm rm -f $CURRENT/$parmdonedone把上面的指令碼命名為convert.sh,然後放在/boot/grub/image下,使用下面的命令: # ln -s /boot/grub/image/convert.sh /bin/chgbimg這樣每次在批次轉換影像前先進入被轉換的影像所在目錄再執行chgbimg *.jpg就行了。如果/boot和/bin不在相同的分割槽上,可以使用下面的命令: # export chgbimg=/boot/grub/image/convert.sh#echo 'chgbimg=/boot/grub/image/convert.sh' >> ~/.bashrc與上述方法有同樣的效果,不過使用時要這樣: $chgbimg *.jpg。可以更換的圖片多了,隨之而來的問題就是手動修改grub.conf所帶來的麻煩和危險性。快速、安全和方便才是目標。我們再寫一個指令碼: # ~/.bash_logoutGB_PATH=/boot/grub IMAGE_NUM_PLUS=`ls -1 $GB_PATH/image | wc -l`N_TEMP=`cat /proc/uptime | awk '{print $1}' | awk -F. '{print $1}'`N=`expr $N_TEMP % ( $IMAGE_NUM_PLUS - 1 ) + 1`mv -f ${GB_PATH}/grub.conf ${GB_PATH}/grub.conf.bak上述指令碼可能有點複雜,簡單地解釋一下IMAGE_NUM_PLUS計算了可供使用的圖片數量,但是這個目錄裡還有個convert.sh,所以實際數量會減1。convert.sh放在這裡的一個原因是放在這裡比放在別處更容易理解;另一個原因是下一個要放在這個目錄裡的新圖片的序號應該是當前圖片數加1,convert.sh放在這裡正好補足了這個誤差。N是為了產生隨機數,因為圖片序號是N.xpm.gz,每次N都增1的話不免有些規律性,所以使用開機時間作為隨機種子。最後使用sed找到要修改的文字並替換掉。 這樣內容儲存在~/.bash_logout中,這樣就做到了每次的GRUB的引導畫面都不相同。好了,快享受一下這一番勞動成果所帶來的喜悅吧
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945181/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 雙硬碟grub引導9個作業系統(轉)硬碟作業系統
- 系統引導管理器grub初學者指南(轉)
- 筆記本雙系統的grub系統引導恢復(轉)筆記
- Ubuntu/Linux入門介紹-引導管理器Grub(轉)UbuntuLinux
- 透過GRUB(包括WINGRUB)命令列模式引導Linux的安裝(轉)命令列模式Linux
- Linux引導過程和GRUB引導器Linux
- 用 Win7 引導 grub4dos,以及用 grub 引導 Win7Win7
- Linux引導載入程式之爭:瞭解 LILO 和 GRUB(轉)Linux
- 求助:安裝紅帽子重引導後出現GRUB Hard Disk Error(轉)Error
- 已有一個LINUX系統用GRUB引導硬碟安裝紅旗(轉)Linux硬碟
- 使用Grub Rescue恢復Ubuntu引導Ubuntu
- Linux下Grub開機管理程式安裝簡介(轉)Linux
- grub詳解(轉)
- grub安裝(轉)
- 加快Linux的引導(轉)Linux
- 通過 Grub 來引導啟動 UBUNTUUbuntu
- 引導系統-MBR(轉)
- grub安裝心得(轉)
- GRUB入門教程(轉)
- GRUB安裝方式(轉)
- LINUX的引導過程 (轉)Linux
- 開機grub提示的解決
- 從EPROM引導Linux(轉)Linux
- 建立多重引導系統(轉)
- GRUB選單隱藏的解除(轉)
- GRUB引導進單使用者模式的三種方式模式
- GRUB學習筆記(轉)筆記
- Linux 管理員手冊(5)--引導和關機(轉)Linux
- 小邵教你玩轉JS物件導向JS物件
- Linunx系統引導過程及MBR/GRUB故障
- 【Linux】grub命令列引導進入windows系統Linux命令列Windows
- 轉載分享:淺談引導盤
- windows引導BSD和linux(轉)WindowsLinux
- 求助 windows下引導linux(轉)WindowsLinux
- 玩轉Spring狀態機Spring
- 給GRUB加上密碼鎖(轉)密碼
- zt:Grub引導的Linux系統下使用MaxDos V6.0Linux
- 妙手回春——GRUB系統引導器恢復指南薦