grub参数介绍。
為什么80%的碼農都做不了架構師?>>> ??
grub的配置文件在/boot/grub/grub.conf。/etc/grub.conf和/boot/grub/menu.lst都是指向這個文件的軟連接。
grub啟動時,會尋找menu.lst文件,如果找不到,則進入grub>交互界面。這時就需要我們手動指定kernel和img文件地址了。用到的基本參數是root、kernel、initrd。
我們也可以在grub啟動的時候,用a/e鍵臨時編輯參數(不會修改grub.conf文件)。內容如:
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-LogVol01 # initrd /initrd-[generic-]version.img #boot=/dev/vda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux Server (2.6.32-279.14.1.el6.x86_64)root (hd0,0)kernel /vmlinuz-2.6.32-279.14.1.el6.x86_64 ro root=/dev/mapper/VolGroup-LogVol01 rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD quiet rd_LVM_LV=VolGroup/LogVol01 SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM console=ttyS0initrd /initramfs-2.6.32-279.14.1.el6.x86_64.img title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64)root (hd0,0)kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/VolGroup-LogVol01 rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD quiet rd_LVM_LV=VolGroup/LogVol01 SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM console=ttyS0initrd /initramfs-2.6.32-220.el6.x86_64.img ~一、非核心參數。
1, 配置參數default。
這個參數決定grub光標默認停留的引導標簽。default=0,光標停留在第一個引導標簽上;default=1,光標停留在第二個引導標簽上。
2, 配置參數timeout。
這個參數設置grub等待時間。單位為秒。
3, splashimage
這個參數設置grub引導界面的背景圖位置。如需要自己設置,制作一張XPM圖,然后將圖片壓縮成gz格式。
如果把這個參數刪除,grub引導界面會變成普通的黑底白字,和NT loader一樣。
4, 配置單數title。
很顯然是grub引導界面的標題。
5, 配置參數password
通過修改grub啟動參數,可以輕松進入單用戶模式,修改root密碼。所以設置password保護grub界面。
二、核心參數(root, kernel, initrd)
root (hd0,0) 表示第一個硬盤,第一個分區。這里的root和Linux系統里的root用戶不是一回事。在 Linux 中,當談到 "root" 文件系統時,通常是指主 Linux 分區。但是,GRUB 有它自己的 root 分區定義。GRUB 的 root 分區是保存 Linux 內核的分區。這可能是您的正式 root 文件系統,也可能不是。我們討論的是 GRUB,需要指定 GRUB 的 root 分區。進入 root 分區時,GRUB 將把這個分區安裝成只讀型,這樣就可以從該分區中裝入 Linux 內核。GRUB 的一個很“酷”的功能是它可以讀取本機的 FAT、FFS、minix、ext2 和 ReiserFS 分區.到目前為止,您可能會感到一點疑惑,因為 GRUB 所使用的硬盤/分區命名約定與 Linux 使用的命名約定不同。在Linux 中,第一個硬盤的第五個分區稱作 "hda5"。而 GRUB 把這個分區稱作 "(hd0,4)"。GRUB 對硬盤和分區的編號都是從 0 開始計算。另外,硬盤和分區都用逗號分隔,整個表達式用括號括起。現在,可以發現如果要引導 Linux 硬盤 hda5,應輸入 "root (hd0,4)"。?
kernel /vmlinuz-2.6.32-279.14.1.el6.x86_64 ro root=/dev/mapper/VolGroup-LogVol01 rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD quiet rd_LVM_LV=VolGroup/LogVol01 SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM console=ttyS0注意:
指定內核的位置。后面跟的是參數。有時候,我們需要打開Linux的串行接口ttyS0,則要在這行的最后面跟上這個參數。console=ttyS0,
在這行末尾添加上single,或者在grub互交環境下在kernel命令最末尾添上 single則,系統會登陸到單用戶模式。
initrd /initramfs-2.6.32-220.el6.x86_64.img 用來初始的linux image,并設置相應的參數。 命令map:當你有兩塊硬盤,一個無法從第二塊硬盤啟動的操作系統,例如Windowsxp,就可以使用map命令.你能夠將hd0映射為hd1,將hd1映射為hd0。換句話說,你可以虛擬的交換兩個硬盤而啟動所需要的操作系統 。命令形式如下:?
grub> map (hd0) (hd1)?
grub> map (hd1) (hd0)?
GRUB 使用了“鏈式裝入器”(chainloader)。鏈式裝入器從分區 (hd1,0) 的引導記錄中裝入winxp自己的引導裝入器,然后引導它。這就是這種技術叫做鏈式裝入的原因 -- 它創建了一個從引導裝入器到另一個的鏈。這種鏈式裝入技術可以用于引導任何版本的 DOS 或 Windows。?
GRUB的配置文件要簡單就這么簡單,如果你要更個性化一點,試一試把“color light-gray/blue ”加在default語句的下面,下一次啟動GRUB時,看看有什么變化,再試一試“color light-blue/red",驚喜嗎? 有趣吧! )?
三、grub的交互性。
如果需要在Linux登陸的時候,臨時修改grub。則鍵入e,選擇kernel后,再鍵入e。為kernel命令添加參數。
參考資料:
http://wenku.baidu.com/view/dafafe707fd5360cba1adb58.html
http://www.eliteblog.cn/user/shavie/GRUB-BOOT-CHAINLOADER-MBR.html
http://tech.ccidnet.com/art/3089/20070419/1065507_1.html
轉載于:https://my.oschina.net/jccpp/blog/122570
總結
- 上一篇: 磁盘 I/O性能指标
- 下一篇: 关于一个js栈溢出的异常