天天看点

+++++++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)、挂载光盘 关机 --&gt; 编辑虚拟主机 --&gt; CD/DVD(IDE) --&gt; 使用ISO镜像文件 --&gt; 浏览选择DVD光盘

2)、开机进入界面 开启虚拟机 

<a href="https://s5.51cto.com/wyfs02/M01/05/72/wKiom1mlMNHTV0r0AAARINf7Vc4421.png" target="_blank"></a>

保证光盘连接

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系统安装光盘

<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,如需转载请自行联系原作者

继续阅读