Grub4dos安装和启动

本文介绍了多种Grub4dos的安装与启动方法,包括从MBR启动、从分区启动扇区启动、在DOS命令行启动等,并详细解释了每种方法的操作步骤及优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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、付费专栏及课程。

余额充值