+++++++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
default=0             ## 默认启动菜单 
timeout=5             ## 等待用户选择菜单的超时时长
splashimage=(hd0,0) /meiling .xpm.gz      # 菜单的背景图片 640X480 14位索引色
hiddenmenu                  ## 是否隐藏菜单
password --md5 STRING            ## 菜单加密功能,STRING由grub-md5-crypt 或 openssl passwd -1 -salt STRING 生成
title CentOS 6 (2.6.32-696.el6.i686)    ## 定义菜单项的标题
     root (hd0,0)             ## 引导设备位置 左0: 第一个磁盘设备,右0:第一个分区
     kernel  /vmlinuz-2 .6.32-696.el6.i686 ro root= /dev/mapper/myvg-lv_root  rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=myvg /lv_swap   KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet rd_NO_DM rd_LVM_LV=myvg /lv_root  rhgb quiet
     initrd  /initramfs-2 .6.32-696.el6.i686.img
     password --md5 STRING

注意: 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)关机

wKiom1mlOCTTrM5MAAAvEuq7njE882.png


2)添加新的磁盘

wKioL1mlOTPieKtTAAHaLdxl3NE999.png

wKiom1mlOUbARDaHAAB87CROfhU030.png

wKioL1mlOTTTXmg1AACC3jbbPAA793.png

wKiom1mlOUeD5DghAABpUAJnNxQ463.png

wKioL1mlOTXDl8GxAADeELrB6SY972.png


3)启动虚拟机

wKiom1mlOheAloQ3AAAwuvEXbJo385.png


4)进入命令行

wKiom1mlOuvTKB9zAAAJ__w8zd8001.png


5)查看磁盘

wKiom1mlO0azNe3gAAArtnOK_6E856.png


6)分区

wKioL1mlO9zCkpqkAAACkkUiBxk551.png

wKioL1mlO9zTXXjfAAAPYcC2KPA156.png

wKiom1mlO--REyqqAAAhRpXcluo600.png

wKioL1mlO92h8cSpAAAPfm7bFcE274.png

wKiom1mlPILihMEiAAAKk4Qz2wg575.png


7)格式化

wKioL1mlPG-geALhAAAXQN0NTk8229.png

wKioL1mlPG-gzRGTAAAt0GEdEaw348.png

wKiom1mlPILhcEMjAAAvau8GH3A751.png

wKioL1mlPHDxV3iMAAAJgB06m34128.png


8)挂载

wKioL1mlPSGC8BwXAAADLTPmZt8032.png

wKiom1mlPTTxrTNbAAAK9RXOzwM962.png


9)安装grub

wKiom1mlPcDxJZtuAAAVVdxtRN0293.png

wKioL1mlPa3QVyv7AAANxzz2H80365.png


10)复制bash程序及其相关的库

wKiom1mlPwmh9OSJAAADopUz7SE732.png

wKioL1mlPvaTjfVRAAAMz6FSmlI178.png

wKiom1mlQI-CYkARAAACia7apQk245.png

wKioL1mlQHzSkDt4AAAUFSMP7CE076.png

wKioL1mlRZmCwE9KAAAPcxhUfn4969.png

wKioL1mlSHmyoUP0AAAF4aHtTu0124.png

wKioL1mlSQvT7zziAAAnrobENww666.png

11) 给出配置文件

wKioL1mlRgzBDz7jAAAT8cTjKTg357.png

wKiom1mlRk_Dv5GBAAAOMYO0bZs797.png


12)同步

wKioL1mlQO7xc0WAAAAFsyUuAMg952.png


13)关机

# shutdown -h now


13)查看第二个磁盘的名字

wKiom1mlQYry3kNqAACxXH-h5yI045.png

wKioL1mlQXewcp4IAAAZMF4mRwo257.png


13)、新建虚拟机

wKiom1mlQniwZDQjAABMgCwlyZA401.png

wKioL1mlQmaCzg__AABtZ2q6LJk280.png

wKioL1mlQmaDRyyDAABVTmZXceg695.png


14)启动新建的虚拟机

wKiom1mlRrfhzCvRAAHh8fstQEo674.png


15)启动OK

wKioL1mlSfnCYOQ-AAAdtskm-dc267.png



六、grub的修复

1、在命令行中: grub 只是stage1(MBR 512)被破坏时,才能修复. 

2、开机失效: rescue模式


1、在命令行中: grub

1)备份mbr

1
[root@localhost ~]# dd  if =/dev/sda of=/root/mbr.bak bs= 512  count= 1


2)破坏mbr的stage1

1
[root@localhost ~]# dd of=/dev/sda  if =/dev/zero bs= 446  count= 1


3)用grub命令行修复 

1)、进入grub命令行

1
2
3
4
5
6
7
8
9
10
[root@localhost ~]# grub
Probing devices to guess BIOS drives. This may take a long time.
 
 
     GNU GRUB  version  0.97   (640K lower / 3072K upper memory)
 
  [ Minimal BASH-like line editing  is  supported.  For the first word, TAB
    lists possible command completions.  Anywhere  else  TAB lists the possible
    completions of a device/filename.]
grub>


2)、设置引导设备位置

1
2
3
grub> root (hd0, 0 )
root (hd0, 0 )
  Filesystem type  is  ext2fs, partition type  0x83


3)、给设备安装grub

1
2
3
4
5
6
7
8
9
10
grub> setup (hd0)
setup (hd0)
  Checking  if  "/boot/grub/stage1"  exists... no
  Checking  if  "/grub/stage1"  exists... yes
  Checking  if  "/grub/stage2"  exists... yes
  Checking  if  "/grub/e2fs_stage1_5"  exists... yes
  Running  "embed /grub/e2fs_stage1_5 (hd0)" ...   27  sectors are embedded.
succeeded
  Running  "install /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub.conf" ... succeeded
Done.


4)重启验证

1
2
3
4
grub> quit  
quit
[root@localhost ~]# reboot
[root@localhost ~]#

wKiom1mlLvbT93BaAAGdxIJec1U556.png


2、开机失效: rescue模式

1)备份mbr

1
[root@localhost ~]# dd  if =/dev/sda of=/root/mbr.bak bs= 512  count= 1


2)破坏mbr的stage1

1
[root@localhost ~]# dd of=/dev/sda  if =/dev/zero bs= 446  count= 1


3)重启

wKiom1mlMBXgCxwZAAAkxL8nOwg878.png


4)rescue模式救援

1)、挂载光盘 关机 --> 编辑虚拟主机 --> CD/DVD(IDE) --> 使用ISO镜像文件 --> 浏览选择DVD光盘


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

wKiom1mlMNHTV0r0AAARINf7Vc4421.png

保证光盘连接



3)、选择黄色标记的行ESC,输入 linux rescue 后回车

wKiom1mlMZTydOavAAAHbovcsTU779.png

wKiom1mlMrKDBqyqAAbZxFUkE0Q440.png


4)、选择语言

wKioL1mlMzPwUAfHAABDYKKTu-I694.png

OK


5)、键盘类型

wKioL1mlM3CT2rCIAAA-7lIuA-s249.png

OK

wKiom1mlM7WiWXAVAAAJtLnaUWg110.png


6)、是否需要启动网络

wKiom1mlM9Ow3WrXAAAwuTXm_Gg017.png

NO 


7)、临时将/挂载在/mnt/sysimage中

wKiom1mlNB3h4cXXAABD0yaV8D4765.png

Continue

wKioL1mlNEPy49LOAAAOYRokHrE443.png


8)、告知已经找到磁盘,需要使用root,运行chroot /mnt/sysimage即可

wKioL1mlNIbxHaF5AAAmS_KoFig067.png

OK


9)、

wKiom1mlNOvwrqJXAAASNHblzrY151.png


10)、选择第一个

wKioL1mlNP7hx-1uAAAdjLWrkJ8444.png


11)、打印一个shell提示符

wKioL1mlNSqQ47vWAAAEWEzMeOU744.png


12)、切换至原root根目录

wKiom1mlNXug9MOvAAAI8_YHcXQ415.png


13)、修复

wKioL1mlNgSzhmo-AABdi0oxsNw871.png

14)、重启测试

wKiom1mlNnigpTOPAAATDz03FnU440.png


wKiom1mlLvbT93BaAAGdxIJec1U556.png




七、双系统安装

1、新建一个虚拟机

2、添加U盘安装windows

3、安装LInux系统

    语言、键盘、主机名、时区、root的密码

    分区、bootloader及默认启动项、程序包选择


安装Windows系统

wKioL1mmG3HyrOZKAALQJPalvJo130.pngwKioL1mmG4ODxiFZAAUv3yCtrvk932.png

3、安装Linux

选择Linux系统安装光盘

wKioL1mmHgjDAvYvAAF3t-sHUQ0545.png

wKiom1mmHhygsQzfAABDSnkCA1g685.png

进入后ESC,选择CDROM

wKioL1mmHBfiXlQ8AAALvWVonN4742.png


选择安装Linux

wKioL1mmHE-RiYTmAAcW_g9u6RQ364.png


路过

wKioL1mmHIShaL7mAAAYaXlIkcA848.png

wKioL1mmHkKxR7bwAAAFPIWcbxs907.png


wKioL1mmHsPgIib5AAJcC7Qo9FE616.png


设定安装时的语言

wKioL1mmHsPzoUMxAAB2XB1-nPQ237.png


设定键盘语言

wKiom1mmHtfxuOAiAABkM2vf9pg092.png


选择基本存在设备

wKiom1mmHtiBqz4gAAC4VD0fRz0430.png


设定主机名

wKioL1mmH2yid4vyAABWORALJnQ569.png


设定时区

wKiom1mmH4HBHrzAAAIBHLeoaAA994.png


设定ROOT密码

wKioL1mmH23Cnwf3AAB3p0KBWIc691.png

wKiom1mmH4Gi3m_fAAA0u1On544146.png

自定义分区

wKioL1mmH23RgtLgAAEZ6pvv45k025.png



自定中,不要编辑/dev/sda1,(XP系统盘)


默认引导设定

wKiom1mmIhniRzqYAADDUAktkY8537.png


选择自定义最小化安装

wKioL1mmIgXBJpswAADjuQPJdkY640.png


安装过程 

wKiom1mmIlDDDuP6AAKyIcWtNHM242.png

wKioL1mmJtuxvVOuAAKhxdtYYhs183.png

wKiom1mmK66BN0ZeAADoEOdj4lA730.png

wKioL1mmK5rzs9N4AAAbMl0Roj0795.png



起动CentOS

wKiom1mmLMOSAShAAAKZhe7-5LI848.png

wKioL1mmLK_xLwAkAAAeCqithuI687.png

wKiom1mmLMODAMyBAAAHg6OCfLY077.png

wKiom1mmLMOx-v01AACPRfiJ5jE108.png

wKioL1mmLLDCzQFNAABuJdX6VVc432.png

wKiom1mmLMSR7uzgAAAkn_4BXDQ492.png

wKioL1mmLLDRCVgvAAENjgTRxLk896.png


账号: root

密码: 键入之前设定的密码


wKioL1mmLULi5oeCAABkRWExcTE582.png


wKioL1mmLYnQ2_9iAAa6oRXnQ74642.png-wh_50

wKiom1mmMBHhlf4zAAAx583-ov4205.png


重启测试Windows

  • wKiom1mmLw7gV9XFAAbYbH-ic5s406.png-wh_50










本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1960959,如需转载请自行联系原作者
目录
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
让非算法同学也能了解 ChatGPT 等相关大模型
让非算法同学也能了解 ChatGPT 等相关大模型
203 3
让非算法同学也能了解 ChatGPT 等相关大模型
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(2)——分组和简单数据的查询
简简单单 My SQL 学习笔记(2)——分组和简单数据的查询
|
XML JSON Cloud Native
gRPC 知多少
当下,基于“微服务”的技术架构体系几乎主宰了整个业务市场,尤其是在云原生生态的拥抱下。无论是基于传统虚拟机生态还是云原生容器生态的现代微服务体系结构中,我们可以根据微服务的交互及通信风格将其划分为两大类:面向外部的微服务和面向内部的微服务。
257 0
在给定范围的数据中找到含有6的数据个数
在给定范围的数据中找到含有6的数据个数
184 0
|
缓存 Shell PHP
php字节码缓存之opcache
PHP5.5 以后官方自带了一个组件叫 Zend Opcache,具体可以参看官方文档
334 0
php字节码缓存之opcache
|
机器学习/深度学习 SQL 人工智能
Flink 如何支持特征工程、在线学习、在线预测等 AI 场景?
人工智能应用场景中,Flink 在包括特征工程,在线学习,在线预测等方面都有一些独特优势,为了更好的支持人工智能的使用场景,Flink 社区以及各个生态都在努力。
Flink 如何支持特征工程、在线学习、在线预测等 AI 场景?
|
弹性计算 云计算 数据可视化
心选建站---根据企业和个人阿里云建站的优点与缺点
阿里云建站产品如何选择?如果您是站长类的技术人员,当然选择自助建站方式,如果非技术人员,个人或者工作室建议选择云·速成美站,如果是企业用户建站选择阿里云网站定制服务。
|
人工智能 安全 大数据
我与阿里云的认证故事
我与阿里云的认证故事
|
关系型数据库 存储
下一篇
开通oss服务