<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[阿Tim日志]]></title> 
<link>https://atim.cn/index.php</link> 
<description><![CDATA[专业的php开发者.开发团队的带队人]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[阿Tim日志]]></copyright>
<item>
<link>https://atim.cn/post//</link>
<title><![CDATA[grub安装配置及使用汇总]]></title> 
<author>bkkkd &lt;partybase@gmail.com&gt;</author>
<category><![CDATA[软件应用]]></category>
<pubDate>Wed, 26 Oct 2005 13:21:59 +0000</pubDate> 
<guid>https://atim.cn/post//</guid> 
<description>
<![CDATA[ 
	<br/> &nbsp; &nbsp;(一)安装linux时安装grub.<br /><br/>安装redhat linux时会提示安装引导程序,如果选择grub为引导程序,建议把grub安装到硬盘的引导扇区MBR.grub<br/>还可以引导其它操作系统，如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS，以及 Windows<br/>95、98、NT、2000、XP。<br /><br/>(二)grub的配置<br /><br/>一旦选择了grub为引导程序,下面我们来了解一下它的配置.<br /><br/>/boot/grub/grub.conf是grub产生一个引导选择菜单以及设置一些选项.下面是我的grub.conf:<br /><br/>#==========例子开始==========<br /><br/># grub.conf generated by anaconda<br /><br/>#<br /><br/># Note that you do not have to rerun grub after making changes to this file<br /><br/># NOTICE: You have a /boot partition. This means that<br /><br/># all kernel and initrd paths are relative to /boot/, eg.<br /><br/># root (hd0,6)<br /><br/># kernel /vmlinuz-version ro root=/dev/hda10<br /><br/># initrd /initrd-version.img<br /><br/>#boot=/dev/hda<br /><br/>default=0<br /><br/>timeout=10<br /><br/>splashimage=(hd0,6)/grub/splash.xpm.gz<br /><br/># --&gt; Redhat linux 8.0 &lt;--<br /><br/>title Red Hat linux (2.4.18-14)<br /><br/>root (hd0,6)<br /><br/>kernel /vmlinuz-2.4.18-14 ro root=LABEL=/<br /><br/>initrd /initrd-2.4.18-14.img<br /><br/># --&gt; Microsoft Windows XP &lt;--<br /><br/>title Microsoft Windows XP<br /><br/>rootnoverify (hd0,0)<br /><br/>chainloader +1<br /><br/>#===========例子结束==========<br /><br/>配置选项解释:<br /><br/>以&quot;#&quot;开头的是注释行.<br /><br/>我这里有两个操作系统,分别是Red Hat linux和Microsoft Windows XP.<br /><br/>其中 timeout标识默认等待时间,我这设置为10秒,超过10秒用户还没作出选择的话,将自动选择默认的操作系统(我这里默认的是Redhat linux 8.0)<br /><br/>默认的操作系统是由default一项来控制的,default后的数字表明第几个是默认的,这里0表示第一个,1表示第二个.所以如果你想修改默认的操作系统,就修改default后的数字.<br /><br/>title一项是设置操作系统的名称,grub不支持中文(有点遗憾).<br /><br/>splashimage一项指定grub界面的背景图片,有兴趣的朋友可以修改grub的背景哦!<br /><br/>root<br/>(hd0,6)标识从第一个硬盘,第7个分区来启动搜索引导内核.注意这儿的root与linux的root分区不同,此root非彼root也!<br/>grub的硬盘标识方法与linux的有点不同.在linux中第一个主分区为hda1,第二个主分区为hda1,第一个逻辑分区为hda5,而在<br/>grub中是以(hdx,y)来标识的,如第一个主分区为(hd0,0)第一个逻辑分区为(hd0,1)依此类推.所以这儿root后面的是你的<br/>/boot所在分区标识.<br /><br/>知道了内核在哪儿，还要具体指出哪个文件是内核文件，这就是kernel的工作。<br /><br/>kernel /vmlinuz-2.2.18-14 ro root=LABEL=/.说明/boot/vmlinuz-2.2.18-14<br/>就是要载入的内核。后面的都是传递给内核的参数。ro是以readonly的意思。注意我这里内核前面的路径是&quot;/&quot;,因为我的boot单独分了一个区,<br/>如果你没有为boot单独分区,那么内核前面的路径就是&quot;/boot&quot;.<br /><br/>initrd用来初始的linux image，并设置相应的参数<br /><br/>再来看一看windows的定义段吧。<br /><br/>这里，我添加了一项来引导 WindowsXP。要完成此操作，GRUB 使用了&quot;链式装入器&quot;(chainloader)。链式装入器从分区<br/>(hd0,0) 的引导记录中装入 winXP 自己的引导装入器，然后引导它。这就是这种技术叫做链式装入的原因 --<br/>它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或<br/>Windows。如果你在计算机中装有win98,winme,win2k,winxp的话,chainloader会把引导权交与win的<br/>NTLoader来引导.<br /><br/>(三)Grub启动盘的制作<br /><br/>要制作引导盘，需执行一些简单的步骤。首先，在新的软盘上创建 ext2 文件系统。然后，将其安装，并将一些 GRUB 文件复制到该文件系统，最后运行 &quot;grub&quot; 程序，它将负责设置软盘的引导扇区。<br /><br/>将一张空盘插入 1.44MB 软驱，输入：<br /><br/># mke2fs /dev/fd0<br /><br/>创建了 ext2 文件系统后，需要安装该文件系统：<br /><br/># mount /dev/fd0 /mnt/floppy<br /><br/>现在，需要创建一些目录，并将一些关键文件（原先安装 GRUB 时已安装了这些文件）复制到软盘：<br /><br/># mkdir /mnt/floppy/boot<br /><br/># mkdir /mnt/floppy/boot/grub<br /><br/># cp /boot/grub/stage1 /mnt/floppy/boot/grub<br /><br/># cp /boot/grub/stage2 /mnt/floppy/boot/grub<br /><br/>再有一个步骤，就能得到可用的引导盘。<br /><br/>在linux bash中，从 root 用户运行&quot;grub&quot;，该程序非常有趣并值得注意，因为它实际上是 GRUB<br/>引导装入器的半功能性版本。尽管 linux 已经启动并正在运行，您仍可以运行 GRUB 并执行某些任务，而且其界面与使用 GRUB 引导盘或将<br/>GRUB 安装到硬盘 MBR 时看到的界面(即GRUB控制台)完全相同。<br /><br/>在 grub&gt; 提示符处，输入：<br /><br/>grub&gt; root (fd0)<br /><br/>grub&gt; setup (fd0)<br /><br/>grub&gt; quit<br /><br/>现在，引导盘完成了。<br /><br/>(四).恢复被windows破坏的grub.<br /><br/>如果你用grub来引导linux和windows,当windows出毛病重新安装后,会破坏MBR中的grub,这时需要恢复grub.<br /><br/>1.把linux安装光盘的第一张放到光驱，然后重新启动机器，在BOIS中把系统用光驱来引导。<br /><br/>2.等安装界面出来后，按［F4］键，也就是linux rescue模式。<br /><br/>3.一系列键盘以及几项简单的配制，过后就［继续］了。。。这个过程，我不说了，比较简单。<br /><br/>4.然后会出现这样的提示符:<br /><br/>sh#<br /><br/>5.我们就可以操作GRUB了.输入grub:<br /><br/>sh#grub<br /><br/>会出现这样的提示符:<br /><br/>grub&gt;<br /><br/>我们就可以在这样的字符后面，输入:<br /><br/>grub&gt;root (hdX,Y)<br /><br/>grub&gt;setup (hd0)<br /><br/>如果成功会有一个successful......<br /><br/>这里的X，如果是一个盘，就是0，如果你所安装的linux的根分区在第二个硬盘上，那X就是1了；Y，就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。<br /><br/>(五).用NTLoader来引导linux.<br /><br/>如果你在安装linux时没有选择安装grub,不必着急,现在我们来看看如何在安装linux后安装grub.并用windows的NTLoader来引导linux.<br /><br/>1. 安装grub<br /><br/>我用的grub是Redhat8.0带的grub安装包: grub-0.92-7.rpm<br /><br/>安装: rpm -ivh grub-0.92-7.rpm<br /><br/>其他安装方式也一样,只要你安装上grub就行了.RH8缺省用的grub, 1,2步骤可以省了.<br /><br/>2. 建立grub的环境<br /><br/>cp /usr/share/grub/i386-pc/* /boot/grub<br /><br/>3. 生成grub的配置文件/boot/grub/menu.conf<br /><br/>按照上面所讲的grub.conf来生成一个配置文件.<br /><br/>注意了, 这里我的linux在/dev/hda4,所以menu.conf那些分区位置为(hd0,3),<br /><br/>你的可能不一样了,不能完全照着&quot;画瓢&quot;噢! 下面第3步install的中的分区位置也应该和你的系统一致.<br /><br/>3. 安装grub至linux分区boot<br /><br/>将grub的stage1安装到/dev/hda4的boot扇区(hd0,3). 过程如下:<br /><br/>/sbin/grub (运行grub)<br /><br/>grub&gt; install (hd0,3)/boot/grub/stage1 d (hd0,3) (hd0,3)/boot/grub/stage2 p (hd0,3)/boot/grub/menu.conf<br /><br/>(注意,上面&quot;grub&gt;&quot;为grub的提示符,其后内容写在一行上.)<br /><br/>4. 取得grub的boot信息<br /><br/>过程如下:<br /><br/>dd if=/dev/hda4 of=/grub.lnx bs=512 count=1<br /><br/>这样得到grub的引导信息,只要用NT Loader来加载它就行了.<br /><br/>5. 将上面得到的grub.lnx弄到Windows的C盘根目录下<br /><br/>可以先把grub.lnx弄得软盘上,然后启动windows,拷贝到C:; 情况允许也可以直接在linux下拷贝到C:了. 我的C盘(即设备/dev/hda1)为FAT32, 可以直接从Linux下弄过去了. 如下:<br /><br/>mount -t vfat /dev/hda1 /mnt/c<br /><br/>cp /grub.lnx /mnt/c<br /><br/>umount /mnt/c<br /><br/>6. 修改NT Loader的boot.ini<br /><br/>在其中加入一行: C:grub.lnx=&quot;Redhat linux - GRUB&quot;<br /><br/>加入后boot.ini的内容如下:<br /><br/>[boot loader]<br /><br/>timeout=15<br /><br/>default=C:oot.lnx<br /><br/>[operating systems]<br /><br/>multi(0)disk(0)rdisk(0)partition(1)WINDOWS=&quot;Microsoft Windows XP Professional&quot; /fastdetect<br /><br/>[VGA mode]&quot; /basevideo /sos<br /><br/>C:grub.lnx=&quot;Redhat linux - GRUB&quot;<br /><br/>OK. 可以用NT Loader加载linux了, 其实上面过程基本上和用NT Loader加载LILO一样.其基本思想就是用NT Loader来加载LILO或grub的引导区(grub.lnx), 其中的关键就是LILO或grub的引导区的获取.<br /><br/>(六)活用grub的交互功能<br /><br/>grub具有强大的交互功能.学会了将会使你受益非浅!<br /><br/>1.grub没有显示菜单怎么办?<br /><br/>当开机后进入grub界面但没了菜单,只剩下一个grub&gt;提示符,怎么启动呢?别急,看下面:<br /><br/>grub&gt;cat (hd0,6)/boot/grub/grub.conf (为了看参数)<br /><br/>grub&gt;root (hd0,6)<br /><br/>grub&gt;kernel (hd0,6)/vmlinuz-2.4.18-14 ro root=LABEL=/<br /><br/>grub&gt;initrd (hd0,6)/initrd-2.4.18-14.img<br /><br/>grub&gt;boot<br /><br/>OK!启动了吧!以上有些数字要根据你的实际情况更改.<br /><br/>以上这个方法也可以用于测试新编译的内核.<br /><br/>2.进入单用户模式.<br /><br/>有时不小心把root用户密码忘了,只能进入单用户模式来重新设置root密码.方法如下:<br /><br/>开机进入grub界面,按C进入命令行模式,然后按照上面的方法进行,只是在第三步要在后面加入single参数<br/>
]]>
</description>
</item><item>
<link>https://atim.cn/post//#blogcomment</link>
<title><![CDATA[[评论] grub安装配置及使用汇总]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://atim.cn/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>