admin管理员组文章数量:1573670
linux发行版本
1.RedHat * 官方主页:http://www.redhat/ * http://www.redhat2.Debain * 官方主页:http://www.debian/ 3.国内的版本
- 官方主页:http://www.linuxfans/
- 官方主页:http://www.linuxforum/
- 官方主页:http://www.linuxeden/forum/
- 官方主页:http://www.newsmth /
GRUB
GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
与GRUB类似的工具
Windows也有类似的工具NTLOADER;比如我们在机器中安装了Windows 98后,我们再安装一个Windows XP ,在机器启动的会有一个菜单让我们选择进入是进入Windows 98 还是进入Windows XP。NTLOADER就是一个多系统启动引导管理器,NTLOADER 同样也能引导Linux,只是极为麻烦罢了;
在Powerpc 架构的机器中,如果安装了Linux的Powerpc 版本,大多是用yaboot 多重引导管理器,比如Apple机目前用的是IBM Powerpc处理器,所以在如果想在Apple机上,安装Macos 和Linux Powerpc 版本,大多是用yaboot来引导多个操作系统
GRUB 的Linux版本目前在各大发行版中都有打包;比如Fedora/Redhat/Centos/Mandrive/Mandriva/SuSE等以RPM包管理机制的系统,可以通过如下的命令来安装;
* [root@localhost ~]# rpm -ivh grub*.rpm
如果是Slackware 您可以用如下的办法来安装;
- [root@localhost ~]# installpkg grub*.tgz
其它的发行版本请用其自己特色的软件包管理工具来安装;
当然您也可以通过源码包,在任何Linux的发行版上安装;至于源码包的安装方法; 请参考:《如何编译安装源码包软件》
- [root@localhost ~]#tar zxvf grub*.tar.gz
- [root@localhost ~]#cd grub-xxx
- [root@localhost ~]#./configure;make;make install
确认您是否成功安装了GRUB,您可以测试是否有如下两个命令;
- [root@localhost ~]# grub
- [root@localhost ~]# grub-install
如果您不能找到这两个命令,可能您的可执行程序的路径没有设置;
请参考:《设置可执行程序路径》,当然您可以用绝对路径;比如下面的; * [root@localhost ~]# /usr/sbin/grub * [root@localhost ~]# /usr/sbin/grub-install
如果您还是找不到GRUB软件包安装在哪了;您可以用下面的命令来解决和查找;
- [root@localhost ~]# updatedb
- 注:这个要花很长时间;是索引slocate 的库,然后再通过locate来查找;
- [root@localhost ~]# locate grub
比如找到的是有类似如下的;
- [root@localhost ~]# locate grub /sbin/grub-md5-crypt /sbin/grub /sbin/grub-install /sbin/grub-terminfo
在一般情况下,在路径中带有bin或sbin中字样的,这些路径下都是可执行程序;sbin 是超级权限用户才能使用的管理命令;要使用这些命令一般的情况下得切换到root用户下才能使用;比如
- [beinan@localhost ~]$ su - 注:切换到root用户,并且切换到其家目录; Password:
- [root@localhost ~]#/sbin/grub 注:用绝对路径来运行grub命令;
grub-install 命令有何用呢?其实就是把我们前面已经安装的软件包中的一些文件复制到 /boot/grub中;对于新安装GRUB软件包后,也是一个必经的过程;我们前面所说的GRUB软件包的安装;而现在我们说的是GRUB配置的过程中的安装;虽然在洋文中都是install ,但表达的意思是不一样的;
我们首先要运行 fdisk -l 来确认到底是硬盘的标识;
这个过程主要是确认硬盘的标识是哪个调备,到底是/dev/hda还是/dev/hdb 还是其它的;
- [root@localhost ~]# fdisk -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 /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字样的,我们就要用下面的命令来安装;
- [root@localhost ~]# grub-install /dev/hda ``` Installation finished. 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呢,那就如下运行;
``` 如果是您fdisk -l 出现的有/dev/hdb呢,那就如下运行;
[root@localhost ~]# grub-install /dev/hdb ```
如果既有/dev/hda和/dev/hdb 就安装到/dev/hda中;
- [root@localhost ~]# grub-install /dev/hda
值得注意的是如果您有一个/boot分区,应该用如下的办法来安装;
-
[root@localhost ~]#grub-install --root-directory=/boot /dev/hda
-
[root@localhost ~]#grub-install --root-directory=/boot /dev/hdb
在Linux中,GRUB软件包的安装,及在配置过程中安装grub到 /boot中还是不够的, 还要把GRUB,写入MBR才行;有时我们重新安装了Windows,Windows会把MBR 重写,这样GRUB就消失了;如果您出现这样的情况,就要进行这个过程;
- [root@localhost ~]# grub
会出现grub>提示符,这是grub命令行模式 ,如果能在开机中出现提示符,没有引导不起来的系统,除非您的系统破坏的极为严重。如果仅仅是GRUB被破坏了,GRUB命令行是能让操作系统引导起来的;
接着看例子,我们要找到 /boot/grub/stage1的,在grub>后面输入;大白菜官网
- grub> find /boot/grub/stage1 (hd0,6) (fd0)
注:这个是软驱;现在很少用软驱了,如果您有这方面的需要,自己看GRUB的DOC吧;
注解:
(hd0,6) 这是/boot所在的分区;不要误解为是Linux 的/所在的分区,这是值得注意的; (fd0) 注:这个是软驱;现在很少用软驱了,如果您有这方面的需要,自己看GRUB的DOC吧;
- grub>root (hd0,6) 注:这是/boot所在的分区;
- grub>setup (hd0) 注:把GRUB写到MBR上;
GRUB的配置文件的menu.lst的写法;
menu.lst 位于/boot/grub目录中,也就是/boot/grub/menu.lst 文件;您可以用vi或您喜欢的编辑器来编辑他;如果您不会用vi,还是去学习一下吧;简单的用法怎么也得会,对不对?毕竟这个文档不是讲vi的用法的
有的弟兄会说,我没有menu.lst怎么办?那就创建一个;用下面的命令;
- [root@localhost ~]# touch /boot/grub/menu.lst
然后我们再做一个/boot/grub/menu.lst 的链接 /boot/grub/grub.conf
- [root@localhost ~]# cd /boot/grub
- [root@localhost ~]# ln -s menu.lst grub.conf ``` 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.1369FC4) root (hd0,6) kernel /boot/vmlinuz-2.6.11-1.1369FC4 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画面出现几秒后开始以默认启动;如果在启动时,移动上下键,则解除这一规则;
splashimage=(hd0,6)/boot/grub/splash.xpm.gz 注:GRUB的背景画面,这个是可选项;我不喜欢GRUB的背景画面,所以加#号注掉,也可以删除;
hiddenmenu
注解:隐藏GRUB的启动菜单,这项也是可选的,也可以用#号注掉; 一般的情况下对Linux操作系统的启动,一般要包括四行;title 行;root行;kernel 行;initrd 行;
1)在menu.lst中 ,通过 root (hd[0-n],y)来指定/boot 所在的分区; title XXXXX 注:title 后面加一个空格,title 是小写的,后面可以自己定义&#
版权声明:本文标题:浅谈系统 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727109147a1098055.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论