有時(shí)候grub出現(xiàn)問(wèn)題,不能通過(guò)啟動(dòng)選項(xiàng)啟動(dòng)目標(biāo)操作系統(tǒng),以啟動(dòng)一個(gè)linux為例
按c鍵切換到命令行模式
grub> set root=(hd0,msdos1) 設(shè)置根目錄為第一硬盤(pán)的第一個(gè)分區(qū)
grub> linux /boot/vmlinuz 設(shè)置內(nèi)核文件,有的linux發(fā)行版會(huì)有一個(gè)名為wmlinuz的軟連 接指向真正的內(nèi)核文件
grub> initrd /boot/initrd 設(shè)置initrd文件,也有可能用軟連接
grub> boot 從硬盤(pán)啟動(dòng)
以上命令可以用tab鍵補(bǔ)全 根據(jù)實(shí)際情況有所不同
Grub 2的內(nèi)核是符合multiboot標(biāo)準(zhǔn)的,因此可以在Grub中引導(dǎo)。
1、下載
解壓到某個(gè)FAT分區(qū)的根目錄,會(huì)生成/boot/grub目錄,Grub 2的文件便在該目錄下。
2、修改
/boot/grub/grub.cfg
這是Grub 2的配置文件,它的格式不同于menu.lst,以下是一個(gè)例子:
set timeout=20
set default=0
menuentry "Chainload First Part" {
set root=(hd0,1)
chainloader +1
}
menuentry "Load Linux at Second Part" {
set root=(hd0,2)
linux /vmlinuz root=/dev/hda2
initrd /initrd
}
如果你熟悉Grub,應(yīng)該可以看明白里面的內(nèi)容。要注意的是:
a、timeout, default等參數(shù)用變量來(lái)儲(chǔ)存
d、菜單項(xiàng)由menuentry定義
c、第1個(gè)分區(qū)是(hd0,1)而不是(hd0,0)
d、當(dāng)前支持的啟動(dòng)方式是chainload,linux和multiboot
3、在Grub中使用以下的命令進(jìn)入Grub2
root (hd0,0)
kernel /boot/grub/core.img
boot
(hd0,0)請(qǐng)用存放Grub2的分區(qū)的名字來(lái)代替
4、進(jìn)入Grub 2后,在菜單界面下輸入 c 便可進(jìn)入控制界面。
Grub 2 是新一代的Grub,它實(shí)現(xiàn)了一些Grub中所沒(méi)有的功能:
1、模塊化設(shè)計(jì)
不同于Grub的單一內(nèi)核結(jié)構(gòu),Grub 2 的功能分布在很多的小模塊中,并且能在運(yùn)行時(shí)動(dòng)態(tài)裝載和卸除。
2、支持多體系結(jié)構(gòu)
Grub 2可支持PC(i386), MAC(powerpc)等不同的體系機(jī)構(gòu),而且支持最新的EFI架構(gòu)。
3、國(guó)際化的支持
Grub 2 可以支持非英語(yǔ)的語(yǔ)言。
4、內(nèi)存管理
Grub 2 有真正的內(nèi)存管理系統(tǒng)。
5、腳本語(yǔ)言
Grub 2 可以支持腳本語(yǔ)言,例如條件,循環(huán),變量,函數(shù)等。
欲學(xué)軟件必先學(xué)識(shí)圖,建筑施工圖和結(jié)構(gòu)施工圖。軟件算量就是一個(gè)抄圖的過(guò)程
給你2張圖片看看就明白了! ? ? ?
一根軟控制線,連接到各個(gè)信號(hào)點(diǎn),即可。
lsmod
列表當(dāng)前裝載的模塊
insmod mod_name
裝載模塊
rmmod mod_name
卸除模塊
help [command]
顯示幫助
ls [options] [dir]
列表目錄。當(dāng)不帶參數(shù)時(shí),顯示的是所有的硬盤(pán)設(shè)備,帶參數(shù)時(shí),顯示的是目錄里的子目錄和文件。
還有很多其它的命令,全部命令的列表在/boot/grub/command.lst里:
boot cat chainloader cmp . configfile export font halt hello help initrd
lsmod linux loopback ls lsmod module multiboot play reboot rescue rmmod
search set source terminal terminfo [ unset vbeinfo vbetest videotest
可以用help來(lái)看具體的用法
注意:
a、很大一部分命令都在模塊里,如果輸入時(shí)顯示找不到命令,只需要用insmod 裝載相應(yīng)的模塊就可以了。
b、你可以定制內(nèi)核,使所需的命令包在其中。
從代碼中編譯:
1、用cvs取得源代碼
2、當(dāng)前的Grub2代碼中有一個(gè)bug,使得啟動(dòng)后不會(huì)顯示grub.cfg中的菜單,有一個(gè)補(bǔ)丁,在:
擴(kuò)展閱讀里
要使用該補(bǔ)丁,請(qǐng)進(jìn)入grub2的目錄,然后:
patch -p1 < grub2-menu.diff
這里假設(shè)grub2-menu.diff放在grub2目錄下
3、./configure
然后
./make
4、定制內(nèi)核
./grub-mkimage -d . -v -o core.img fat pc
core.img是內(nèi)核的名字,fat和pc是加入內(nèi)核的模塊。常用模塊有:
fat: 支持 fat 文件系統(tǒng)
ext2: 支持 ext2 文件系統(tǒng)
pc: 支持主分區(qū)和擴(kuò)展分區(qū)
help: help命令
ls: ls命令
除了當(dāng)前分區(qū)的文件系統(tǒng)的模塊外,其它的都可以用insmod在進(jìn)入grub2后才轉(zhuǎn)載
5、把core.img, boot.img, diskboot.img, *.mod, fs.lst, command.lst
抄到某一分區(qū)的 /boot/grub目錄下,然后編寫(xiě)配置文件grub.cfg
手機(jī)產(chǎn)品設(shè)計(jì)中的用戶引導(dǎo)和新手引導(dǎo)
格式:pdf
大?。?span id="mjf6mta" class="single-tag-height">1.2MB
頁(yè)數(shù): 5頁(yè)
評(píng)分: 4.3
手機(jī)產(chǎn)品設(shè)計(jì)中的用戶引導(dǎo)和新手引導(dǎo)
引導(dǎo)創(chuàng)造價(jià)值
格式:pdf
大小:1.2MB
頁(yè)數(shù): 4頁(yè)
評(píng)分: 4.8
引導(dǎo)是一個(gè)達(dá)成共識(shí)、締結(jié)聯(lián)盟的過(guò)程。它需要整個(gè)團(tuán)隊(duì)一起工作。