Linux学习笔记之 5 Linux GRUB启动管理器

1.GRUB简介

1.1grub与启动引导器
    启动引导器是计算机启动过程中运行的第一个真正的软件,通常计算机启动时在通过BIOS自检后读取并运行硬盘的主引导扇中的启动引导器程序,启动引导器再负责加载启动硬盘分区中的操作系统。
1.2 grub的功能
  • 提供了真正的命令行交互界面,能够使用户以最大灵活性使用各种参数引导操作系统和收集系统信息。
  • 支持LBA模式
  • GRUB能够访问ext2分区
2 安装GRUB
    安装GRUB有两个层次的含义:
  • 安装GRUB软件包
  • 安装GRUB到MBR  #grub-install /dev/hda
GRUB软件包的安装:
    文件名:grub-0.93-4.i386.rpm
    #rpm –q grub  //查询
    #rpm –ivh /mnt/cdrom/RedHat/RPMS/grub-0.93-4.i386.rpm//安装

3 GRUB的操纵界面
3.1 GRUB的启动菜单界面
    作用:可以选择GRUB配置文件中预设的启动菜单项,从而实现硬盘中多个操作系统的切换引导。此外还可以进入菜单项编辑界面和GRUB命令行界面。
    GRUB启动菜单按键:
  • ↑↓在启动菜单项间移动
  • Enter:启动当前的菜单项
  • e:编辑当前的启动菜单项
  • a:添加内核的启动参数
  • c:进入GRUB的命令行模式

3.2 GRUB的启动菜单项编辑界面

    在此模式下可以对GRUB配置文件中已经存在的启动项做进一步的调整.  例如:对现有行进行编辑、添加删除命令行。
    GRUB启动菜单编辑界面按键:
  • ↑↓选择菜单项中的行
  • b:启动当前的菜单项
  • e:编辑当前选中的行
  • c:进入GRUB的命令行方式
  • o:在当前行后面插入一行
  • O:在当前行前面插入一行
  • d:删除当前行
  • Esc:返回GRUB启动菜单界面,取消对当前启动菜单项所做的任何修改
3.3 GRUB命令行界面
Guub命令行界面提供了方便友好的命令行交互方式,其特点包括:
  • 提供在线帮助命令“help”,并且可以获得每条命令的详细帮助
  • 可使用左右方向键编辑行命令
  • 可以使用上下方向键滚动历史命令
  • 可使用“tab”键补全命令
4 GRUB的配置文件
    默认的配置文件在/boot/grub/grub.conf,在GRUB成功安装到硬盘主引导扇区后,只要编辑该文件,就可实现对GRUB的配置.无需重写grub到MBR.
GRUB配置文件中包括全局配置和菜单项配置两部分:
4.1 GRUB配置文件的全局命令
  • 使用default命令设置GRUB的默认启动项
  • 命令格式:default 菜单项序号
  • 使用splashimage命令设置GRUB的启动界面
  • 命令格式:splashimage 图象文件全路径名 //用于指定某一个文件作为启动菜单的背景图象
  • 例:splashimage (hd0,0)/boot/grub/splash.xpm.gz
  • 使用timeout命令设置菜单的启动延时
  • 命令格式:#timeout 延时秒数
4.2 GRUB的菜单项的配置命令
title 菜单项名称 例:#title windows
4.3 配置linux的启动菜单项
    GRUB对于不同的操作系统有不同的引导方式,对linux操作系统GRUB可以直接引导其内核并启动,典型的linux启动彩单配置为:
Title RedHat Linux(2.4.20-8)
       root(dh0,0)
   kernel/boot/vmlinuz-2.4.20-8 ro root=LABEL=/
   initrd/boot/initrd-2.4.20-8.img
    linux启动菜单项的配置命令:
  • title:定义linux启动菜单项的名称
  • root:设置GRUB的根设备(root)为linux内核所在的分区
  • kernel:使用kernel命令后跟linux内核文件作为参数,加载linux的内核文件
  • initrd:使用initrd命令加载镜像文件
4.4    配置windows的启动菜单项
    GRUB不能够直接加载windows系统的内核文件进行引导,而是通过调用windows操作系统自身的启动引导器,通常为windows所在分区的引导扇区
    典型的windows启动菜单项配置为:
title win2kp
      map(hd0)(hd1)
      map(hd1)(hd0)
      root(hd1,0)
      makeactive
      chainloader+1
    Windows启动菜单项配置命令:
  • title:定义windows启动菜单项的名称
  • map:使用map命令交换磁盘或分区在BIOS中的标志符,用于启动在第二个硬盘中的windows
  • root:设置真实的windows分区为GRUB的根设备
  • Makeactive:设置根设备为活动分区(针对windows不能从非活动分区启动)
  • chainloader:使用chainloader命令调用windows分区的启动引导器引导windows系统

5 GRUB的安全设置
    主要功能:
  • 可以针对启动菜单设置全局口令
  • 可对某菜单项使用全局口令
  • 可对某菜单项设置独立口令
  • 对所有的口令都可以使用MD5进行加密
5.1    设置全局口令琐定启动菜单
    全局口令用于设置只允许用户选择启动菜单项进行启动,如进行其他操作需输入设置的全局口令.
  • Password命令

命令格式:#password 口令字  //为GRUB 的启动菜单和菜单项设置口令

  • 设置全局口令(设置GRUB的全局口令为12345)
     password12345
    
    解锁GRUB启动菜单:
  • 在锁定的启动菜单中选者“p”
  • 在 “password:”提示符后输入正确的口令,并按回车键确认
  • 如口令输入正确,启动菜单解锁后恢复正常的状态
5.2使用全局口令锁定启动菜单项
    锁定启动菜单项的步骤为:
  • 设置GRUB全局口令
  • 在菜单项配置中使用lock命令锁定菜单项
5.3设置独立的口令锁定启动菜单项
5.4使用MD5加密口令
6 GRUB的使用技巧
6.1配置GRUB重复上次启动项
  • 在全局配置中使用default saved,用于指定默认启动项为上次保存值
  • 在各菜单项配置命令的末尾使用savedefault命令,保存当前启动项为默认启动项
6.2制作GRUB启动软盘
  • #mke2fs /dev/fd0
  • #mount /mnt/floppy/
  • #grub-install –root-directory=/mnt/floppy/`(fd0)`
  • #umount /mnt/floppy/
  • #reboot
6.3使用GRUB启动软盘恢复被覆盖的硬盘引导系统
  • grub>root
  • grub>find /boot/grub/grub.conf
  • grub>root(hd0,0)
  • grub>setup(hd0,0)

配置文件的位置和名称
GRUB 启动引导器的相关文件被缺省保存在“/boot/grub”目录中,其中 menu.lst 文件是 GRUB 的主配置文件,GRUB 在启动时就是根据该文件的配置内容显示启动菜单的。 
# ls /boot/grub/
device.map     grub.conf         minix_stage1_5     stage2
e2fs_stage1_5  iso9660_stage1_5  reiserfs_stage1_5  ufs2_stage1_5 fat_stage1_5   jfs_stage1_5      splash.xpm.gz      vstafs_stage1_5 ffs_stage1_5   menu.lst          stage1             xfs_stage1_5
在 Red Hat 系列的 Linux 系统中(包括 CentOS)更习惯于使用文件名 grub.conf 来作为 GRUB 的配置文件。为了保持与其他系统的兼容性和文件的一致性,CentOS 分别在“/boot/grub”和“/etc”两个目录中建立了名为 grub.conf 的符号链接文件指向真正的配置文件“/boot/grub/menu.lst”。 
# cd /boot/grub
# ls -l menu.lst grub.conf
-rw------- 1 root root 595 Mar 31 18:06 grub.conf
lrwxrwxrwx 1 root root  11 Mar 31 18:06 menu.lst -> ./grub.conf # ls -l /etc/grub.conf
lrwxrwxrwx 1 root root 22 Mar 31 18:06 /etc/grub.conf -> ../boot/grub/grub.conf
因此,无论直接编辑menu.lst文件,还是编辑相应目录中的grub.conf文件都可以达到修改GRUB配置的目的。 
CentOS 5 中 GRUB 的缺省配置
CentOS 5 服务器方式缺省安装后,文件 menu.lst 已经进行了缺省的配置。 
## 执行 cat 命令后显示 menu.lst 文件的缺省配置 # cat /boot/grub/menu.lst
# grub.conf generated by anaconda #
# Note that you do not have to rerun grub after making changes to this file # NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg. #          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVolRoot #          initrd /initrd-version.img

#boot=/dev/hda default=0 timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu
title CentOS (2.6.18-53.el5)         root (hd0,0)
        kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVolRoot         initrd /initrd-2.6.18-53.el5.img
menu.lst 文件中的内容可以分为三类: 

GRUB启动管理器的更多相关文章

  1. 修改win8系统中启动管理器的系统引导信息

    最近用某软件做了个启动U盘,软件安装在电脑上,启动盘很快做完了,结果重启电脑的时候发现悲剧,windows启动后会显示出一个系统引导菜单,显示有3秒倒计时但是倒计时结束依然不能自动进入系统.. 然后. ...

  2. win7 启动管理器修改默认启动项

    最近给我的超级本做了系统备份,以防万一,但是备份完成后,系统启动的时候总会首先进入Windows启动管理器,且默认启动项是Ghost,还需要选择一下才能进入Win7系统,如何解决这个问题呢? 方案一: ...

  3. 【转】解决virt-manager启动管理器出错:unsupported format character

    来源:http://blog.csdn.net/z_yttt/article/details/71192144 经验证OK.   今天打开virt-manager出错,报错信息如下: 启动管理器出错: ...

  4. virt-manager管理器新建虚拟机时出错:unsupported format character

    启动管理器出错:unsupported format character ‘��0xffffffef) at index 30 经验证,解决办法如下: 1.获取virt-manager的rpm包,并强 ...

  5. 在控制台启动服务器时出现:对于服务器soa1_wls, 与计算机oim1相关联的节点管理器无法访问。

    问题:在控制台启动服务器时出现:对于服务器soa1_wls, 与计算机oim1相关联的节点管理器无法访问.原因:nodemanager没有启起来解决方法: 一.对于managedServer于admi ...

  6. 安装ArcGIS License 10.1 许可管理器 破解版 服务启动又失败的解决办法

    安装破解文件的提示执行 替换许可管理器Bin下面的service.txt  文件,之后会发现,许可管理器启动不了(有时候又可以,挺郁闷), 经过多次的试验,我找到了一种折中解决的方法,供大家参考 解决 ...

  7. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  8. 工控随笔_08_西门子_Win10安装Step7.V5.6中文版授权管理器不能正常启动

    随着Windows系统的不断升级,西门子工控软件也不断升级,但是有时候在安装西门子 软件的时候会出现授权管理器不能正常启动的情况. 图  Step7 因为自动许可证管理器不能正常打开 如上图所示,报S ...

  9. 如何启动iis(Internet 信息服务(IIS)管理器)

    Internet 信息服务(IIS)管理器 启动 IIS 管理器1.从“开始”菜单,指向“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”. 从“运行”对话框启动 IIS 管理器 ...

随机推荐

  1. ulimit -c unlimited

    tomcat 产生core日志: app:/usr/local/apache-tomcat-7.0.55_8082/logs# ulimit -a core file size (blocks, -c ...

  2. 【转】ubuntu安装ftp服务器

    原文网址:https://wiki.archlinux.org/index.php/Very_Secure_FTP_Daemon_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96% ...

  3. ASCII码、base64编码 为什么有的代码要用 base64 进行编码?

    百度百科 ASCII码:http://baike.baidu.com/link?url=bNtzytBhlSUt_l3pwpfICxCxqgAfqsBMaeWX6QF7gH46Tg4pQtKM2aAV ...

  4. [转载]Vertica “ERROR: Too many ROS containers exist”

    最近在用Vertica的时候碰到一个问题,Vertica在运行了一段时间后总是出现类似下面的错误 1: java.sql.SQLException: [Vertica][VJDBC](5065) 2: ...

  5. C++11里面的Lambda表达式

    Lambda Expressions in C++ C++中的Lambda表达式 In Visual C++, a lambda expression—referred to as a lambda— ...

  6. [转]Laravel 4之请求

    Laravel 4之请求 http://dingjiannan.com/2013/laravel-request/ 获取请求数据 获取当前请求所包括的所有GET和POST数据 Route::get(' ...

  7. cocoapods在OS X Yosemite系统中报错

    之前使用cocoapods一直是正常使用的,刚换了电脑,使用pod install的时候报错: /System/Library/Frameworks/Ruby.framework/Versions/2 ...

  8. CSS彻底研究(3) - 浮动,定位

    Github pages 博文 CSS彻底研究(3)-浮动,定位 一 . 浮动float I . 定义及规则 float默认为none,对应标准流的情况.当float : left;时,元素就会向其父 ...

  9. document.write 存在几个问题?应该注意

    document.write (henceforth DW) does not work in XHTML XHTML 不支持 DW executed after the page has finis ...

  10. struts1面试题

    由于找了很久的工作都没有找的,只能四处收集那个面试题的.和看面试题的 还有那个记忆力也不是很好了的,而那些公司面试的时候总会有一个面试题的!   在这里分享给大家(那个本来是想上传文件的,但是找不到的 ...