关于grub的学习 0605121342.docx

上传人:b****3 文档编号:3886766 上传时间:2022-11-26 格式:DOCX 页数:12 大小:355.37KB
下载 相关 举报
关于grub的学习 0605121342.docx_第1页
第1页 / 共12页
关于grub的学习 0605121342.docx_第2页
第2页 / 共12页
关于grub的学习 0605121342.docx_第3页
第3页 / 共12页
关于grub的学习 0605121342.docx_第4页
第4页 / 共12页
关于grub的学习 0605121342.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

关于grub的学习 0605121342.docx

《关于grub的学习 0605121342.docx》由会员分享,可在线阅读,更多相关《关于grub的学习 0605121342.docx(12页珍藏版)》请在冰豆网上搜索。

关于grub的学习 0605121342.docx

关于grub的学习0605121342

关于grub的学习

Grub,的出现经常在linux启动出现问题时,会有一个界面grub#,后面可以采用一些命令重新引导系统启动。

Grub有三种,其中学习和使用的时frubfordis(grub4dos)是一个以gnugrub为基础的功能强的引导器,可以在dos和linux下运行,也可以通过其他引导器来运行,还可以作为mbr运行,grub4dos内置了功能完善的bios级别磁盘仿真。

下面就是使用grub4dos为基础进行说明,gungrub与grub4dos的不同之处,可以在XX中寻找;

1.如何安装grub4dos?

下载grub4dos后,解压缩后就可以使用了,核心文件有grldr,grldr.mbr,和grub.exe,及menu.lst。

如果需要中文就用chinese子目录中的文件;

安装方法4种:

将grldr文件复制到c:

\,去掉boot.ini的只读属性,然后修改c:

\boot.ini文件,在boot.ini的最后一行加入:

C:

\grldr=“startgrub4dos”

并将boot.ini的timeout值设置为大于0的数字,如:

timeout=5然后保存并改回只读属性。

编辑boot.ini之前,可以在cmd下输入:

Attrib–s–r–hc:

\boot.ini

解除boot.ini的只读属性,编辑完成后输入

Attrib+s+r+hc:

\boot.ini

恢复boot.ini的原有属性

这样,编辑完重启计算机,在nt的启动菜单出现startgrub4dos这一个选项,,然后进入即可;

此方法的优点是,不行也要修改mbr

初学者使用grub一般都需要grub菜单,把贮备好的额menu.lst文件放到c:

\下(也可以放到其他分区根目录货其它目录)。

Menu.lst的编写方法可参考readme.txt或者别人提供的menu.lst。

2.通过dos启动grub

将机器通过如何可能的方式,软盘,光盘,u盘等启动到dos环境,最好是纯dos环境,既不加载任何驱动程序和tsr程序的dos环境,然后在dos下或者atuoexec.bat中运行grub.exe,即可进入grub4dos。

也可在dos/windows98的config.sys中使用下列任一方式启动grub:

DEVICE=GRUB.EXE

INSTALL=GRUB.EXE

SHELL=GRUB.EXE

此方法的有点事,不需要修改MBR,可根据需要在脚本或者其他DOS程序中启动GRUB4DOS.

菜单文件MENU.LST可保存在grub文件所在的目录或其他指定路径;

这里我需要强调一下,我经常把,。

号搞错,因为在打字的时候根本就不看键盘,这样就有个问题如何快速的找到我要的符号,而不产生停顿,不打断思考的序列,这是不道德的,因为从新进入我们的思路可是非常难得,尤其时候打英文混中文,我特意根据以上打字过程中需要调整了,tab键盘,我的左手小指可以轻松的勾到,这样我就可以很方便的打英文,而不必要去看键盘,打断思路了。

学习速度和打字速度也成为进步的先决条件,我以前可能根本没有意识到,每一点的进步都是非常困难,也是提高效率。

错误的减少就是减少时间的浪费,效率更高,更好。

比如,LOVEYOU,TODAY,IFINDTHESTORYGIVEMENEWTHINGS,THANKYOU.

去帮菲菲把文件放进柜子里,完成这些琐碎的事情,安心做一些可以持续性的工作。

3.通过MBR启动grub

通过软件包里的,可以运行在dos和win98中,安装grldr引导记录到硬盘或者硬盘映像文件的主引导记录,或者安装到软盘或者软盘映像的引导扇区,电脑启动时,通过击热键或者默认的空格键,可自定义,来启动grub。

比如

在dos下安装grldr代码到主引导记录

B0x80

在dos下安装grldr代码到软盘:

B--floppy–chs00x0

在dos下安装grldr代码到软盘映像:

B--floppy--chsfloppy.img

我所使用的命令为:

Bootlace--force-backup-mbr--boot-Prevmbr-first--time-out=3--hot-key=0x3920--mbr-disable-floppy0x80

表示安装grldr代码到mbr时,备份原mbr(--force-backu-mbr),默认启动原mbr,即启动原windowsxp系统(--boot-prevmbr-first),等待时间3秒(--time-out=3),热键为空格键(--hot-key=0x3920),不搜索软盘上的grldr(--mbr-disable-floppy)。

也就是说启动时等待3秒,3秒内不击热键的话,启动windowsxp,否则启动grub4

Dos。

Bootlace的其他参数即自定义热键用法可参看readme.TXT

装入mbr后,在将grldr和menu.lst文件复制到某分区的根目录,现在支持文件系统时fat12,fat16,fat32,ntfS,ext2,ext3的分区,对于windows用户,最好的fat分区,menu.lst也可保存到其他指定的位置。

此方法的优点时,不依赖于操作系统,能够自动搜索硬盘上个个分区的grldr文件。

另外,2000、xp、2003、vista环境下可用另一软件grubinst来把grldr引导记录安装到硬盘的mbr。

Grubinst具有图形界面和命令行两种工作模式供选择,并附有比较详细的使用说明,很易于使用。

4.如何安装grub4dos?

用批处理自动把grub4dos装入vista启动项,非mr。

把GRUB4DOS装入VISTA启动项,比装入mbr相对来说要安全。

对于vista系统,不能通过fdisk/MBR来恢复mbr,这样会造成vista无法启动

关于手动把grub4dos装入vista启动项的方法,网上有一些介绍,比起winxp修改boot.ini来,操作要麻烦不少。

主要是操作过程中要产生一个id号,如b88a2da4-0a4e-11dc-813a-00e04c75ef95,需要手动输入3次,实在麻烦。

下面的批处理自动完成整个装入操作。

说明:

1.批处理与grldr.mbr在同一目录时,自动复制grldr.mbr文件到系统根目录,否则需自行复制。

2.启动项目里添加上grub4dos项后,需把准备好的menu.lst和grldr文件复制到c:

\下,也可以放到其他分区的根目录。

3.安装批处理:

@echooff

Rembylianjiang

Cls

Echo.

Echo请以管理员身份运行。

Echo.

Pause

Setgname=grubfordos

Setvid=

Settimeout=5

Bcdedit>bcdtemp.txt

Typebcdtemp.txt|find“/grldr.mbr”>nul&&echo.&&echobcd启动项中已有grub4dos的项目,无需再安装。

&&pause&&gotoexit

Bcdedit/export“bcd_backup”>nul

Bcdedit/create/d“%gname%”/applicationbootsector>vid.ini

For,/f“tokens=2delims={“,%%i,in(vid.ini)do(

Setvida=%%i

For,/f,”tokens=1delims=}”,%%i,in(”vida”)do(setvid={%%i})

Echo%vid%>vid.ini

Bcdedit/set%vid%devicepartition=%systemdrive%>nul

Bcdedit/set%vid%path\grldr.mbr>nul

Bcdedit/displayorder%vid%/addlast>nul

Bcdedit/timeout%timeout%>nul

Ifexistgrldr.mbrcopygrldr.mbr%systemdrive%\/y&&gotoexit

Echo.

Echo稍后请自行吧grldr.mbr拷贝到%systemdrive%\根目录

Echo.

Pause

:

exit

Delbcdtemp.txt>nul

卸载批处理

@echooff

Rembylianjiang

Cls

Echo.

Echo要求存在用安装批处理安装时自动保存的临时文件

Echo.

Echo请以管理员身份运行

Echo.

Pause

Setvid=

Settimeout=5

Ifexistbcd_backupbcdedit/import“bcd_backup”>nul&&goro1

Ifnotexistvid.ini(

Echo.

Echo因相关文件被删,不能自动删除启动项项目,只能手动删除。

Echo.

Pause

Gotoexit

For,/f,“tokens=1”,&&I,in(vid.ini)do(setvid=&&i)

Bcdedit/delete%vid%/cleanup>nul

Bcdedit/timeout%timeout%>nul

:

1

Delvid.ini>nul

Ifexist%systemdrive%\grldr.mbr(

Attrib–h–s–r%systemdrive%\grldr.mbr>nul

Del%systemdrive%\grldr.mbr>nul

:

exit

此法的优点是:

不需要修改mbr

4.如何使用grub4dos

对于多数没有或很少接触过linux的windows用户来说,刚开始使用grub时离不开菜单。

也就是说,使用grub前,我们要准备menu.lst文件。

下面时一个menu.lst的例子,以#开头行,表示注释,不执行

#默认延迟时间

Timeout=3

#第一项为默认值

Default0

#设置图形背景文件

Splashimag(hd0,0)/boot/grub/xp2008.gz

#设置中文支持的字体文件

fontfile(hd0,0)/boot/grub/fonts

title使用map启动本地硬盘上的瑞星杀毒软盘镜像文件

map(hd0,0)/boot/grub/rav.img(fd0)

map--hook

chainloader(fd0)+1

rootnoverify(fd0)

title使用memdisk启动本地win98软盘镜像文件

kernel(hd0,0)/boot/grub/memdisk.gz

initrd(hd0,0)/boot/grub/win98.img

title使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件

root(hd0,0)

kernel/boot/grub/memdisk.gzc=80h=12s=36floppy

initrd/boot/rav.zip

title启动第一主分区(hd0,0)上的操作系统

rootnoverify(hd0,0)

makeactive

chainloader+1

title启动第二分区(hd0,1)

rootnoverify(hd0,1)

makeactive

chainloader+1

title重启

reboot

title关机

halt

此菜单文件的运行效果

参考这个例子,我们就可以根据自己需要对菜单进行修改

比如从网上下载了效率源的镜像文件,文件名为xly.img。

我们只需要把

Title使用mendisk启动本地win98软盘镜像文件

Kernel(hd0,0)/boot/grub/memdisk.gz

Initrd(hd0,0)/boot/grub/win98.img

改成

Title硬盘检测修复工具效率源(memdisk)

Kernel(hd0,0)/boot/grub/memdisk.gz

Initrd(hd0,0)/boot/grub/xly.img

或者改成

Title硬盘检测修复工具效率源(map)

Map(hd0,0)/boot/grub/xly.img(fd0)

Map–hook

Chainloader(fd0)+1

Rootnoverify(fd0)

同时把xly.img文件保存到第一主分区,一般时c的boot\grub目录下。

当然也可以保存到其他路径。

比如xly.img文件保存到c:

\boot下,则menu.lst文件相应改为:

Map(hd0,0)/boot/xly.img(fd0)

又如xly.img文件保存到d:

\test下,则menu.lst文件相应改为:

Map(hd0,0)/test/xly.img(fd0)

从上面的例子可以看出,启动软盘镜像,有两种方法,即用memdisk和map

用memdisk时,img文件可以压缩;在img文件大小为非1.44mb或者2.88mb标准镜像时,需要指定chs参数。

Img文件的chs参数可用winimage获得

提示,参数h,s时关键参数,必须准确无误,参数此设定错了,也不影响引导

即例子中的:

Title使用mendisk启动本地硬盘山的瑞星杀毒软盘压缩镜像文件

Root(hd0,0)

Kernel/boot/grub/memdisk.gzc=80h=12s=36floppy

Initrd/boot/rav.zip

另外,菜单文件中的文件路径可用相对路径(如:

/boot/rav.zip)或绝对路径(如:

(hd0,0)/boot/grub/xly.zip)表示。

Map方式对软盘映像大小没有限制,但要求必须连续存放。

Map--mem则无此限制,但要求有足够的内存(使用超大映像文件时要注意这点)。

此映像将被拷贝到一个内存区域,映像本身可以时非连续的,甚至可以是被压缩的。

比如:

map--mem/boot/xxx.ima(fd0)

map--hook

Chainloader(fd0)+1

Rootnoverify(fd0)

官方文档“grub4dos高级功能”中对map和mendisk的去呗进行了说明;

1.map是grub4dos内置的功能,而memdisk是一个外部的程序

2.Map可以直接映射磁盘上的文件,而memdisk必须要把文件装载到内存内。

3.Map可以把映像文件映射为第二只硬盘,而memdisk只能映射为第一只硬盘。

4.Map有自动生成mbr的功能,而memdisk没有。

因此memdisk只能使用磁盘影像,不能使用文件系统影像。

几点提示:

A.菜单文件中所使用的memdisk.gz文件,不包括在grub4dos的发行包里,需自行准备。

可从syslinux软件包或从其它基于grub的工具(如gghost一键恢复)中获取。

B.菜单中所使用的其它文件如xp2008.gz(背景文件)、fonts(中文字体文件)及各种镜像文件等,均需拷贝到文件中指定路径。

Fontfile命令不可单独使用,需与splashimage一起使用。

C.菜单文件中的命令全部使用小写。

D.初学者使用绝对路径时要注意grub对设备的命名方法。

系统的第一各硬盘驱动器表示成hd0,其上的第一个分区表示为(hd0,0),也就是说对于硬盘,采用(hdx,y)的形成来表示,x、y都是从0开始计数的,x表示硬盘号,也表示分区号。

E.由于主分区只能有四个,所以第一硬盘的四个主分区分别用(hd0,0)--(hd0,3)来表示;逻辑分区则从(hd0,4)开始算,即第一逻辑分区用(hd0,4),第二逻辑分区用(hd0,5)来表示,以此类推。

F.一般机子的硬盘是一个主分区,其余是逻辑分区。

因此c盘用(hd0,0),d盘用(hd0,4)来表示。

光盘用(cd)表示,第一软驱用(fd0)表示。

G.如我的硬盘有两个主分区,其余为逻辑分区。

用(hdx,y)的方法表示如下图:

下面是我的gghost一键恢复中使用的菜单效果图及menu.lst文件:

Colorwhite/greenyellow/green

timeout3

find--set-root/ggho/grub/gghost.img

Password--md5$1$5$jsGtVo0c88ndMdo6JZfrJ0

Default/ggho/grub/default

Title0.GGhost2008[Ghostv11](map-mem)

Find--set-root/ggho/grub/gghost.img

Map--mem/ggho/grub/gghost.img(fd0)

Map--hook

Chainloader(fd0)+1

Rootnoverify(fd0)

Savedefault

Title1.Gghost2008[ghostv11](memdisk)

Find--set-root/ggho/grub/gghost.img

Kernel/ggho/grub/memdisk.gzc=280h=2s=36floppy

Initrd/ggho/grub/gghost.imgc=280h=2s=36floppy

Savedefault

Title2.Boot/ggho/grub/mytools.img

Find--set-root/ggho/grub/mytools.img

Map--mem/ggho/grub/mytools.img(fd0)

Map--hook

Chainloader(fd0)+1

Rootnoverify(fd0)

Title3.Boot/ggho/grub/myiso.iso

Find--set-root/ggho/grub/myiso.iso

Map--mem/ggho/grub/myiso.iso(0xff)

Map--hook

Chainloader(0xff)

Title4.Microwindowsxpe

Find--set-root--ignore-floppies/setupldr.bin

Map--in-situ+1(hd0)

Chainloader/setupldr.bin

title5.BootNT/2000/XP/2003

find--set-root/ntldr

chainloader/ntldr

title6.BootVista

find--set-root/bootmgr

chainloader/bootmgr

title7.BootfromHardDrive(hd0,0)

root(hd0,0)

chainloader+1

title8.BootfromFirstCDROM

cdrom--init

map--hook

chainloader(cd0)

boot

title9.Reboot

reboot

title10.Shutdown

halt

结束语:

Grub4dos的功能非常强大,上面介绍的只是grub4dos的一些最基本的用法,更多的用法可在掌握基本用法基础上,自己查阅资料了解。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

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

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