天天看點

+++++++grub應用及雙系統共存

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=&lt;路徑&gt;        指明root的位置

  quiet            靜默模式

  selinux=0        不啟動selinux

  init=/path/to/somefile 開機後,init程式為哪個。預設為/sbin/init  

  1,s,S,single       單使用者模式

  &lt;更多參數: google: kernel command line parameters&gt;

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&gt;</code>

2)、設定引導裝置位置

<code>grub&gt; 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&gt; 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&gt; 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光牒 關機 --&gt; 編輯虛拟主機 --&gt; CD/DVD(IDE) --&gt; 使用ISO鏡像檔案 --&gt; 浏覽選擇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,如需轉載請自行聯系原作者

繼續閱讀