Grub4dos安装和启动

 

Grub4dos安装和启动

 

From Grub4Dos Wiki

 

 

Contents

 

*                               1 MBR中启动

*                               2 从分区启动扇区中启动

*                               3 DOS命令行启动

*                               4 Linux下启动

*                               5 通过Windows NT/2000/XP/2003的启动管理器启动GRUB4DOS

*                               6 通过Windows Vista的启动管理器启动GRUB4DOS

 

GRUB4DOS的启动方式有很多种,介绍如下:

 

MBR中启动

GRUB4DOS启动代码安装到MBR后,开机后便能直接进入GRUB4DOS<br>

安装到MBR需要用到工具bootlacegrubinst, bootlace可运行在DOSWindows 95/98/Me Linux下,而grubinst可运行在 Windows NT/2000/XP/2003/VistaLinux FreeBSD下。<br>

DOS, Windows 95/98/Me下,用bootlace把启动代码安装到第一只硬盘的MBR

<pre>bootlace 0x80</pre>

Linux下,用bootlace把启动代码安装到IDE0上主设备的MBR

<pre>bootlace /dev/hda</pre>

Windows NT/2000/XP/2003/Vista下,用grubinst把启动代码安装到第一只硬盘的MBR

<pre>grubinst (hd0)</pre>

Linux/FreeBSD下,用grubinst把启动代码安装到IDE0上主设备的MBR

<pre>grubinst "(hd0)"</pre>

注意:grubinst有图形界面grubinst_gui,利用它可以更简单地把启动代码安装到MBR/启动扇区里。<br>

安装启动代码到MBR后,还需要把grldrmenu.lst拷贝到硬盘上任意一个FAT16/FAT32/NTFS/EXT2分区的根目录里。

该方案的优点:

*                   不依赖于操作系统

*                   能够自动搜索硬盘上各个分区的grldr文件

 

从分区启动扇区中启动

GRUB4DOS的启动代码也可以安装到某一FAT16/FAT32/NTFS/EXT2分区的启动扇区中。当从该分区启动时,会引导GRUB4DOS

grubinst把启动代码安装到第一只硬盘的第一个主分区里:

<pre>grubinst (hd0,0)</pre>

或者 <pre>grubinst -p=0 (hd0)</pre>

安装启动代码到启动扇区后,还需要把grldrmenu.lst拷贝到该分区的根目录里。<br>

该方案的优点:

*                   不依赖于操作系统

*                   不需要修改MBR,因而可以使GRUB4DOS和其他的启动管理器共存

 

DOS命令行启动

CONFIG.SYS中启动GRUB4DOS: <pre>install=c:/some/where/grub.exe --config-file=FILE</pre>

DOS命令行下启动GRUB4DOS: <pre>grub.exe --config-file=FILE</pre>

如果没有使用--config-file选项,缺省的菜单文件是 (hd0,0)/menu.lst<br>

FILE可以菜单文件的名字,也可以是菜单的内容。例如:

<pre>grub.exe --config-file="root (hd0,0);chainloader +1"</pre>

DOS下启动GRUB4DOS后,可以用quit命令返回到DOS中。

该方案的优点:

*                   不需要修改MBR和启动扇区

*                   可以根据需要在脚本或者其它DOS程序中启动GRUB4DOS

 

Linux下启动

Linux下,可以用以下的命令启动GRUB4DOS:

<pre>kexec -l grub.exe kexec -e</pre>

注意:为了能在Linux下运行grub.exe,你需要使用打了kexec补丁的Linux内核。

该方案的优点:

*                   不需要修改MBR和启动扇区

*                   可以根据需要在脚本或者其它Linux程序中启动GRUB4DOS

 

通过Windows NT/2000/XP/2003的启动管理器启动GRUB4DOS

Windows NT/2000/XP/2003中,可以把grldrmenu.lst拷贝到C:/,然后在boot.ini的最后加上一行:

<pre>c:/grldr="Start GRUB4DOS"</pre>

如果boot.ini中的timeout值为零,把它设置为大于0的数字,例如timeout=30,然后保存boot.ini

注意:boot.ini文件一般是隐藏的,你需要在文件夹选项中设置显示所有文件,或者在cmd中使用以下命令来去掉boot.ini的隐藏属性:

<pre>attrib -s -r -h c:/boot.ini</pre>

下一次启动Windows时,你会发现启动画面中多了Start GRUB4DOS这一选项,使用它便可启动GRUB4DOS

该方案的优点:

*                   不需要修改MBR和启动扇区

 

通过Windows Vista的启动管理器启动GRUB4DOS

首先,把grldr.mbr拷贝到C:/下,然后在cmd中使用以下的命令:

<pre>bcdedit /create /d "Start GRUB4DOS" /application bootsector bcdedit /set {id} device boot bcdedit /set {id} path /grldr.mbr bcdedit /displayorder {id} /addlast</pre>

然后把grldrmenu.lst拷贝到任意一个FAT16/FAT32/NTFS/EXT2分区的根目录。

该方案也可应用于Windows NT/2000/XP/2003,但这些系统中修改启动菜单不是使用bcdedit,而是通过在boot.ini的最后加上这样的一行:

<pre>c:/grldr.mbr="Start GRUB4DOS"</pre>

下一次启动Windows时,你会发现启动画面中多了Start GRUB4DOS这一选项,使用它便可启动GRUB4DOS

该方案的优点:

*                   不需要修改MBR和启动扇区

*                   能够自动搜索硬盘上各个分区的grldr文件

 

 

相信许多liunxer初次听到“GRUB4DOS”这个名字,第一感觉就是:这个对我没用,因为我不用DOS,即使用也不会去通过它启动GRUB。先别急,再问一句:您是否用过grldr呢?是否用过MaxDos、一键 ghost、矮人DOS工具盘?如果答案是肯定的,那您已经在用GRUB4DOS了。 是它的名字给人们造成了误解,这也是历史遗留问题——一开始仅仅是“for dos”,而后来开发越来越深入,“FOR DOS”已远不能涵盖其全部。于是它的名字就成了一个障碍,新接触的人往往望名生意,以为它是专给DOS用的,便不去关注——我本人就是如此,很久之后才重新发现它,所以写下这篇文字,希望更多人能够了解并使用这一优秀作品,享受它带来的可靠与便捷。 首先搞清楚与 GNU GRUB 的关系。 GNU GRUB 分为 GNU GRUB Lagecy 和 GNU GRUB2 两代。GNU GRUB Lagecy 其实就是原来的 GNU GRUB 0.xx ,最新版是 2005 年发布的 GNU GRUB 0.97 。目前已停止开发,并改名为 GNU GRUB Lagecy 。GNU GRUB2 是第二代 GRUB,它将取代原来的 GNU GRUB (例如0.9x版),但目前还处于开发阶段,尚未发布正式版。 而 GRUB4DOS 则是对 GNU GRUB Lagecy 的二次开发。该项目最早由 不点 在2003年发起,目前主要由他、bean 和另外几位中国人维护,很多人贡献了代码,再加上广大网友热心帮助,使得 GRUB4DOS 不断完善。在当前 新的 GRUB2 没有到位、老的 GNU GRUB Lagecy 又有许多不完善 的情况下,GRUB4DOS 受到越来越多人的欢迎。 GRUB4DOS 在保留 GNU GRUB 0.97 原有功能的基础上,做了很多改进,简单归纳如下: 1、A20代码 和 bug修正 对A20的处理历来就是一个棘手问题。当初IBM引入这一设计,本意是为了让以往那些BUGGY软件能够运行,结果造成后世无穷无尽的隐患。当然不能全怪 IBM,真正应当责怪的是那些不遵守IBM标准的硬件厂商,它们生产的系统无法用常规的几种方法来控制A20,使得软件开发者可能在很多意想不到的地方碰上A20这个妖魔,除了造成死机之外,还导致执行效率的极度降低。在微软的XMS规范中就明确写着,A20的控制在有些机器上是非常耗时的一个操作。 GNU GRUB 0.97中的A20代码很明确是有问题的,这在GNU GRUB邮件列表档案中就有提到。很多用户报告在使用gnu grub 0.97时键盘失去响应。grub开发组在grub2中对A20代码打了补丁,以解决这些问题,但是这个补丁并没有打到我们目前广泛使用的0.97版上。为此GRUB4DOS用取自Linux内核的A20代码替换了原代码,并参考其他一些开源代码做了很多改进,基本上解决了这一问题。 A20只是改造的一个方面,在GRUB4DOS的开发过程中修复的GNU GRUB 0.97的bug还有很多,有些在Changelog中并没有提到。到目前为止,已经把那些严重的BUG排解殆尽了,应该可以比较平滑地使用GRUB4DOS了。 2、磁盘仿真(虚拟磁盘) 这是GRUB4DOS的一大特色功能,开发者下了不少功夫。这一功能是将 软盘镜像或硬盘镜像甚至某个硬盘分区 虚拟成 软驱或硬盘,进而运行其中的操作系统(DOS、win98),类似于以前流行的“虚拟软驱”(vfloppy),但功能要强得多。 用SYSLINUX中的memdisk也可实现虚拟磁盘。比较而言,GRUB4DOS功能更强,限制更少,用法更灵活,同时对bios的要求也要高那么一点点,在一些BIOS有缺陷的机子上可能会出问题(不过不用太担心,实践表明这种情况极其罕见)。 3、多种方式进入grub环境 1)通过dosdos下运行grub.exe即可进入纯粹的grub环境,并部分地支持退回到DOS。也可把grub.exe作为 CONFIG.SYS 里的设备驱动文件而运行。 2)通过Windows启动菜单 这是被广泛使用的一种用法。MaxDos、一键ghost硬盘版、矮人DOS工具盘之类的软件就是以这种方式启动grldr,再通过磁盘仿真虚拟出一个软驱,进而启动DOS的。 3)将GRUB4DOS引导代码写入硬盘MBR,开机直接进入grub环境 乍一看这不算什么改进——GNU GRUB本来就可以这样引导,但实际上在这里 GRUB4DOS 有相当大的革新。 GNU GRUB安装方法是: root (xxx,x) setup (xxx) 第一句是指定一个分区,该分区须存放有/boot/stage1和/boot/stage2文件,第二句是将引导代码写入硬盘MBR。这样安装GRUB,其MBR引导代码被设置为从固定的分区加载stage2。假如我们某一天因为某些原因,需要删除或格式化该分区,或者做一些会引起该分区序号变化的操作(比如用 pqmagic 在该分区前添加或删除分区),就需要预先重装一次grub,重新指定存放stage2文件的分区,否则将无法引导。这一点上 GNU GRUB 显得不够灵活。 而 GRUB4DOS 采取了新的策略:其MBR引导代码并非固定地指向某个分区,而是搜索所有分区,查找并加载 grldr,只要某分区上存有一份 grldr,就能启动。而且安装时可以将原微软的MBR备份,启动时如果找不到grldr,便自动加载备份的MBR。显然这种方式更加灵活、稳健,所以 GRUB4DOS 虽然保留了 GNU GRUB 的全部命令和功能(包括 setup 命令),但不推荐使用传统的安装方式。 当然 GRUB4DOS 方式也不是十全十美,因为其引导代码还不能识别所有的文件系统,目前支持仅 NTFS/FAT12/FAT16/FAT32/EXT2/EXT3(也不少了 ,以后将支持更多的格式),所以可能需要专门设一个分区来存放 grldr 。不过在我看来这是值得的,一点小麻烦换来了更多的方便和稳定。 4、图片背景支持 可用 640x480@14位色 的图片做背景。图片制作请参考这里: http://bbs.znpc.net/viewthread.php?tid= ... a=page%3D4 5、中文支持 GRUB4DOS 发布有中文版,大大方便了中文用户。 6、光驱支持 该功能使得用户可以再GRUB环境下访问光驱,并可由光驱启动,很实用。Os:GNU/Debian Linux 5.0 Lenny -AMD Athlon(tm) 64 Processor 3000+ -NVIDIA GeForce 7300 GT -512M*2 DDR Memory -ST SATA 250G
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值