码迷,mamicode.com
首页 > 其他好文 > 详细

grub应用

时间:2016-01-03 00:55:40      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:linux

GRUB(Boot Loader)

一、 grub legacy:
    1. stage1: mbr
    2. stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统;
    3. stage2:磁盘分区(/boot/grub/)

 二、 配置文件:/boot/grub/grub.conf <-- /etc/grub.conf

 (一) stage2及内核等通常放置于一个基本磁盘分区;
        1. 功用:
            (1) 提供菜单、并提供交互式接口                               技术分享

e: 编辑模式,用于编辑菜单;

技术分享

 c: 命令模式,交互式接口;

技术分享

            (2) 加载用户选择的内核或操作系统
                允许传递参数给内核
                可隐藏此菜单
            (3) 为菜单提供了保护机制
                 为编辑菜单进行认证
                 为启用内核或操作系统进行认证

 (二) 如何识别设备:
             格式: (hd#,#)
              hd#: 磁盘编号,用数字表示;从0开始编号
              #: 分区编号,用数字表示; 从0开始编号

 (三)grub的命令行接口
             help: 获取帮助列表

技术分享                     help KEYWORD: 详细帮助信息

技术分享            

             find  (hd#,#)/PATH/TO/SOMEFILE:

技术分享                        root (hd#,#)
             kernel /PATH/TO/KERNEL_FILE: 设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数;
            initrd /PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk;
            boot: 引导启动选定的内核;

 (四)手动在grub命令行接口启动系统: 

           grub> root (hd#,#)
           grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
           grub> initrd /initramfs-VERSION-RELEASE.img
           grub> boot

技术分享

 (五) 配置文件:/boot/grub/grub.conf   

技术分享        1.  配置项:
            default=#: 设定默认启动的菜单项;落单项(title)编号从0开始;
            timeout=#:指定菜单项等待选项选择的时长;
            splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径;
            hiddenmenu:隐藏菜单;
           password [--md5] STRING: 菜单编辑认证;
           title TITLE:定义菜单项“标题”, 可出现多次;
           root (hd#,#):grub查找stage2及kernel文件所在设备分区;为grub的“根”;
           kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核
           initrd /PATH/TO/INITRAMFS_FILE: 内核匹配的ramfs文件;
           password [--md5] STRING: 启动选定的内核或操作系统时进行认证;

技术分享 

技术分享

 

技术分享

(六) grub-md5-crypt命令

技术分享

 (七)进入单用户模式:
     1. 编辑grub菜单(选定要编辑的title,而后使用e命令); 
     2. 在选定的kernel后附加
        1, s, S或single都可以;
     3. 在kernel所在行,键入“b”命令;

三、如何在新硬盘安装grub

      1. 添加一块新硬盘

      2. 在新磁盘上新建分区,第二个分区为swap分区

技术分享

      3. 格式化三个分区

技术分享

技术分享

技术分享

       5.在mnt下创建boot目录,将/dev/sdb1挂在到其上

技术分享

        6.在sdb上安装grub

技术分享

技术分享      7.复制kernrl以及initrd到/mnt/boot下

技术分享

      8.编写grub的配置文件/mnt/boot/grub.grub.conf

技术分享

       9.创建根文件系统以及在其下面创建所必须的目录

技术分享

        10.查看/bin/bash以来的库,以及将这些库文件复制到其相对应的目录中

技术分享

        11.切换至新建的根,验证其是否可用,只不过bash中没有其他可用的命令,只有内建命令可用

技术分享

         12.重新编译配置文件,因为init不再是sbin下的而是bin下的bash

技术分享

         13.在此系统上新建磁盘,在选择磁盘的时候要选择自己刚才新建的磁盘而不是以前的磁盘

技术分享

          14.然后选择启动就可以看到自己编译的配置文件的信息

技术分享

 

技术分享

            15.在启动之前进入kernel中添加selinux=0,一定的是在init之前

技术分享

          16.其中系统就可以看到自己安装的简易的系统了

技术分享

四、安装grub:

   1.备份一下grub文件

技术分享

   2.破坏grub文件

技术分享

    (1) grub-install
    grub-install --root-directory=ROOT /dev/DISK
  技术分享   (2) grub,在root设备上必须事先存在grub目录,而且其下的问价都必须得存在
    grub> root (hd#,#)
    grub> setup (hd#)

技术分享

五、紧急救援模式

        1. 再次破环grub

技术分享

        2.连接光盘镜像,重新启动,第三个选项就是救援模式,也可以敲Esc键,在命令行接口输入linux rescue,也可以进入紧急救援模式:

技术分享

         3.设置语言

技术分享

         4.设置键盘类型

技术分享

           5.是否连接网络,如果要从网络中下载的话就要选择启动,如果自己明确知道本地有的话可以不用选择。

技术分享

           6.紧急救援模式会尝试在本地磁盘寻找是否有操作系统,如果找到的话,就会把根挂载至当前启动的这个小的救援模式的/mnt/sysimsge目录下,就可以到sysimage目录下找到这些文件了。

技术分享

            7.显示找到系统,而且根挂载至当前启动的这个小的救援模式的/mnt/sysimsge目录下,用的时候直接切换至sysimage目录下即可

技术分享

 

技术分享

            8.启动shell,就会出现提示符

技术分享

 

技术分享

            9.切换根至/mnt/sysimsge目录

技术分享

            10.安装grub

技术分享

            11.然后就可以重新启动系统

技术分享

 

 

 

 

 

本文出自 “blankmanba” 博客,请务必保留此出处http://shuanglong.blog.51cto.com/10743732/1730894

grub应用

标签:linux

原文地址:http://shuanglong.blog.51cto.com/10743732/1730894

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!