Grub2 編輯所需的安裝與啟動實現
啟動時根據mbr所提供信息找到啟動分區后,加載分區內的grub核心文件core.img和配置文件grub.cfg,進入選擇菜單畫面,在菜單畫面,按上下箭號選擇需要系統菜單項,按Enter進入選項。
1、按e進入己選擇菜單的編輯狀態,在編輯狀態下,由上下左右箭號來移動光標,enter鍵換行,ctrl+x以編輯的內容啟動,ctrl+c進命令行狀態,按Esc退出,回到菜單項。
在需要使用額外的內核參數啟動時,比如要加上acpi=off時,把光標移動到linux這一行***,在splash后加上一空格再輸入acpi=off,然后按ctrl+x啟動。
按c進入命令行狀態,按Tab鍵可查看所有可用的命令。
在命令行狀態,可以根據需要加載或移除相應模塊,也可用來啟動在菜單沒有顯現的的系統。
比如,在***硬盤的***分區上裝有windowsxp系統,但在菜單上沒顯示出來,我們可以命令行狀態下輸入命令啟動:
grub>setroot=(hd0,1)
grub>chainloader+1
grub>boot
又比如啟動第二硬盤***邏輯分區上的ubuntu系統:
- http://msnpiki.msnfanatic.com/index.php/Main_Page-->
- x;margin-bottom:0px;margin-left:0px;font-family:Arial;">grub>setroot=(hd1,5)
- grub>linux/boot/vmlinuz-xxx-xxxroot=/dev/sdb5
- grub>initrd/boot/initrd.img-xxx-xxx
- grub>boot
其中內核vmlinuz和initrd.img的版本號可用按Tab鍵自動查看。
2、下面介紹下在Grub2 編輯中一些常用的命令
1)help
查看命令用法,如
helpsearch:查看search命令詳細用法
2)set
設置變量值,如
setdefault=0
settimeout=5
setroot=(hd0,3)等等
需要調用變量AA的值時,使用${AA},如setroot=(hd1,1),則${root}=(hd1,1)
3)default
定義默認引導的操作系統。0表示***個操作系統,1表示第2個,依此類推
4)timeout
定義在時間內用戶沒有按下鍵盤上的某個按鍵,自動引導default指定的操作系統。
5)root
指定用于啟動系統的分區。
6)insmod和rmmod
加載或移除某模塊,如
insmodjpeg
insmodpng
insmodntfs
rmodpng
等
7)drivemap
drivemap兼容grub的map,主要用于只能從***硬盤(hd0)引導啟動的系統如win2000xp2003,比如要添加第二硬盤***分區上的xp系統:
menuentry"WindowsXP"{
setroot=(hd1,1)
drivemap-s(hd0)${root}
chainloader+1
}
8)ls
列出當前的所有設備。如(hd0),(hd0,1),(hd0,5),(hd1),(hd1,1),(hd1,2)等
ls-l
詳細列出當前的所有設備。對于分區,會顯示其label及uuid。
ls/
列出當前設為root的分區下的文件
ls(hd1,1)/
列出(hd1,1)分區根目錄的文件
9)search
search-f/ntldr
列出根目錄里包含ntldr文件的分區,返回為分區號
search-lLINUX
搜索label是LINUX的分區。
search--set-f/ntldr
搜索根目錄包含ntldr文件的分區并設為root,注意如果多個分區含有ntldr文件,
set失去作用。
>10)loopback
loopback命令可用于建立回放設備,如
loopbacklo0(hd1,1)/abc.iso
可以使用lo0設備來訪問abc.iso里的內容,比如說,可以從abc.iso里的軟盤映像中啟動
loopbacklo0(hd1,1)/aa.iso
linux(lo0)/memdisk
initrd(lo0)/abc.img
要刪除某一回放設備,可以使用-d參數:
loopback-dlo0
11)pager
分頁顯示。
setpager=1
顯示滿一頁時暫停,按space繼續
setpager=0
取消分頁顯示
12)linux
用linux命令取代grub中的kernel命令
13)chainloader
調用另一個啟動器,如
chainloader(hd0,1)+1
調用***硬盤***分區引導扇區內的啟動器,可以是windows或linux的啟動器
14)grub2掛載軟盤鏡像
menuentry"BootfromDOSIMG"{
linux16/memdisk
initrd16/win98.img
}
對非標準的1.4M和2.8M的其他鏡像掛載方法,需要指定CHS參數:
menuentry"BootfromIMG"{
linux16/memdiskc=*h=*s=*floppy
initrd16/xxx.img
}
詳細出處參考:http://www.itqun.net/content-detail/124967_3.html
【編輯推薦】