Grub基礎、工作流程、grub配置檔案、grub功能、grub内置指令行接口
grub安裝、grub修複、
雙系統安裝(先Windows後Linux,以免windows NTloader會覆寫Linux loader)
splashimage修改請見上篇
GRUB Grand Uniform Bootloader
CentOS5,6 grub1 0系,裝置或分區編号從0開始
CentOS7 grub2 1系,裝置或分區編号從1開始
CentOS5,6 grub應用:
一、grub的工作流程
stage1 mbr中
stage1.5 mbr之後的扇區,存儲stage2所在分區的驅動
stage2 提供菜單,加載核心和ramdisk至記憶體,移交控制權
二、grub配置檔案
通常boot(stage2)在一個普通的分區上:
boot為一個獨立的分區, /可以為普通分區或lvm。通路boot通過挂載在根中實作
核心: kernel /vmlinuz, initrd /initramfs
boot和根在同一個分區,/必須為普通分區
核心: kernel /boot/vmlinuz, initrd /boot/initramfs
配置路徑
/etc/grub.conf -> ../boot/grub/grub.conf
/boot/grub/menu.lst -> ./grub.conf
配置格式
1
2
3
4
5
6
7
8
9
10
<code>default=0 </code><code>## 預設啟動菜單 </code>
<code>timeout=5 </code><code>## 等待使用者選擇菜單的逾時時長</code>
<code>splashimage=(hd0,0)</code><code>/meiling</code><code>.xpm.gz </code><code># 菜單的背景圖檔 640X480 14位索引色</code>
<code>hiddenmenu </code><code>## 是否隐藏菜單</code>
<code>password --md5 STRING </code><code>## 菜單加密功能,STRING由grub-md5-crypt 或 openssl passwd -1 -salt STRING 生成</code>
<code>title CentOS 6 (2.6.32-696.el6.i686) </code><code>## 定義菜單項的标題</code>
<code> </code><code>root (hd0,0) </code><code>## 引導裝置位置 左0: 第一個磁盤裝置,右0:第一個分區</code>
<code> </code><code>kernel </code><code>/vmlinuz-2</code><code>.6.32-696.el6.i686 ro root=</code><code>/dev/mapper/myvg-lv_root</code> <code>rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=myvg</code><code>/lv_swap</code> <code>KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet rd_NO_DM rd_LVM_LV=myvg</code><code>/lv_root</code> <code>rhgb quiet</code>
<code> </code><code>initrd </code><code>/initramfs-2</code><code>.6.32-696.el6.i686.img</code>
<code> </code><code>password --md5 STRING</code>
注意: root,kernel,initd格式的縮進
三、grub的功能
提供菜單 : tile TITLE
加載使用者選擇的kernel及ramdisk : kernel path parameters , initrd path
為菜單提供保護機制(kernel和菜單編輯認證) : password --md5 STRING
四、grub的内置指令行接口
root (hd#,#) 指定引導裝置在哪個裝置的哪個分區上。#從0開始,表示1.
kernel /vmlinuz PARAMETERS
當stage1.5找到stage2時,核心隻識别stage2所在的分區,此分區為/,是以分區的vmlinuz路徑為,/vmlinuz
PARAMETERS:
ro 以隻讀方式挂載root=PATH指明的路徑的根
root=<路徑> 指明root的位置
quiet 靜默模式
selinux=0 不啟動selinux
init=/path/to/somefile 開機後,init程式為哪個。預設為/sbin/init
1,s,S,single 單使用者模式
<更多參數: google: kernel command line parameters>
initrd /initramfs 指定initramfs的路徑
五、grub的安裝
安裝grub: grub-install指令 重新安裝grub stage1,1.5,2
grub-install指令
grub-install --root-directory=DIR DEIVCE
--root-directory=DIR 指向boot目錄的上一級目錄
DEVICE 給哪個裝置安裝grub
1)關機
<a href="https://s4.51cto.com/wyfs02/M00/05/73/wKiom1mlOCTTrM5MAAAvEuq7njE882.png" target="_blank"></a>
2)添加新的磁盤
<a href="https://s2.51cto.com/wyfs02/M02/A4/24/wKioL1mlOTPieKtTAAHaLdxl3NE999.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/05/73/wKiom1mlOUbARDaHAAB87CROfhU030.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/A4/24/wKioL1mlOTTTXmg1AACC3jbbPAA793.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M02/05/73/wKiom1mlOUeD5DghAABpUAJnNxQ463.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/A4/24/wKioL1mlOTXDl8GxAADeELrB6SY972.png" target="_blank"></a>
3)啟動虛拟機
<a href="https://s5.51cto.com/wyfs02/M00/05/73/wKiom1mlOheAloQ3AAAwuvEXbJo385.png" target="_blank"></a>
4)進入指令行
<a href="https://s4.51cto.com/wyfs02/M02/05/73/wKiom1mlOuvTKB9zAAAJ__w8zd8001.png" target="_blank"></a>
5)檢視磁盤
<a href="https://s2.51cto.com/wyfs02/M00/05/73/wKiom1mlO0azNe3gAAArtnOK_6E856.png" target="_blank"></a>
6)分區
<a href="https://s1.51cto.com/wyfs02/M02/A4/24/wKioL1mlO9zCkpqkAAACkkUiBxk551.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/A4/24/wKioL1mlO9zTXXjfAAAPYcC2KPA156.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/05/73/wKiom1mlO--REyqqAAAhRpXcluo600.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/A4/24/wKioL1mlO92h8cSpAAAPfm7bFcE274.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M02/05/73/wKiom1mlPILihMEiAAAKk4Qz2wg575.png" target="_blank"></a>
7)格式化
<a href="https://s5.51cto.com/wyfs02/M02/A4/24/wKioL1mlPG-geALhAAAXQN0NTk8229.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/A4/24/wKioL1mlPG-gzRGTAAAt0GEdEaw348.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/05/73/wKiom1mlPILhcEMjAAAvau8GH3A751.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/A4/24/wKioL1mlPHDxV3iMAAAJgB06m34128.png" target="_blank"></a>
8)挂載
<a href="https://s1.51cto.com/wyfs02/M01/A4/24/wKioL1mlPSGC8BwXAAADLTPmZt8032.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/05/73/wKiom1mlPTTxrTNbAAAK9RXOzwM962.png" target="_blank"></a>
9)安裝grub
<a href="https://s4.51cto.com/wyfs02/M00/05/73/wKiom1mlPcDxJZtuAAAVVdxtRN0293.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M02/A4/24/wKioL1mlPa3QVyv7AAANxzz2H80365.png" target="_blank"></a>
10)複制bash程式及其相關的庫
<a href="https://s4.51cto.com/wyfs02/M02/05/73/wKiom1mlPwmh9OSJAAADopUz7SE732.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M02/A4/24/wKioL1mlPvaTjfVRAAAMz6FSmlI178.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/05/74/wKiom1mlQI-CYkARAAACia7apQk245.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/A4/24/wKioL1mlQHzSkDt4AAAUFSMP7CE076.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/A4/24/wKioL1mlRZmCwE9KAAAPcxhUfn4969.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/A4/25/wKioL1mlSHmyoUP0AAAF4aHtTu0124.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/A4/25/wKioL1mlSQvT7zziAAAnrobENww666.png" target="_blank"></a>
11) 給出配置檔案
<a href="https://s4.51cto.com/wyfs02/M02/A4/24/wKioL1mlRgzBDz7jAAAT8cTjKTg357.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/05/74/wKiom1mlRk_Dv5GBAAAOMYO0bZs797.png" target="_blank"></a>
12)同步
<a href="https://s2.51cto.com/wyfs02/M00/A4/24/wKioL1mlQO7xc0WAAAAFsyUuAMg952.png" target="_blank"></a>
13)關機
# shutdown -h now
13)檢視第二個磁盤的名字
<a href="https://s2.51cto.com/wyfs02/M00/05/74/wKiom1mlQYry3kNqAACxXH-h5yI045.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/A4/24/wKioL1mlQXewcp4IAAAZMF4mRwo257.png" target="_blank"></a>
13)、建立虛拟機
<a href="https://s1.51cto.com/wyfs02/M02/05/74/wKiom1mlQniwZDQjAABMgCwlyZA401.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/A4/24/wKioL1mlQmaCzg__AABtZ2q6LJk280.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M00/A4/24/wKioL1mlQmaDRyyDAABVTmZXceg695.png" target="_blank"></a>
14)啟動建立的虛拟機
<a href="https://s3.51cto.com/wyfs02/M02/05/74/wKiom1mlRrfhzCvRAAHh8fstQEo674.png" target="_blank"></a>
15)啟動OK
<a href="https://s1.51cto.com/wyfs02/M02/A4/25/wKioL1mlSfnCYOQ-AAAdtskm-dc267.png" target="_blank"></a>
六、grub的修複
1、在指令行中: grub 隻是stage1(MBR 512)被破壞時,才能修複.
2、開機失效: rescue模式
1、在指令行中: grub
1)備份mbr
<code>[root@localhost ~]# dd </code><code>if</code><code>=/dev/sda of=/root/mbr.bak bs=</code><code>512</code> <code>count=</code><code>1</code>
2)破壞mbr的stage1
<code>[root@localhost ~]# dd of=/dev/sda </code><code>if</code><code>=/dev/zero bs=</code><code>446</code> <code>count=</code><code>1</code>
3)用grub指令行修複
1)、進入grub指令行
<code>[root@localhost ~]# grub</code>
<code>Probing devices to guess BIOS drives. This may take a long time.</code>
<code> </code><code>GNU GRUB version </code><code>0.97</code> <code>(640K lower / 3072K upper memory)</code>
<code> </code><code>[ Minimal BASH-like line editing </code><code>is</code> <code>supported. For the first word, TAB</code>
<code> </code><code>lists possible command completions. Anywhere </code><code>else</code> <code>TAB lists the possible</code>
<code> </code><code>completions of a device/filename.]</code>
<code>grub></code>
2)、設定引導裝置位置
<code>grub> root (hd0,</code><code>0</code><code>)</code>
<code>root (hd0,</code><code>0</code><code>)</code>
<code> </code><code>Filesystem type </code><code>is</code> <code>ext2fs, partition type </code><code>0x83</code>
3)、給裝置安裝grub
<code>grub> setup (hd0)</code>
<code>setup (hd0)</code>
<code> </code><code>Checking </code><code>if</code> <code>"/boot/grub/stage1"</code> <code>exists... no</code>
<code> </code><code>Checking </code><code>if</code> <code>"/grub/stage1"</code> <code>exists... yes</code>
<code> </code><code>Checking </code><code>if</code> <code>"/grub/stage2"</code> <code>exists... yes</code>
<code> </code><code>Checking </code><code>if</code> <code>"/grub/e2fs_stage1_5"</code> <code>exists... yes</code>
<code> </code><code>Running </code><code>"embed /grub/e2fs_stage1_5 (hd0)"</code><code>... </code><code>27</code> <code>sectors are embedded.</code>
<code>succeeded</code>
<code> </code><code>Running </code><code>"install /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub.conf"</code><code>... succeeded</code>
<code>Done.</code>
4)重新開機驗證
<code>grub> quit </code>
<code>quit</code>
<code>[root@localhost ~]# reboot</code>
<code>[root@localhost ~]#</code>
<a href="https://s3.51cto.com/wyfs02/M01/05/72/wKiom1mlLvbT93BaAAGdxIJec1U556.png" target="_blank"></a>
3)重新開機
4)rescue模式救援
1)、挂載CD光牒 關機 --> 編輯虛拟主機 --> CD/DVD(IDE) --> 使用ISO鏡像檔案 --> 浏覽選擇DVDCD光牒
2)、開機進入界面 開啟虛拟機
<a href="https://s5.51cto.com/wyfs02/M01/05/72/wKiom1mlMNHTV0r0AAARINf7Vc4421.png" target="_blank"></a>
保證CD光牒連接配接
3)、選擇黃色标記的行或ESC,輸入 linux rescue 後回車
<a href="https://s2.51cto.com/wyfs02/M02/05/72/wKiom1mlMZTydOavAAAHbovcsTU779.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/05/72/wKiom1mlMrKDBqyqAAbZxFUkE0Q440.png" target="_blank"></a>
4)、選擇語言
<a href="https://s4.51cto.com/wyfs02/M00/A4/23/wKioL1mlMzPwUAfHAABDYKKTu-I694.png" target="_blank"></a>
OK
5)、鍵盤類型
<a href="https://s3.51cto.com/wyfs02/M01/A4/23/wKioL1mlM3CT2rCIAAA-7lIuA-s249.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M00/05/73/wKiom1mlM7WiWXAVAAAJtLnaUWg110.png" target="_blank"></a>
6)、是否需要啟動網絡
<a href="https://s3.51cto.com/wyfs02/M01/05/73/wKiom1mlM9Ow3WrXAAAwuTXm_Gg017.png" target="_blank"></a>
NO
7)、臨時将/挂載在/mnt/sysimage中
<a href="https://s5.51cto.com/wyfs02/M01/05/73/wKiom1mlNB3h4cXXAABD0yaV8D4765.png" target="_blank"></a>
Continue
<a href="https://s3.51cto.com/wyfs02/M02/A4/23/wKioL1mlNEPy49LOAAAOYRokHrE443.png" target="_blank"></a>
8)、告知已經找到磁盤,需要使用root,運作chroot /mnt/sysimage即可
<a href="https://s2.51cto.com/wyfs02/M00/A4/23/wKioL1mlNIbxHaF5AAAmS_KoFig067.png" target="_blank"></a>
9)、
<a href="https://s3.51cto.com/wyfs02/M02/05/73/wKiom1mlNOvwrqJXAAASNHblzrY151.png" target="_blank"></a>
10)、選擇第一個
<a href="https://s1.51cto.com/wyfs02/M02/A4/23/wKioL1mlNP7hx-1uAAAdjLWrkJ8444.png" target="_blank"></a>
11)、列印一個shell提示符
<a href="https://s1.51cto.com/wyfs02/M02/A4/23/wKioL1mlNSqQ47vWAAAEWEzMeOU744.png" target="_blank"></a>
12)、切換至原root根目錄
<a href="https://s4.51cto.com/wyfs02/M01/05/73/wKiom1mlNXug9MOvAAAI8_YHcXQ415.png" target="_blank"></a>
13)、修複
<a href="https://s3.51cto.com/wyfs02/M00/A4/23/wKioL1mlNgSzhmo-AABdi0oxsNw871.png" target="_blank"></a>
14)、重新開機測試
<a href="https://s5.51cto.com/wyfs02/M01/05/73/wKiom1mlNnigpTOPAAATDz03FnU440.png" target="_blank"></a>
七、雙系統安裝
1、建立一個虛拟機
2、添加U盤安裝windows
3、安裝LInux系統
語言、鍵盤、主機名、時區、root的密碼
分區、bootloader及預設啟動項、程式包選擇
安裝Windows系統
3、安裝Linux
選擇Linux系統安裝CD光牒
<a href="https://s2.51cto.com/wyfs02/M02/A4/2C/wKioL1mmG8bjg4rjAADSN0aJu2g769.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/A4/2C/wKioL1mmHgjDAvYvAAF3t-sHUQ0545.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/05/7C/wKiom1mmHhygsQzfAABDSnkCA1g685.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/A4/2C/wKioL1mmHBfiXlQ8AAALvWVonN4742.png" target="_blank"></a>
選擇安裝Linux
<a href="https://s4.51cto.com/wyfs02/M01/A4/2C/wKioL1mmHE-RiYTmAAcW_g9u6RQ364.png" target="_blank"></a>
路過
<a href="https://s5.51cto.com/wyfs02/M01/A4/2C/wKioL1mmHIShaL7mAAAYaXlIkcA848.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/A4/2C/wKioL1mmHkKxR7bwAAAFPIWcbxs907.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/A4/2C/wKioL1mmHsPgIib5AAJcC7Qo9FE616.png" target="_blank"></a>
設定安裝時的語言
<a href="https://s2.51cto.com/wyfs02/M01/A4/2C/wKioL1mmHsPzoUMxAAB2XB1-nPQ237.png" target="_blank"></a>
設定鍵盤語言
<a href="https://s2.51cto.com/wyfs02/M01/05/7C/wKiom1mmHtfxuOAiAABkM2vf9pg092.png" target="_blank"></a>
選擇基本存在裝置
<a href="https://s2.51cto.com/wyfs02/M02/05/7C/wKiom1mmHtiBqz4gAAC4VD0fRz0430.png" target="_blank"></a>
設定主機名
<a href="https://s5.51cto.com/wyfs02/M01/A4/2D/wKioL1mmH2yid4vyAABWORALJnQ569.png" target="_blank"></a>
設定時區
<a href="https://s5.51cto.com/wyfs02/M00/05/7C/wKiom1mmH4HBHrzAAAIBHLeoaAA994.png" target="_blank"></a>
設定ROOT密碼
<a href="https://s1.51cto.com/wyfs02/M01/A4/2D/wKioL1mmH23Cnwf3AAB3p0KBWIc691.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/05/7C/wKiom1mmH4Gi3m_fAAA0u1On544146.png" target="_blank"></a>
自定義分區
<a href="https://s1.51cto.com/wyfs02/M02/A4/2D/wKioL1mmH23RgtLgAAEZ6pvv45k025.png" target="_blank"></a>
自定中,不要編輯/dev/sda1,(XP系統盤)
預設引導設定
<a href="https://s1.51cto.com/wyfs02/M01/05/7C/wKiom1mmIhniRzqYAADDUAktkY8537.png" target="_blank"></a>
選擇自定義最小化安裝
<a href="https://s1.51cto.com/wyfs02/M00/A4/2D/wKioL1mmIgXBJpswAADjuQPJdkY640.png" target="_blank"></a>
安裝過程
<a href="https://s3.51cto.com/wyfs02/M02/05/7C/wKiom1mmIlDDDuP6AAKyIcWtNHM242.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/A4/2E/wKioL1mmJtuxvVOuAAKhxdtYYhs183.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/05/7E/wKiom1mmK66BN0ZeAADoEOdj4lA730.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/A4/2F/wKioL1mmK5rzs9N4AAAbMl0Roj0795.png" target="_blank"></a>
起動CentOS
<a href="https://s2.51cto.com/wyfs02/M00/05/7E/wKiom1mmLMOSAShAAAKZhe7-5LI848.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/A4/2F/wKioL1mmLK_xLwAkAAAeCqithuI687.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/05/7E/wKiom1mmLMODAMyBAAAHg6OCfLY077.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/05/7E/wKiom1mmLMOx-v01AACPRfiJ5jE108.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/A4/2F/wKioL1mmLLDCzQFNAABuJdX6VVc432.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/05/7E/wKiom1mmLMSR7uzgAAAkn_4BXDQ492.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/A4/2F/wKioL1mmLLDRCVgvAAENjgTRxLk896.png" target="_blank"></a>
賬号: root
密碼: 鍵入之前設定的密碼
<a href="https://s5.51cto.com/wyfs02/M01/A4/2F/wKioL1mmLULi5oeCAABkRWExcTE582.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M02/A4/2F/wKioL1mmLYnQ2_9iAAa6oRXnQ74642.png-wh_500x0-wm_3-wmp_4-s_2467253113.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M01/05/7E/wKiom1mmMBHhlf4zAAAx583-ov4205.png" target="_blank"></a>
重新開機測試Windows
<a href="https://s1.51cto.com/wyfs02/M02/05/7E/wKiom1mmLw7gV9XFAAbYbH-ic5s406.png-wh_500x0-wm_3-wmp_4-s_2173309879.png" target="_blank"></a>
本文轉自 lccnx 51CTO部落格,原文連結:http://blog.51cto.com/sonlich/1960959,如需轉載請自行聯系原作者