grub2中文info修订1

合集下载

grub2 原理

grub2 原理

grub2 原理全文共四篇示例,供读者参考第一篇示例:Grub2是一款广泛应用于Linux操作系统的引导管理器,其设计的初衷是为了解决引导多个操作系统的问题。

Grub2的设计极具灵活性和可扩展性,使得它成为目前最流行的引导管理器之一。

Grub2的工作原理十分复杂,但可以简单地分为几个主要步骤:第一步是启动引导加载程序。

当计算机启动时,BIOS会加载Grub2引导加载程序到内存中,并执行引导加载程序。

引导加载程序的主要功能是在系统启动时向用户提供一个选择菜单,让用户选择要启动的操作系统。

第二步是加载内核。

一旦用户选择了要启动的操作系统,Grub2会加载该操作系统的内核文件到内存中。

内核文件包含了操作系统的核心功能,如进程管理、文件系统等。

第三步是加载初始化RAM磁盘(initrd)。

在加载内核之后,Grub2会加载initrd文件到内存中。

initrd是一个临时的文件系统,用于初始化硬件设备和加载驱动程序,以便系统能够顺利启动。

第四步是启动操作系统。

Grub2会将控制权交给内核,由内核初始化系统并启动用户空间进程,最终启动操作系统。

Grub2的设计具有许多优点,例如支持多种文件系统和操作系统,能够通过脚本和配置文件自定义启动选项,支持密码保护和图形界面等。

Grub2还支持在启动时对引导选项进行编辑,方便用户在系统启动时进行调试和配置。

Grub2也存在一些缺点,例如在配置文件中出现错误可能导致系统无法启动,引导加载程序的体积相对较大,可能会增加系统启动时间等。

在使用Grub2时,用户需要仔细阅读文档并谨慎配置,以避免出现问题。

Grub2是一款功能强大且灵活的引导管理器,能够帮助用户管理多个操作系统的启动过程。

它的工作原理虽然复杂,但通过对其原理和配置文件的深入了解,用户可以充分利用其强大的功能,提高系统的稳定性和性能。

第二篇示例:Grub2是一个多重引导加载程序,常用于Linux系统,负责加载操作系统。

Grub2配置详解

Grub2配置详解

Grub2配置详解一、grub.cfg详解(红色为说明)grub.cfg 默认为只读,要修改前先设为可写sudo chmod +w /boot/grub/grub.cfgset default=0#默认为0insmod jpeg#添加jpg支持,如要使用png或tga文件做背景,加上 insmod png或insmod tgainsmod ext2#除了用作启动的分区外,其他分区格式可在menu底下再添加set root=(hd0,7)#设定root分区search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3#设定uuid=****的分区为root,和上句重复,可删除# 以下为终端配置if loadfont /usr/share/grub/unicode.pf2 ; then#设置终端字体,unicode.pf2支持中文显示set gfxmode=640x480#设置分辨率,默认为 640x480,可用800x600,1024x768,建议跟你想设定的图片大小一致insmod gfxterm#插入模块 gfxterm,支持中文显示,它还支持 24 位图像insmod vbe#插入 vbe 模块,GRUB 2 引入很多模块的东西,要使用它,需要在这里加入if terminal_output gfxterm ; then true ; else# For backward compatibility with versions of terminal.modthat don't# understand terminal_outputterminal gfxterm#设置 GRUB 2 终端为 gfxtermfifiset timeout=10background_image (hd0,7)/boot/images/1.jpg#设置背景图片### END /etc/grub.d/00_header ###### BEGIN /etc/grub.d/05_debian_theme ###set menu_color_normal=white/blackset menu_color_highlight=cyan/black#这两行为 Debian 下的菜单颜色设置,如果默认的话,你会发现背景完全被蓝色挡住了,你需要修改 blue 为 black,这样背景就会出现### END /etc/grub.d/05_debian_theme #### 10_linux 为自动添加的当前root分区linux引导项### BEGIN /etc/grub.d/10_linux ####菜单项,要包括 menuentry 双引号" " 和大括号 { }才完整,否则不显示菜单menuentry "Ubuntu, Linux 2.6.31-9-386" {insmod ext2set root=(hd0,7)search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3#这句与set root=(hd0,7)重复,可删除linux /boot/vmlinuz-2.6.31-9-386 root=UUID=f255285a-5ad4-4eb8-93f5-4f767190d3b3 ro quite splash#不喜欢看到一长串的, roo=UUID=***可用root=/dev/sda7代替initrd /boot/initrd.img-2.6.31-9-386}### END /etc/grub.d/10_linux ###### BEGIN /etc/grub.d/20_memtest86+ ###menuentry "Memory test (memtest86+)" {linux16 /boot/memtest86+.bin}### END /etc/grub.d/20_memtest86+ #### 自动添加存在于其他分区的系统引导项### BEGIN /etc/grub.d/30_os-prober ####windows 启动菜单menuentry "Windows Vista (loader) (on /dev/sda1)" {insmod ntfs#windows格式为ntfs,或为fat32改为insmod fatset root=(hd0,1)search --no-floppy --fs-uuid --set ece067d2e067a196#可删除#grub2比较先进的地方就是如果发现windows启动是通过ntldr 引导的,定为2000/xp/2003,会在这加上drivemap -s (hd0) ${root} ,作用相当于grub的map,可正常启动非第一硬盘的xp/2003系统。

Burg(简体中文)GRUB2修改而来的主题化布景开机引导程式

Burg(简体中文)GRUB2修改而来的主题化布景开机引导程式

Burg(简体中文)GRUB2修改而来的主题化布景开机引导程式Burg 是一个用 ruby 重写,由GRUB2修改而来全新的开机引导程式. 使用了新的物件格式能让它在更多种的作業系统中使用,包括了Linux/Windows/OSX/Solaris/FreeBSD 等。

它也拥有高自订性的选单系统同时支援文字与图形模式。

Contents[hide]•1安装•2配置•3其它 OS 的侦测及使用•4提示及技巧o 4.1快捷指令o 4.2目录化 (群组化)o 4.3制作 BURG 背景主题•5参阅安装burg 程序需要从AUR编译安装。

仅需安装两个软件包:•burg-bios-bzr或burg-efi-x86_64-bzrBURG 是基于 grub的,配置方法也相同。

在安装程式套件包后你应该进行下列步骤:1. 首先,把 BURG 替代 GRUB 安装为你的开机导引程式,# burg-install /dev/sda --no-floppy注意: 记住 '/dev/sda' 这部份为根据你的硬碟而有变动。

2. 然后你应该让 burg 建立它的组态设定档案:# burg-mkconfig -o /boot/burg/burg.cfg3. 如果你在前几步没遇到任何错误讯息的话,burg 应该己经安装完毕并能够使用了。

可以用以下命令作预览:# /opt/burg-emu/bin/burg-emu现在当你重开机后,你便会看到美丽地惊人的开机引导程式-BURG!布景主题的选择和分辨率的设定也不用在组态设定档内作修改。

当BURG 启动时载入后,你就能修改设定,而且你猜怎样?它会记住你每次开机后所作的设定!^_^其它 OS 的侦测及使用在某些情况下你会拥有安装在另一个硬碟或磁区的其它作業系统,而你会希望它也表列在 BURG 里。

你可以在 /etc/burg.d/40_custom 档案里手动新增这些项目或者复制为別的档案),像是:给 windows :menuentry "Windows 7" --class windows --class os {insmod ntfsset root='(hd0,1)'search --no-floppy --fs-uuid --set f28620c186208865chainloader +1}给开启 plymouth 功能的 debianmenuentry 'Debian' --class debian --class gnu-linux --class gnu --class os --group group_main {insmod ext2set root='(hd0,4)'search --no-floppy --fs-uuid --set c5e0fb03-5cbe-4b79-acdc-518e33e814acecho 'Loading Linux 2.6.35-trunk-amd64 ...'linux /boot/vmlinuz-2.6.35-trunk-amd64root=UUID=c5e0fb03-5cbe-4b79-acdc-518e33e814ac ro quietsplashecho 'Loading initial ramdisk ...'initrd /boot/initrd.img-2.6.35-trunk-amd64}或者你可以安装os-prober来自动侦测并产生/boot/burg/burg.cfg# burg-mkconfig -o /boot/burg/burg.cfg现在 BURG 就应该显示出其它作業系统的图示了。

grub2修改启动菜单原理

grub2修改启动菜单原理

windows linux 双系统grub2默认启动项的更改和早期grub的启动菜单不一样,以前只要修改/boot/grub/menu.lst就行了。

linux7中已经没有menu.lst文件了。

+++++++++++++++++++以下是重点理论知识++++++++++++++++++++++grub2由三个部分组成:/etc/default/grub文件、/etc/grub.d目录、/boot/grub/grub.cfg文件。

在开机启动时,linux系统是调用/boot/grub/grub.cfg 文件执行的。

但这个文件即使手动编辑后也是会被还原的,为什么呢?当我们或linux系统更新后,会自动执行update-grub更新启动菜单命令。

该命令会根据/etc/default/grub文件和/etc/grub.d/的所有配置文件重新生成/boot/grub/grub.cfg文件;也就是说update-grub命令执行后,/boot/grub/grub.cfg文件就被更新了。

+++++++++++++++++++++以上是理论知识+++++++++++++++++++++++++++++配置文件:/etc/default/grub文件//保存开机默认启动项、倒计时内容;GRUB_TIMEOUT=5 //超时时间GRUB_DEFAULT=saved //开机菜单默认项,可以使用0-nGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="console" /启用 consoleGRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root rhgb quiet" //追加内核安全性;GRUB_DISABLE_RECOVERY="true" //禁止显示救援模式;/etc/grub.d/* //保存各个启动项;[root@tang ~]# ls /etc/grub.d/00_header 10_linux 30_os-prober README00_tuned 20_linux_xen 40_custom01_users 20_ppc_terminfo 41_custom其中,30_os-prober 是windows系统的启动项;其中,10_linux 是linux 系统的启动项;其中,/etc/grub.d/00_header //初始化默认选项,超时时间其中,/etc/grub.d/05_debian_theme //配置引导画面,主题颜色;其中,04_custom //自定义菜单;**注意**,这里的每个文件前面都有数字组成;数字越小启动顺序就越靠前。

grub2中文info修订1

grub2中文info修订1

GNU GRUB 中文手册修订次数:0不保证含义准确仅供参考。

若发现有谬误之处可发送邮件到:grub2_cn_manual@邮件主题必须以 grub2: 开始,否则系统不接收。

针对grub版本v1.99 info手册翻译,并且添加插图和注解。

Permission is granted to copy, distribute and/or modify thisdocument under the terms of the GNU Free Documentation License,Version 1.2 or any later version published by the Free SoftwareFoundation; with no Invariant Sections.译者:三寸断梁1grub前言搭建GRUB2 LINUX实验环境。

由于GRUB是启动加载器,因此你修改配置文件后需要重启电脑才能看到改变,为了避免反复重启。

在这里推荐使用VirtualBox 虚拟机。

本人实验配置是:Fedora 16-i386-DVD 完全安装,VirtualBox 4.2.2 for linux 。

Grub 1.99 。

syslinux 4.05 ,你的linux主机应该安装有grub2 。

下文所述,在我的机器上3个镜像成功加载。

1.准备虚拟机。

如果你发现鼠标消失了,按下 右ctrl 。

•从 https:///wiki/Linux_Downloads下载VirtualBox 4.2.2 。

我选择的是 All distributions 。

80M左右的体积。

•新建一个虚拟机,操作简单直接下一步下一步。

设置为使用128M内存,使用虚拟硬盘文件,512M硬盘。

显存23M 。

不要启动虚拟机,完成下面的步骤。

2.准备memdisk•使用syslinux是因为实验中的实例需要 memdisk,它是包括在syslinux中的。

grub2基础教程-修订版

grub2基础教程-修订版

详细图解美化Grub2[原创]退出 [ xfdr ]条新短信FAQ搜索用户控制面板查看没有回复的主题 | 查看活跃的主题查看新帖 | 查看您的主题 | 查看您的帖子 | 查看书签论坛首页 » 系统安装区 » 启动和引导当前时区为 UTC + 8 小时通过ssh 传输文件 : scp -rp /path/filename username@remoteIP:/path分页: 1 / 4 [ 49 篇帖子 ]前往页数 1, 2, 3, 4 下一页订阅主题 | 收藏主题 | 打印预览 | Email 给朋友上一个主题 | 第一个未读帖子 | 下一个主题作者内容1 楼 Crazier文章标题 : 详细图解美化Grub2[原创]发表于 : 2010-02-17 5:28注册: 2007-09-23 17:06 帖子:371Grub2做为新一代的多系统引导器,之所以代替旧的Grub ,一方面是因为旧Grub 设计上的失败及其代码的凌乱不可维护,另一方面也是因为需要更多的功能( 见/software/grub/grub-2-faq.en.html )。

Grub2较之Grub 的新功能有 1、模块化设计不同于Grub 的单一内核结构,Grub 2 的功能分布在很多的小模块中,并且能在运行时动态装载和卸除。

2、支持多体系结构Grub 2可支持PC(i386), MAC(powerpc)等不同的体系机构,而且支持最新的EFI 架构。

3、国际化的支持BlogPasteUbuntuWiki Linux Forum 搜索Grub 2 可以支持非英语的语言。

4、内存管理Grub 2 有真正的内存管理系统。

5、脚本语言Grub 2 可以支持脚本语言,例如条件,循环,变量,函数等。

6,绚丽的菜单界面旧的Grub已经停止开发,而Grub2还在开发过程中,所以Grub2有些功能还没有实现。

但是我们已经可能用Grub2中较稳定的版本了,而Ubuntu9.04/9.10都已包含了Grub2.而本篇重点介绍Grub2的美化,和Grub相比较,在美化上Grub2支持更多的图片格式:PNG,TGA (默认支持,Jpeg 格式的也支持,但是稍微麻烦一点,旧的GRUB 中支持的xpm格式的不再支持);再就是支持更大的分辨率(800x600),(1024x768)原版本似乎只支持640x480,这样你就可以方便的自定义自己的splahimage了(用高分辨率的图片来做splash image);还有就是配置文件也不是原来的menu.lst,而是引用:/boot/grub/grub.cfg和/etc/grub.d/05_debian_theme一:简单的改变Grub2的字体颜色和背景在你进入系统之前会有一个黑底白字的Grub菜单界面,面,让你选择进入系统,这里的黑底白字可以改变的,具体如下:这里涉及到的文件是/etc/grub.d/05_debian_theme在打开之前建议先保存,以免出错,引用:sudo /etc/grub.d/05_de/etc/grub.d/05_debian_themebian_theme_backup打开/etc/grub.d/05_debian_theme引用:sudo gedit /etc/grub.d/05_debian_theme可以在33到43行之间看到引用:set color_normal=black/blackset color_highlight=magenta/blackset menu_color_normal=cyan/blueset menu_color_highlight=white/blue这么几句,它们就是改变字体颜色的关键,foreground/background是修改字体它们的意思color_normal=foreground(前景色)/background(背景色)即“/”之前的表示前景色,之后的表示背景色。

GRUB 2和grub配置文件

GRUB 2和grub配置文件

可以使用这个命令将所有后续的重新启 动的选项设为第二个菜单选项 (menuentry): 命令:grub2-set-default 1 二、GRUB 2的配置文件内容 (/boot/grub2/grub.cfg)包含了若干个 menuentry段,而每一个段就代表安装 了一个Linux内核。每一个段都是以带有 一些选项的menuentr关键字开始。 每个menuentry也是在GRUB2选单中 的一个单独的菜单选项(即可以系统)
GRUB 2和/etc/default/grub配置文件
一、GRUB 2的配置文件是 /boot/grub2/grub.cfg,早期版本的GRUB 配置文件是可以直接更改的,但是到了 Linux 7.0后是不可以直接更改(编辑) 的, 必须使用命令grub2-mkconfig命令 来生成这一个配置文件。当生成grub.cfg 配置文件时,grub2-mkconfig命令使用 /etc/grub.d目录中的一些模板脚本并从
/boot/grub2/grub.cfg文件生成后,系 统要从/etc/default/grub文件中获取 GRUB 2 菜单-配置的设置。内容如下
要想改变/etc/default/grub文件的配置信 息,必须运行命令grub2-mkconfig重新生成
/boot/grub2/grub.cfg文件,命令如下:
grub2-mkconfig -o /boot/grub2ቤተ መጻሕፍቲ ባይዱgrub.cfg
如果GRUB_DEFAULT的值是saved,则 可以使用grub2-set-default命令和grub2reboot命令指定默认选项。这两个命令 的功能如下: grub2-set-default:为所有后续的重新 启动系统设置默认选项。 grub2-reboot:仅为下一次重新启动 系统设置默认选项。 如果GRUB_DEFAULT的值为saved,则

GRUB2启动详解

GRUB2启动详解

目前Grub1已经停止开发了,不再增加新的功能,所有的开发都转移到Grub2上了,Grub 2 是新一代的Grub,它实现了一些Grub中所没有的功能:1.模块化设计不同于Grub的单一内核结构,Grub 2 的功能分布在很多的小模块中,并且能在运行时动态装载和卸除。

2.支持多体系结构Grub 2可支持PC(i386), MAC(powerpc)等不同的体系机构,而且支持最新的EFI架构。

3.国际化的支持Grub 2 可以支持非英语的语言。

4.内存管理Grub 2 有真正的内存管理系统。

5.脚本语言Grub 2 可以支持脚本语言,例如条件,循环,变量,函数等。

当然,Grub 2正处在开发阶段,因此以上的某些功能可能现阶段还不是很完善。

如果你熟悉Grub2,应该可以看明白里面的内容。

要注意的是:a、timeout, default等参数用变量来储存b、菜单项由menuentry定义c、第1个分区是(hd0,1)而不是(hd0,0)理论的东西说多了大家估计也晕,举个简单的例子:在grub1中,要改变启动背景的时候只能选择支持640X480分辨率并且格式也只能是.xpm的图片,分辨率稍微大点的图就显示不出来了,但grub2不存在这个问题,它有更绚丽的菜单界面,grub2默认.png .tga .jpeg等很多种格式的图片都支持,而且支持的图片分辨率也更大。

GRUB2启动代码分析## DO NOT EDIT THIS FILE## It is automatically generated by /usr/sbin/grub-mkconfig using templates# from /etc/grub.d and settings from /etc/default/grub#### BEGIN /etc/grub.d/00_header ###if [ -s $prefix/grubenv ]; then#如果“prefix/grubenv”目录不为空load_env#从grubenv文件中加载环境变量fiset default="0"#启动第1项#if [ ${prev_saved_entry} ]; then #如果prev_saved_entry的值不为空set saved_entry=${prev_saved_entry} #将saved_entry的值设置成变量prev_saved_entry的值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GNU GRUB 中文手册修订次数:1不保证含义准确仅供参考。

若发现有谬误之处可发送邮件到:grub2_cn_manual@邮件主题必须以 grub2: 开始,否则系统不接收。

针对grub版本v1.99 info手册翻译,并且添加插图和注解。

Permission is granted to copy, distribute and/or modify thisdocument under the terms of the GNU Free Documentation License,Version 1.2 or any later version published by the Free SoftwareFoundation; with no Invariant Sections.译者:三寸断梁1grub前言搭建GRUB2 LINUX实验环境。

由于GRUB是启动加载器,因此你修改配置文件后需要重启电脑才能看到改变,为了避免反复重启。

在这里推荐使用VirtualBox 虚拟机。

本人实验配置是:Fedora 16-i386-DVD 完全安装,VirtualBox 4.2.2 for linux 。

Grub 1.99 。

syslinux 4.05 ,你的linux主机应该安装有grub2 。

下文所述,在我的机器上3个镜像成功加载。

1.准备虚拟机。

如果你发现鼠标消失了,按下 右ctrl 。

•从 https:///wiki/Linux_Downloads下载VirtualBox 4.2.2 。

我选择的是 All distributions 。

80M左右的体积。

•新建一个虚拟机,操作简单直接下一步下一步。

设置为使用128M内存,使用虚拟硬盘文件,512M硬盘。

显存23M 。

不要启动虚拟机,完成下面的步骤。

2.准备memdisk•使用syslinux是因为实验中的实例需要 memdisk,它是包括在syslinux中的。

可以用来加载一些Win下的img镜像,比如: Ghost82.img MaxDOS.img 读者可到网上下载这两个文件。

•从 ftp:///pub/linux/utils/boot/syslinux/下载syslinux-4.05.tar.gz 它是syslinux源代码。

新版本syslinux中的memdisk能自动计算镜像文件的 c h s 参数。

解压源代码到某个路径例如 主目录 ~•编译memdisk(我们只需要memdisk)。

编译需要nasm编译器,执行如下命令:cd ~/syslinux-4.05/memdiskmake它会生成名为memdisk的文件。

这个文件可以在GRUB2中使用linux16 加载。

3.准备用来创建光盘镜像的iso目录•mkdir -p ~/iso/boot/grub{,2}•在 ~/iso/boot/grub下建立配置文件grub.cfg 内容如下:•复制Ghost82.img MaxDOS.img 到~/iso ;复制 ~/syslinux-4.05/memdisk/memdisk 到 ~/iso/boot/;复制所有GRUB2模块到~/iso/boot/grub2 。

GRUB2模块在i386上应该在:/usr/lib/grub2/i386-pc/ 。

4.创建grub.iso ,这个文件将用虚拟机加载。

•在主目录下执行命令:grub2-mkrescue -o grub.iso iso因为当前处在主目录下,命令中的iso就指向 ~/iso 目录。

创建的grub.iso光盘,包含:~/iso/* 下的所有文件,并且包含有GUB2 启动区块。

这个iso可以写入CD。

如果希望写入U 盘需要使用grub2-install 命令。

5.在虚拟机的镜像列表中添加grub.iso,然后启动虚拟机。

当你修改了iso/boot/grub/grub.cfg配置文件,重新执行第四步,然后重启虚拟机就看以看到改变。

如果你没有出错且幸运的话,虚拟机上应该能够得到上图。

尝试前两个选项,她们应该能够正确运行。

1.1概论简而言之:grub是一个引导加载器,即计算机系统启动时第一个运行的程序。

它是为了加载操作系统和转移控制权给操作系统内核。

内核再继续启动完整的操作系统。

GNU GRUB 是一个非常强大的引导加载器,它可以加载种类繁多的操作系统。

还支持链式加载“chain-loading” 。

GRUB最大的特性就是可扩展性。

GRUB 支持文件系统和内核可执行格式,因此你可以用很多方式加载你的OS,而不用记录下OS在磁盘上的物理地址。

比如使用分区名,路径和文件名指定文件。

当GRUB加载系统时,可以使用命令行交互模式,也可以使用菜单选择模式。

使用命令行模式你需要指定内核的文件名和分区名。

在菜单模式下,你只需要移动箭头来选择一个菜单然后按下enter。

菜单使用一个配置文件来说明。

1.2GRUB的历史略1.3与以前版本的不同点GRUB2是重写GRUB后的升级版本。

二者有很多相同的特性。

但是也有很多地方发生了改变。

1.新的配置文件名:/boot/grub/grub.cfg而不是/boot/grub/menu.lst or grub.conf ,配置文件有新的语法。

因此不能直接使用grub1的配置文件。

2.grub.cfg 由 grub2-mkconfig 命令产生。

它方便升级内核版本。

3.分区编号从1开始,而不是0.4.配置文件现在是一个完整的脚本语言,它支持:变量,条件,循环。

5.save_env 和 load_env 支持对启动状态的本地保存。

6.GRUB2 拥有更加聪明的算法用来找寻它所需要的文件。

使用search命令你可以通过卷标或者UUID来选择磁盘。

7.GRUB2 支持多找其他类型的系统:PC EFI,PC coreboot,PowerPC,SPARC,MIPS …..8.支持多种文件系统,不仅仅限于:ext4,HFS+,NTFS9.GRUB2 可以直接从LVM和RAID中读取文件。

10.支持图形终端和菜单系统。

11.GRUB2 交互界面可以被翻译,包括菜单项的名字。

12.镜像文件,发生变化。

13.GRUB2有动态加载的模块可用于支持更多的文件系统和其他功能。

2加载器的作用引用自Gordon Matzigkeit,GRUB爱好者:作为GRUB的维护者,我们并不支持Gordon这种程度的发烧友。

但是他的话可以帮助理解GRUB的作用。

2.1命名规范GRUB为用的设备语法相对与以前发生了重要变化。

首先需要设备名称被扩在圆括号内,表示软盘,数字表示编号为的设备(第一个软盘设备),编号从零开始计数。

hd意思是硬盘,数字0代表设备号,意味着是第一块硬盘。

Msdos 指出了分区类型,数字2代表分区编号。

分区编号从1开始计数,而不是0 。

因此上面的代码指定了第一个硬盘的第二个分区为msdos格式。

当你选择了分区时GRUB会尝试解析文件系统,并从分区中读取资料。

1LILO , LInux LOader ,一个很多人使用但是很少有人喜欢的加载器。

这指定了第一个硬盘的第一个扩展分区。

由于主分区最多为,所以扩展分区从开始编号。

第2块硬盘上的第一个(使用管理磁盘,概念类似于主分区)。

想让GRUB真实的访问磁盘和分区,你需要在命令行中按照上述语法指定分区。

例如:如果你不知道磁盘中的分区方法,可以使用的补全功能。

只输入然后按下键,会自动显示设备列表,分区名,文件名。

注意GRUB不从SCSI识别IDE,它简单的从0开始给设备编号,而忽略设备类型。

同差IDE设备的编号小于SCSI设备。

如果你在BIOS中改变了IDE和SCSI的引导顺序,那编号大小就说不准了。

现在考虑一个问题,如何指定一个文件?它在指定分区上指定文件。

依次类推,可以指定任意路径。

3安装GRUB在类unix系统中安装GRUB请在root权限调用 grub2-install 程序。

命令参数比较简单,只需要指定目标磁盘设备文件名。

在GNU/hurd 系统下使用这个命令上面的两个命令会把GRUB镜像放置到/boot文件夹。

如果你希望它把文件放到其他文件夹需要指定--boot-directory 参数。

这里有个创造软盘启动的实例。

有些在使用设备的第一个分区作为软盘时有。

此时把设备当作硬盘来启动。

俗称:USB-FDD 启动。

这种情况下你需要这样安装GRUB。

:这个安装方法不和标准方法冲突。

因为她们被安装到其他文件夹里。

目前grub2-install只是一个shell脚本。

脚本调用了grub2-mkimage 和 grub2-setup 。

你也可以直接使用这两个命令。

不建议这样做,非常熟悉grub者除外。

安装引导加载器到正在运行的OS中可能导致严重错误。

3.1创建GRUB引导的CD-ROMGRUB支持El T orito1非仿真模式。

这也意味着你可以直接从cd-rom中使用GRUB启动,而不需要创建启动软盘和硬盘镜像(它们可能导致启动失败)。

CD-ROM启动GRUB使用一个称作cdboot.img的镜像。

此镜像被core.img包含 。

core.img镜像也必须包含 iso9660 和 biosdisk模块。

CD-ROM 启动也需要包含grub.cfg 和 相关grub模块。

创建一个简单通用的GRUB救援光盘,你需要使用grub2-mkrescue 程序:你还需要在中包括其他的有用的文件。

只需要在文件夹内放置你需要的文件即可。

最后使用命令:它会产生名为 的文件。

它可以直接刻录到或者光碟内。

根设备在进入grub.cfg 之前自动设置,你可以在grub.cfg脚本中直接引用文件的路径,不需要指定设备名。

自动设置root设备,可以工作在光驱和USB储存设备。

实际上很多盗版系统光碟的启动菜单就是使用grub的。

El T orito是可引导CD的技术标准,它用于BIOS。

3.2映射BIOS设备和OS设备grub2-mkdevicemap 程序用来创建设备映射文件。

它通常由某些工具在没有找到设备映射文件时自动调用,例如grub2-install。

默认设备映射文件在/boot/grub2/device.map如果设备映射文件存在,GRUB工具集读取它并且映射BIOS驱动器到OS设备。

这个文件内容如下:DEVICE是grub语法表示的磁盘设备,FILE是操作系统的设备文件。

映射文件的作用是:GRUB在配置文件中使用的设备名指代的设备 (hd0) 是根据BIOS的设备号得到的。

如果BIOS设置变化而发生变化。

如果你在BIOS中交换了IDE和SCSI设备的启动顺序GRUB会得到错误的设备号。

不幸的是此时OS设备名也不恒定。

多启动的情况下:不同的Linux内核 可能使用不同的顺序加载设备驱动以及使用不同的设备名(/dev/hd* 和 /dev/sd* )。

相关文档
最新文档