⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 564.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 4 页
字号:
                        </font></div>
                    </td>
                  </tr>
                  <tr> 
                    <td noWrap> 
                      <div align="center"> 
                        <input maxlength=100 size=30 name=keyword2>
                      </div>
                    </td>
                  </tr></tbody> 
                </table>
              </form>
            </TD>
            <TD rowSpan=2><IMG src="images/header_r1_c7.gif" tppabs="http://www.linuxhero.com/docs/images/header_r1_c7.gif" width=26 border=0 name=header_r1_c7></TD>
          <TD><IMG height=83 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 border=0></TD></TR>
        <TR>
          <TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif"><IMG height=22 
            src="images/header_r2_c1.gif" tppabs="http://www.linuxhero.com/docs/images/header_r2_c1.gif" width=296 border=0 
            name=header_r2_c1></TD>
          <TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colSpan=5>
              <DIV align=right><FONT class=normalfont>当前位置: 
              <A href="index.html" tppabs="http://www.linuxhero.com/docs/index.html">本站首页</A>
              <font color="#FF6699">&gt;&gt;</font>
<A href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</A>                 | <A href="copyright.html" tppabs="http://www.linuxhero.com/docs/copyright.html">版权说明</A></font></DIV>
            </TD>
          <TD><IMG height=22 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 
        border=0></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=10 cellPadding=0 width="100%" bgColor=#ffffff 
        border=0>
         <TR>
          <TD>
            <TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
              
              <TR>
                <TD vAlign=top align=middle width="60%">
                  <TABLE cellSpacing=0 cellPadding=0 width="100%" 
                  background="images/back.gif" tppabs="http://www.linuxhero.com/docs/images/back.gif" border=0>
                    <TBODY>
                    <TR>
                        <TD vAlign=top width="80%"> 
                          <DIV align=center>
                        <FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
                            </FORM>
                        <TABLE cellSpacing=0 cellPadding=0 width="95%" 
                          border=0><TBODY>
                          <TR>
                            <TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif" 
                          height=30></TD></TR></TBODY></TABLE>
                        <TABLE cellSpacing=0 cellPadding=3 width="95%" 
                        align=center border=0>
                          <TBODY>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=0 cellPadding=3 width="100%" 
                              border=0>
                                <TBODY>
                                <TR>
                                      <TD vAlign=top> 
<p><FONT class=normalfont><B><font color=blue>grub学习笔记</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:probing<br>来自:Linux知识宝库<br>联系方式:无名<br><br>声明:本笔记并非原创,只是我个人的学习笔记!<br>
很多的内容来自www.linuxsir.com www.linuxfans.org www.linuxAID.com<br>
非常感谢以上网站对我的学习提供的莫大的帮助,本着学习和分享的原则我贴出我的学习笔记,更希望兄弟们能给我指出其中错误的地方.谢谢!!!<br>
学习这部分知识,首先要学到问题的思路,其次你还要记住一些东西,是死记硬背下来!你会发现这点东东的确是很有用的!<br>
尽管如此,本文档归属linuxsir-probing!转载请注明出处!更不能被用到商业用途上!<br>
<br>
1 首先要了解的几个概念<br>
<br>
1.1 启动管理器<br>
启动管理器是存储在磁盘开始扇区中的一段程序,例如,硬盘的MBR(Master Boot Record),在系统完成启动测试后,如果系统是从MBR启动,则BIOS(Basic Input/Output System)将控制传送给MBR。然后存储在MBR中的这段程序将运行。这段程序被称为启动管理器。它的任务就是将控制传送给操作系统,完成启动过程》有许多可用的启动管理器,包括GNU GRUB (Grand Unified Boot Loader),Bootmanager, LILO (LInux LOader), NTLDR (boot loader for Windows NT systems),等等等.<br>
1.2 什么是GRUB?<br>
grub 是一个多重启动管理器。grub是GRand Unified Bootloader的缩写,它可以在多个操作系统共存时选择引导哪个系统。它可以引导的操作系统包括:<br>
Linux,FreeBSD,Solaris,NetBSD,BeOSi,OS/2,Windows95/98,Windows NT,Windows2000,WinXP。它可以载入操作系统的内核和初始化操作系统(如Linux,FreeBSD),或者把引导权交给操作系统(如Windows 98)来完成引导。<br>
1.3 GRUB的特点<br>
特别适用于linux与其它操作系统共存情况。<br>
支持大硬盘 现在大多数Linux发行版本的lilo都有同样的一个问题:根分区(/boot分区)不能分在超过1024柱面的地方,一般是在8.4G左右的地方,否则lilo不能安装,或者安装后不能正确引导系统。而grub就不会出现这种情况,只要安装时你的大硬盘是在LBA模式下,grub就可以引导根分区在8G以外的操作系统。<br>
支持开机画面   grub支持在引导开机的同时显示一个开机画面。对于玩家来说,这样可以制作自己的个性化开机画面;对于PC厂商,这样可以在开机时显示电脑的一些信息和厂商的标志等。grub支持640x480,800x600,1024x768各种模式的开机画面,而且可以自动侦测选择最佳模式,与Windows那320x400的开机画面不可同日而语。<br>
两种执行模式 grub不但可以通过配置文件进行例行的引导,还可以在选择引导前动态改变引导时的参数,还可以动态加载各种设备。例如你在Linux下编译了一个新的核心,但不能确定它能不能工作,你就可以在引导时动态改变grub的参数,尝试装载这个新的核心进行使用。Grub的命令行有非常强大的功能,而且支持如bash或doskey一样的历史功能,你可以用上下键来寻找以前的命令。<br>
菜单式选择   grub使用一个菜单来选择不同的系统进行引导。你还可以自己配置各种参数,如延迟时间,默认操作系统等。<br>
分区大小改变后不必重新配置   grub是通过文件系统直接把核心读取到内存,因此只要操作系统核心的路径没有改变,grub就可以引导系统。<br>
除此之外,Grub还有许多非常强大的功能。例如支持多种外部设备,动态装载操作系统内核,甚至可以通过网络装载操作系统核心。Grub支持多种文件系统,支持多种可执行文件格式,支持自动解压,可以引导不支持多重引导的操作系统,支持网络启动等。<br>
1.4 MBR和第一扇区<br>
你可以简单的理解为MBR是整个硬盘的物理第一位置,而第一扇区是硬盘的物理第二位置.<br>
1.5 一个GRUB配置文件<br>
基于本例的分区如下:<br>
hda 15G<br>
hda1 8G / RED HAT LINUX8.0<br>
hda5 7G /home<br>
hdc 20G<br>
hdc1 6.4G WinXP<br>
hdc5 6.4G<br>
hdc6 6.4G<br>
hdc7 6.4G<br>
#fdisk -l<br>
# Disk /dev/hdc: 255 heads, 63 sectors, 2434 cylinders<br>
Units = cylinders of 16065 * 512 bytes<br>
<br>
Device Boot Start End Blocks Id System<br>
/dev/hdc1 * 1 894 7181023+ b Win95 FAT32<br>
/dev/hdc2 895 2434 12370050 f Win95 Ext'd (LBA)<br>
/dev/hdc5 895 1787 7172991 b Win95 FAT32<br>
/dev/hdc6 1788 2434 5196996 b Win95 FAT32<br>
<br>
Disk /dev/hda: 255 heads, 63 sectors, 1867 cylinders<br>
Units = cylinders of 16065 * 512 bytes<br>
<br>
Device Boot Start End Blocks Id System<br>
/dev/hda1 * 1 1020 8193118+ 83 Linux<br>
/dev/hda2 1021 1802 6281415 83 Linux<br>
/dev/hda3 1803 1867 522112+ 82 Linux swap<br>
<br>
grub.conf,这个文件位于;/boot/grub/grub.conf<br>
# grub.conf generated by anaconda<br>
#<br>
# Note that you do not have to rerun grub after making changes to this file<br>
# NOTICE: You do not have a /boot partition. This means that<br>
# all kernel and initrd paths are relative to /, eg.<br>
# root (hd0,0)<br>
# kernel /boot/vmlinuz-version ro root=/dev/hda1<br>
# initrd /boot/initrd-version.img<br>
#boot=/dev/hda<br>
default=0<br>
timeout=3<br>
splashimage=(hd0,0)/boot/grub/splash.xpm.gz<br>
title Red Hat Linux (2.4.18-14)<br>
root (hd0,0)<br>
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/<br>
initrd /boot/initrd-2.4.18-14.img<br>
title Microsoft Windows XP<br>
map (hd0) (hd1)<br>
map (hd1) (hd0)<br>
root (hd1,0)<br>
chainloader (hd1,0)+1<br>
makeactive<br>
boot<br>
<br>
2 解读grub.conf文件<br>
<br>
我们将来看看grub.conf文件内语句,(注:...)内的东西是我们的解读内容.<br>
# grub.conf generated by anaconda<br>
#<br>
# Note that you do not have to rerun grub after making changes to this file<br>
# NOTICE: You do not have a /boot partition. This means that<br>
# all kernel and initrd paths are relative to /, eg.<br>
# root (hd0,0)<br>
# kernel /boot/vmlinuz-version ro root=/dev/hda1<br>
# initrd /boot/initrd-version.img<br>
#boot=/dev/hda (注:以上以符号井"#"开头的行表示被注释掉,没有任何意义)<br>
default=0 (注:默认的操作系统就是由default控制的。default后加一个数字n,表明是第 n+1个。需要注意的是,GRUB中,计数是从0开始的,第一个硬盘是hd0,第一 个软驱是fd0,等等。所以,default 0 表示默认的操作系统在这儿是 Red Hat Linux (2.4.18-14)如果你修改成1就是WinXP了)<br>
timeout=3 (注:timeout表示默认等待的时间,这儿是3秒钟。超过3秒,用户还没有作出选 择的话,系统将自动选择默认的操作系统;当然你可以改成任何你乐意的时间)<br>
splashimage=(hd0,0)/boot/grub/splash.xpm.gz (注:指定开机画面文件splash.xpm.gz的位置)<br>
title Red Hat Linux (2.4.18-14) (注:表示Red Hat Linux的菜单项)<br>
root (hd0,0) (注:表示第一个硬盘第一个分区,这里的root和系 统内的root不是一码事!详细如下说明)<br>
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ (注:指定内核的位置,详细说明如下 文)<br>
initrd /boot/initrd-2.4.18-14.img (注:初始化)<br>
title Microsoft Windows XP (注:表示Microsoft Windows XP的菜单项)<br>
map (hd0) (hd1) (注:map是命令,详细如下)<br>
map (hd1) (hd0)<br>
root (hd1,0) (注:这是指第二个硬盘(从硬盘)上第一个分区)<br>
chainloader (hd1,0)+1 (注:链式装入器,装入一个扇区的数据然后把引导 权交给它。详细说明如下)<br>
makeactive<br>
boot<br>
<br>
(注:在 Linux 中,当谈到 "root" 文件系统时,通常是指主 Linux 分区。但是,GRUB 有它自己的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。这可能是您的正式 root 文件系统,也可能不是。我们讨论的是 GRUB,需要指定 GRUB 的 root 分区。进入 root 分区时,GRUB 将把这个分区安装成只读型,这样就可以从该分区中装入 Linux 内核。GRUB 的一个很“酷”的功能是它可以读取本机的 FAT、FFS、minix、ext2 和 ReiserFS 分区.到目前为止,您可能会感到一点疑惑,因为 GRUB 所使用的硬盘/分区命名约定与 Linux 使用的命名约定不同。在Linux 中,第一个硬盘的第五个分区称作 "hda5"。而 GRUB 把这个分区称作 "(hd0,4)"。GRUB 对硬盘和分区的编号都是从 0 开始计算。另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。现在,可以发现如果要引导 Linux 硬盘 hda5,应输入 "root (hd0,4)"。<br>
知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。<br>
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/说明/boot/vmlinuz-2.4.18-14就是要载入的内核。后面的都是传递给内核的参数。root=LABEL=/就是linux的硬盘分区表示法,ro是readonly的意思。initrd用来初始的linux image,并设置相应的参数。<br>
命令map:当你有两块硬盘,一个无法从第二块硬盘启动的操作系统,例如Windowsxp,就可以使用map命令.你能够将hd0映射为hd1,将hd1映射为hd0。换句话说,你可以虚拟的交换两个硬盘而启动所需要的操作系统 。命令形式如下:<br>
grub&gt; map (hd0) (hd1)<br>
grub&gt; map (hd1) (hd0)<br>
GRUB 使用了“链式装入器”(chainloader)。链式装入器从分区 (hd1,0) 的引导记录中装入winxp自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 -- 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。<br>
GRUB的配置文件要简单就这么简单,如果你要更个性化一点,试一试把“color light-gray/blue ”加在default语句的下面,下一次启动GRUB时,看看有什么变化,再试一试“color light-blue/red",惊喜吗? 有趣吧! )<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -