ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:27.10KB ,
资源ID:11646227      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11646227.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(系统引导管理器GRUB为初学者指南.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

系统引导管理器GRUB为初学者指南.docx

1、系统引导管理器GRUB为初学者指南二、GRUB软件包版本选择和安装; 1、GRUB的版本选择,Linux版本的GRUB及Windows版本的GRUB的说明; GRUB不但有Linux版本,也有Windows版本;现我们一一介绍; 如前面所说,目前在在Unix类的操作系统中,大多是都有GRUB;GRUB几乎能引导所有X86架构的操作系统;功能之强,使用简单是GRUB最大的卖点;由于Windows 操作系统的先入为主的优势,使得大家对Windows的NTLOADER了解的比较多,而对开源社区的GRUB显得有点寞生,由此而带来使用上的“心理恐惧”;究其初学者对GRUB“恐惧”的主要原因还是对GRUB

2、没有太多的了解和深入;无论是WINGRUB还是Linux版本的GRUB,最方便的还是对GRUB命令行的操作;一谈到命令行(Command)的操作,可能初学者对此恐惧;其实没有什么难的,象北南这样低级的写手,还能操作得起来,您也应该能行; 2、GRUB的Windows版本WINGRUB; 请参考:以WINGRUB 引导安装Fedora 4.0 为例,详述用WINGRUB来引导Linux的安装 3、GRUB的Linux版本软件包的安装; 其实对于Linux的GRUB,几乎所有的Linux主流发行版都有打包,如果您安装了Linux,并且在开机后出现GRUB字样的,证明您已经安装了GRUB;而无需再次

3、安装;Linux的GRUB软件包安装部份并不是本文的重点; 如果您的Linux系统没有安装GRUB,或者采用的是LILO,而您想用GRUB,可以用系统安装盘自带GRUB软件包来安装,或者到相关发行版本的软件仓库下载后安装; GRUB 的Linux版本目前在各大发行版中都有打包;比如Fedora/Redhat/Centos/Mandrive/Mandriva/SuSE等以RPM包管理机制的系统,可以通过如下的命令来安装; 请参考Fedora / Redhat 软件包管理指南 rootlocalhost # rpm -ivh grub*.rpm 如果是Slackware 您可以用如下的办法来安装;

4、 rootlocalhost # installpkg grub*.tgz 其它的发行版本请用其自己特色的软件包管理工具来安装; 当然您也可以通过源码包,在任何Linux的发行版上安装;至于源码包的安装方法; 请参考:如何编译安装源码包软件 rootlocalhost #tar zxvf grub*.tar.gz rootlocalhost #cd grub-xxx rootlocalhost #./configure;make;make install 确认您是否成功安装了GRUB,您可以测试是否有如下两个命令; rootlocalhost # grub rootlocalhost # gr

5、ub-install 如果您不能找到这两个命令,可能您的可执行程序的路径没有设置; 请参考:设置可执行程序路径,当然您可以用绝对路径;比如下面的; rootlocalhost # /usr/sbin/grub rootlocalhost # /usr/sbin/grub-install 如果您还是找不到GRUB软件包安装在哪了;您可以用下面的命令来解决和查找; rootlocalhost # updatedb 注:这个要花很长时间;是索引slocate 的库,然后再通过locate来查找; rootlocalhost # locate grub 比如找到的是有类似如下的; rootlocalh

6、ost # locate grub /sbin/grub-md5-crypt /sbin/grub /sbin/grub-install /sbin/grub-terminfo 在一般情况下,在路径中带有bin或sbin中字样的,这些路径下都是可执行程序;sbin 是超级权限用户才能使用的管理命令;要使用这些命令一般的情况下得切换到root用户下才能使用;比如 beinanlocalhost $ su - 注:切换到root用户,并且切换到其家目录; Password: rootlocalhost #/sbin/grub 注:用绝对路径来运行grub命令; 三、在Linux中,GRUB的配置中

7、的安装和写入硬盘的MBR; 1、在Linux中,GRUB配置过程中的安装grub-install; grub-install 命令有何用呢?其实就是把我们前面已经安装的软件包中的一些文件复制到 /boot/grub中;对于新安装GRUB软件包后,也是一个必经的过程;我们前面所说的GRUB软件包的安装;而现在我们说的是GRUB配置的过程中的安装;虽然在洋文中都是install ,但表达的意思是不一样的; 我们首先要运行 fdisk -l 来确认到底是硬盘的标识; 这个过程主要是确认硬盘的标识是哪个调备,到底是/dev/hda还是/dev/hdb 还是其它的; rootlocalhost # fd

8、isk -l Disk /dev/hda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 970 7791493+ 7 HPFS/NTFS /dev/hda2 971 9729 70356667+ 5 Extended /dev/hda5 971 2915 15623181 b W95 FAT32

9、/dev/hda6 2916 4131 9767488+ 83 Linux /dev/hda7 4132 5590 11719386 83 Linux /dev/hda8 5591 6806 9767488+ 83 Linux /dev/hda9 6807 9657 22900626 83 Linux /dev/hda10 9658 9729 578308+ 82 Linux swap / Solaris 如果通过fdisk -l 出现有/dev/hda字样的,我们就要用下面的命令来安装; rootlocalhost # grub-install /dev/hda Installation f

10、inished. No error reported. This is the contents of the device map /boot/grub/device.map. Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script grub-install. (fd0) /dev/fd0 (hd0) /dev/hda 如果是您fdisk -l 出现的有/dev/hdb呢,那就如下运行; rootlocalhost # grub-install /dev/h

11、db 如果既有/dev/hda和/dev/hdb 就安装到/dev/hda中; rootlocalhost # grub-install /dev/hda 值得注意的是如果您有一个/boot分区,应该用如下的办法来安装; rootlocalhost #grub-install -root-directory=/boot /dev/hda rootlocalhost #grub-install -root-directory=/boot /dev/hdb 注解:具体是/dev/hda还是/dev/hdb,请以fdisk -l 为准;如果两个都有,就看您把/boot分区是放在第一块硬盘还是第二块硬

12、盘上了,以实际情况为准; 2、设定GRUB的/boot分区并写入MBR; 在Linux中,GRUB软件包的安装,及在配置过程中安装grub到 /boot中还是不够的, 还要把GRUB,写入MBR才行;有时我们重新安装了Windows,Windows会把MBR 重写,这样GRUB就消失了;如果您出现这样的情况,就要进行这个过程; rootlocalhost # grub 会出现grub提示符,这是grub命令行模式 ,如果能在开机中出现提示符,没有引导不起来的系统,除非您的系统破坏的极为严重。如果仅仅是GRUB被破坏了,GRUB命令行是能让操作系统引导起来的; 接着看例子,我们要找到 /boot

13、/grub/stage1的,在grub后面输入; grub find /boot/grub/stage1 (hd0,6) (fd0) 注:这个是软驱;现在很少用软驱了,如果您有这方面的需要,自己看GRUB的DOC吧; 注解: (hd0,6) 这是/boot所在的分区;不要误解为是Linux 的/所在的分区,这是值得注意的; (fd0) 注:这个是软驱;现在很少用软驱了,如果您有这方面的需要,自己看GRUB的DOC吧; grubroot (hd0,6) 注:这是/boot所在的分区; grubsetup (hd0) 注:把GRUB写到MBR上; 注解: 上面这步骤是根据 find /boot/s

14、tage1而来的,仔细看一下就明白了;现在我们一般安装很少会把/boot分区列为一个单独的分区;不过有的弟兄可能也喜欢这么做;所以还是有必要说一下为好; 四、GRUB的配置文件的menu.lst的写法; 对于GRUB来说,如果没有配置menu.lst,无论是Linux版本的GRUB,还是WINGRUB,都会有命令行可用,通过命令行是一样能把操作系统引导起来的;有些弟兄总以为menu.lst 配置错了, 或者在机器启动后出现grub命令行模式就要重新安装系统,其实根本没有这个必要;只要学会GRUB的命令行的用法,根本没有必要重装系统; menu.lst 位于/boot/grub目录中,也就是/b

15、oot/grub/menu.lst 文件;您可以用vi或您喜欢的编辑器来编辑他;如果您不会用vi,还是去学习一下吧;简单的用法怎么也得会,对不对?毕竟这个文档不是讲vi的用法的; 有的弟兄会说,我没有menu.lst怎么办?那就创建一个;用下面的命令; rootlocalhost # touch /boot/grub/menu.lst 然后我们再做一个/boot/grub/menu.lst 的链接 /boot/grub/grub.conf rootlocalhost # cd /boot/grub rootlocalhost # ln -s menu.lst grub.conf 现在我们来写G

16、RUB的menu.lst了,因为/boot/grub/grub.conf是 /boot/grub/menu.lst的链接文件,改哪个都行。链接文件相当于Windows的快捷方式,这样可能能更好的理解; 1、menu.lst的写法之一; 首先我们看一下我的Fedora 4.0 中的/boot/grub/menu.lst 的内容; default=0 timeout=5 #splashimage=(hd0,6)/boot/grub/splash.xpm.gz hiddenmenu title Fedora Core (2.6.11-1.1369_FC4) root (hd0,6) kernel /

17、boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ initrd /boot/initrd-2.6.11-1.1369_FC4.img title WinXp rootnoverify (hd0,0) chainloader +1 注解: default=0 default=0 是默认启动哪个系统,从0开始;每个操作系统的启动的定义都从title开始的,第一个title 在GRUB的启动菜单上显示为0,第二个启动为1,以此类推; timeout=5 注:表示在开机后,GRUB画面出现几秒后开始以默认启动;如果在启动时,移动上下键,则解除这一规则; #s

18、plashimage=(hd0,6)/boot/grub/splash.xpm.gz 注:GRUB的背景画面,这个是可选项;我不喜欢GRUB的背景画面,所以加#号注掉,也可以删除; hiddenmenu 注解:隐藏GRUB的启动菜单,这项也是可选的,也可以用#号注掉; 一般的情况下对Linux操作系统的启动,一般要包括四行;title 行;root行;kernel 行;initrd 行; 1)在menu.lst中 ,通过 root (hd0-n,y)来指定/boot 所在的分区; title XXXXX 注:title 后面加一个空格,title 是小写的,后面可以自己定义;比如FC4,自己定

19、义一个名字就行; root (hd0-n,y) ,在本例中,我们看到的是root (hd0,6) ,root (hd0-n,y)表示的是/boot所在的分区;有时我们安装Linux的时候,大多是不设置/boot的,这时/boot和/所在的同一个分区; 这个root (hd0-n,y)很重要,因为/boot目录中虽然有grub目录,最为重要的是还有kernel 和initrd文件,这是Linux能启动起来最为重要东西; 有的弟兄会问,root (hd0-n,y)是怎么来的? 请参考:在Linux系统中存储设备的两种表示方法 2)在menu.lst中,kernel 命令行的写法; kernel 一

20、行,是通指定内核及Linux的/分区所在位置; 比如例子中是; kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ 在这里以kernel 起始,指定Linux的内核的文件所处的绝对路径;因为内核是处在/boot目录中的, 如果/boot是独立的一个分区,则需要把boot省略;如果/boot是独立的分区,这行要写成: kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ 因为/boot所处的分区已经在title 下一行root (hd0-n,y)中指定了,所以就无需要再指明内核处在哪个分区了;

21、另外Linux系统的硬盘分区的挂载配置文件在/etc/fstab ,原理是通过 mount /dev/hda-zX /boot 来进行的;您可以对照着来理解; ro 表示只读; root=LABEL=/ 来表示Linux的根所处的分区。LABEL=/ 这是硬盘分区格式化为相应文件系统后所加的标签;如果您不了解什么是标签,也可以直接以/dev/hda-zX 或者/dev/sda-zX来表示;就看您的Linux是根分区是在哪个分区了。比如我的是在/dev/hda7 , 那这里就可以写成root=/dev/hda7; 如果查看系统运行所挂载的分区,请用 df -lh 来查看,就能明白是不是/boot

22、是独立的分区,或者查看/etc/fstab也能知道; rootlocalhost # df -lh 容量 已用 可用 已用% 挂载点 /dev/hda7 11G 9.2G 1.2G 90% / /dev/shm 236M 0 236M 0% /dev/shm 在这个例子中,我们可以发现 /boot并没有出现只有/dev/hda7,这表示/boot并不是独立的一个分区;所有的东西都包含在/中;于是我们在/boot中查看内核版本; rootlocalhost # ls /boot/vmlinuz* /boot/vmlinuz-2.6.11-1.1369_FC4 注:看到内核vmlinuz所处的目录

23、; 于是我们就可以这样kernel 这行了; kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7 3)initrd 命令行的写法; 如果是/boot独立一个分区,initrd 一行要把/boot中省略;如果/boot不是处于一个分区,而是和Linux的/分区处于同一分区,不应该省略; 比如我们在2)中用的例子;现在拿到这里,我们应该首先查看 /boot中的initrd的文件名到底是什么; rootlocalhost # ls /boot/initrd* /boot/initrd-2.6.11-1.1369_FC4.img 如果是通过

24、df -lh 得知或查看/etc/fstab 也行, 得知/boot是独立的分区;这时initrd 应该写成; initrd /initrd-2.6.11-1.1369_FC4.img 如果是 /boot不是独处一个分区,而是在/同一处一个分区, 则要写成; initrd /boot/initrd-2.6.11-1.1369_FC4.img 4)menu.lst第一种写法的总结和实践; 在这里,我们只说重要的,不重要的就一带而过了; 1用fdisk -l ;df -lh ;more /etc/fstab来确认分区情况; 我们过fdisk -l ;df -lh ; more /etc/fstab

25、 来确认/boot所在的分区,及Linux的根分区所在位置; 比如我们确认/boot和Linux的/分区同处一个分区; rootlocalhost # df -lh 容量 已用 可用 已用% 挂载点 /dev/hda7 11G 9.2G 1.2G 90% / /dev/shm 236M 0 236M 0% /dev/shm 然后我们/etc/fstab 中,查看/分所在的分区或分区标签是什么; rootlocalhost # more /etc/fstab # This edited by fstab-sync - see man fstab-sync for details LABEL=/

26、/ ext3 defaults 1 1 /dev/devpts /dev/pts devpts gid=5,mode=620 0 0 /dev/shm /dev/shm tmpfs defaults 0 0 /dev/proc /proc proc defaults 0 0 /dev/sys /sys sysfs defaults 0 0 LABEL=S s defaults 0 0 /dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0 经过上面的df -lh 和more /etc/fstab 的对照中得知,/bo

27、ot并是独处一个分区,而是和/在同一个分区;这个Linux系统安装在/dev/hda7上,文件系统(此分区)的标签为LABEL=/ ,/boot也是处于/dev/hda7 ,/dev/hda7也可以说是 root (hd0,6); 2查看内核vmlinuz的和initrd文件名的全称; rootlocalhost # ls -lh /boot/vmlinuz* -rw-r-r- 1 root root 1.6M 2005-06-03 /boot/vmlinuz-2.6.11-1.1369_FC4 rootlocalhost # ls -lh /boot/initrd* -rw-r-r- 1 r

28、oot root 1.1M 11月 26 22:30 /boot/initrd-2.6.11-1.1369_FC4.img 3开始写menu.lst ; 我们根据上面所提到的,可以写成如下的样子; default=0 timeout=5 title FC4 root (hd0,6) kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ initrd /boot/initrd-2.6.11-1.1369_FC4.img 也可以写成; default=0 timeout=5 title FC4 root (hd0,6) kernel /boo

29、t/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7 initrd /boot/initrd-2.6.11-1.1369_FC4.img 注解:上面两个不同之处在于一指定Linux的根/所在的分区时,一个是用了文件系统的标签,另一个没有用标签; 2、menu.lst的写法之二,精简型; 本写法主要是把指定/boot所位于的所分区直接写入kernel 指令行;这样就省略了通过root (hd0-n,y)来指定/boot所位于的分区; 1)第一种情况:/boot和Linux的/根分区在同一个分区; 有前面的那么多的讲解,menu.lst写法之二就好理解多了;也

30、得分两种情况,咱们先把/boot并不是独处一个分区,而是和Linux的根分区处于同一个分区;我们以 4)menu.lst第一种方法的写法总结 的实例为例子; default=0 timeout=5 title FC4x kernel (hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7 initrd (hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img 注解: title FC4x 注:自己为这个Linux 起个简单的名,以title开头,然后一个空格,后面就自己发挥吧,FC4或FC4x都行; kerne

31、l 空格 (hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4 空格 ro 空格 root=/dev/hda7 kernel 这行这样理解 kernel (boot所在的分区)/boot/内核文件件全称 ro root=Linux根所位于的分区或标签 initrd 空格 (hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img initrd 这行可以这样理解 initrd (/boot所在的分区)/boot/内核文件名全称 2)第二种情况:/boot独立一个分区,和Linux的根分区不是同一个分区; 比如我们查看到df -lh 得到的是 rootlocalhost # df -lh 容量 已用 可用 已用% 挂载点 /dev/hda6 200M 120M 80M 60% /boot /dev/hda7 11G 9.2G 1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1