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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

Grub加载iso文件.docx

1、Grub加载iso文件Grub加载iso文件 如果你不曾知道的话,这或许是一个极其隐蔽的技巧了。而事实上,所有的技术都是现成的,一点也不 神秘。(这篇文章也早就想写,只是没有时间写。) 用一个通常的例子来说明吧。假定你有一张光盘的映象,它是由一个可引导的软盘映象制作出来的可引 导光盘的映象,或者像 Mandriva 那样,是用 no-emulation 模式制作出来的可引导光盘映象。大家知道,要通过仿真来直接引导这样的光盘映象,实属困难,没有一个成熟的技术。但是,我们退一步,不求引 导它,但求读取其中的文件,这一点是完全可以做到的。 通常我们在得到一个LINUX 发行版的光盘ISO 映象之后(

2、假定我们不用它刻录一张真实的光盘的话),需要用操作系统的工具,如 Windows 的 WinImage,以及 Linux 的 mount 命令等,来抽取光盘里面我 们所需要的某些个引导文件,如 floppy.img, vmlinuzz, all.rdz 等。需要把它们拷贝出来,放到硬盘,然 后才可以引导 Linux 的安装过程。 我们这里介绍的技术,可以略过所有这些复杂的步骤,而是很简单地,达到我们启动安装程序的目的。 我们不需要在操作系统之下抽取文件了,因为我们的 GRUB for DOS 本身就可以读取光盘映像中的全 部文件!酷酷! 我们这里做出一个假定,那就是,硬盘上的光盘映像在物理上是

3、连续存放的。这是因为,我们要用到GRUB for DOS 的磁盘仿真能力,而 GRUB for DOS 的磁盘仿真,在没有 -mem 参数的情况下,要求 被仿真的文件(也就是我们的 ISO),必须在物理扇区上是连续存放的。如果你的内存足够大,比如有 1G 那么大,你就可以使用带有-mem 参数的磁盘仿真命令,在这种情况下,整个650M 的ISO 文件,都放到了内存中,因此,不再要求 ISO 文件的连续性了。考虑到目前绝大多数人没有 1G 内存,所以, 我们只好要求 ISO 文件的连续性了。 好了,关子卖完了,该说点实质的了: map (hdX,Y)/your_distro.iso (hdZ)

4、map -hook 别骂我哟!其实只要有这两条命令就够了,我刚才叙述得是否太过神秘?然而如果我不吹一吹,你很可 能懒得看下去,也就看不到这里了(你甚至得感谢我吹牛,呵呵)。 对于上述命令,也许那些不熟悉 GRUB 的人会感到某些疑惑,所以,我在这里简单解释一下。 第一条 map 命令,是将你硬盘上的 ISO 文件,仿真为一个原来不存在的硬盘 (hdZ)。比如,假定你的 机器原来只有4个硬盘(hd0),(hd1),(hd2),(hd3),现在这个 Z 就可以是 4 了,(hd4) 就是第五个硬盘。map -hook 的意思是,让这个仿真在 GRUB 环境下立即发生作用,而不是等到敲入 boot

5、命令之后才起作用。 现在你在 GRUB 下检验一下,是不是可以访问 (hdZ) 中的文件了呢?如果不行,你尽管把吐沫星子喷 过来,我认了。 由于 (hdZ) 是 ISO9660 格式的文件系统,而我们的 GRUB 正好可以识别 ISO9660 格式的文件系统, 也正是因为这个,所以,我们可以顺利读出 ISO 里面的文件。原理上就是如此简单啊,没有什么需要进一步解释的。 接下来就看你的了!既然 (hdZ) 中有你光盘中的全部内容,你也就不需要拷到硬盘上了,你直接用 kernel 和 initrd 等命令来启动安装,这就完了。如果里面有个软盘映象,需要你再次启动仿真,那对你 来说,应当是轻车熟路了

6、,这回用 map -mem (hdZ)/./floppy.img (fd0) map -rehook chainloader (fd0)+1 rootnoverify (fd0) boot 就可以了,因为软盘不会太大,你的内存应当足够容纳下它了。 需要说明的是,如果你前面的 ISO 是用 -mem 来仿真的,那么这次的软盘也必须用 -mem 来仿真。这 是因为,把一个不带 -mem 的磁盘仿真的 BIOS 磁盘号码,定向到真实的内存(而非磁盘介质)中, 这是要失败的。 关于如何让一个文件在磁盘上按照物理扇区*连续*存放,本文不再赘述,请参阅其他的文章。不 过简单来说,方法有两个,一个是在空的

7、FAT12/16/32/NTFS 分区中建立的文件,一般就已经是连续的了?多个碎块的文件,变成连续的文件。在 ext2 分区不可能建立超过 1M 大小的连续文件。所以,要 建立连续文件,最好是在微软的分区格式中才有保障。 另外,由于 GRUB for DOS 的 NTFS 模块是含有 BUG 的,因此,你的 map (hdX,Y)/your_distro.iso (hdZ) 命令虽然会成功,但在随后的读取时却很有可能碰到失败,并且文件越大,失败率越高(对于 ISO 这样几百兆大小的文件,几乎肯定会失败的)。因此建议,为了确实保证最大限度的安全、最高的 成功率,请尽量避免使用 NTFS 文件系统

8、,而应当把 ISO 文件放在 FAT12/FAT16/FAT32格式的分 区里面。(转载时请注明作者:不点,写作时间:2005年8月14日) 附: Grub命令详解 blocklist 用法: blocklist FILE 描述: 输出文件的块清单标记。 boot 用法: boot 描述: 引导已加载的操作系统或扇区链式加载器。 bootp 用法: bootp -with-configfile 描述: 通过BOOTP初试化网络设备。如果使用了-with-configfile参数,此命令将会试图去加载一个特定的配置文件。 cat 用法: cat FILE 描述: 显示指定文件的内容。 chain

9、loader 用法: chainloader -force FILE 描述: 加载扇区链式加载器。若使用了-force参数, 则忽略该扇区的启动标识的有效性。 cmp 用法: cmp FILE1 FILE2 描述: 比较两个文件, 并且报告两者之间的不同的信息。 color 用法: color NORMAL HIGHLIGHT 描述: 改变菜单的颜色。Normal 用于指定菜单项的未选中时的颜色,HIGHLIGHT 则用于指定菜单项的被选中时的颜色。如果你未指定 HIGHLIGHT 色,那么我们将使用 NORMAL 的反色值。颜色值的格式是 FG/BG。FG 和 BG 是颜色的名称,如下:bl

10、ack(黑), blue(蓝), green(绿), cyan(青), red(红), magenta(粉红), brown(棕), light-gray(亮灰),dark-gray(暗灰), light-blue(浅蓝), light-green(淡绿), light-cyan(淡青), light-red(明红), light-magenta(浅红), yellow(黄) 和 white(白)。注意,BG 的值只能是前八个。另外,若想使用闪烁的前景色,你在 FG 前使用前缀 blink- 即可。 configfile 用法: configfile FILE 描述: 将指定文件作为配置文件予

11、以加载。 debug 用法: debug 描述: 打开/关闭除错模式。 default 用法: default NUM | saved 描述: 把 NUM 项菜单设为缺省值。 device 用法: device DRIVE DEVICE 描述: 声明BIOS驱动器对应的实际物理设备。这条命令只用于grub命令行。 portmap 用法: portmap prog_number vers_number 描述: 进行端口映射。 dhcp 用法: dhcp 描述: 通过DHCP初试化网络设备。 splashimage 用法: splashimage FILE 描述: 图形模式下载入背景图片文件。 f

12、oreground 用法: foreground RRGGBB 描述: 设置图形模式下的前景色。RR 代表红色, GG 代表绿色, BB 代表蓝色。注意他们都使用十六进制的值。 background 用法: background RRGGBB 描述: 设置图形模式下的背景色。RR 代表红色, GG 代表绿色, BB 代表蓝色。注意他们都使用十六进制的值。 clear 用法: clear 描述: 清屏幕。 displayapm 用法: displayapm 描述: 显示 APM BIOS 的相关信息。 displaymem 用法: displaymem 描述: 显示 GRUB 所判断到的当前系统

13、的内存分布,包括所有物理内存区域。 dump 用法: dump FROM TO 描述: 显示诸多文件的内容。注意,FROM 所指定的必须是一个 GRUB 文件,TO 所指定的必须是一个 OS 文件。 embed 用法: embed STAGE1_5 DEVICE 描述: 如果设备是个驱动器, 则将Stage 1.5嵌入到主引导扇区之后。如果是个FFS分区, 则可嵌入到该设备饿引导代码区中。并输出 Stage 1.5所占的扇区数。 fallback 用法: fallback NUM 描述: 如果调用当前的菜单项时出现错误,则转移到 NUM 项后重试 find 用法: find -set-root

14、 FILENAME 描述: 在所有分区上查找文件名, 并显示包含该文件的设备。如果设置了参数 -set-root,则在找到第一个匹配后马上停止,并且把该设备设为根。 fstest 用法: fstest 描述: 切换文件系统的试验模式。 gfxmenu 用法: gfxmenu FILE 描述: 使用 FILE 中的图形菜单。 geometry 用法: geometry DRIVE CYLINDER HEAD SECTOR TOTAL_SECTOR 描述: 输出驱动器的相关信息。在grub壳程序中, 你可以用这条命令设置驱动器参数为任意值。如果你省略了总扇区数, 则该值缺省有其它参数决定。 hal

15、t 用法: halt -no-apm 描述: 关闭系统。如果APM(高级电源管理)功能存在,将使用 APM BIOS 关闭系统,除非指定了 -no-apm 选项。 help 用法: help -all PATTERN . 描述: 显示内部命令的帮助信息。要查看所有命令的帮助,请使用 -all 参数。 hiddenmenu 用法: hiddenmenu 描述: 隐藏菜单。 hide 用法: hide PARTITION 描述: 通过在分区类型上置隐藏标志,隐藏指定分区。 ifconfig 用法: ifconfig -address=IP -gateway=IP -mask=MASK -serve

16、r=IP 描述: 指定 IP 地址, 子网掩码, 网关和服务器地址。不带参数时,将显示当前的网络配置。 impsprobe 用法: impsprobe 描述: 通过一些循环操作,侦测出符合 Intel 多处理器规范 1.1/1.4 的 CPUs,以便于发挥其更好的效能。 initrd 用法: initrd FILE ARG . 描述: 加载Linux格式的初始化虚拟盘, 并设置必要的参数。 install 用法: install -stage2=STAGE2_FILE -force-lba STAGE1 d DEVICE STAGE2 ADDR p CONFIG_FILE REAL_CONFI

17、G_FILE 描述: 安装STAGE1到指定设备上,安装加载STAGE2需要的块列表到STAGE2上。如果使用了选项d, STAGE1总是试图使用安装STAGE2的驱动器, 而不是启动盘。STAGE2将加载在指定地址上, 如果未声明地址, 则自动检测。如果使用了选项 p 或给出了配置文件, 将修改STAGE2的第一个数据块, 修正实际Stage2启动时使用的配置文件位置。对于Stage 1.5, 该值为Stage 2的路径。如果安装的是Stage 1.5, 且指定了实际配置文件, 则将该配置文件路径写入Stage2中。 ioprobe 用法: ioprobe DRIVE 描述: 侦测指定设备的

18、 I/O 端口号。 kernel 用法: kernel -no-mem-option -type=TYPE FILE ARG . 描述: 尝试载入主引导影像文件。其它项将被作为内核的命令行参数而传递给内核。使用此命令以前,内核所用到的模块应该被重新载入。参数 -type 用于说明内核的类型,包括 netbsd, freebsd, openbsd, linux, biglinux 和 multiboot。参数 -no-mem-option 用于说明不必自动传递 Linux 的内存参数。 lock 用法: lock 描述: 如果用户未被认证,则终止命令的执行。 makeactive 用法: mak

19、eactive 描述: 将 root 设备置为活动分区。当然,此命令只对 PC 的硬盘主分区有效。 map 用法: map -status -hook -unhook -rehook -read-only -fake-write -unsafe-boot -disable-chs-mode -disable-lba-mode -heads-per-cylinder=H -sectors-per-track=S TO_DRIVE FROM_DRIVE 描述: 对设备进行映射。这对于扇区链式引导是很有用的功能,比如 DOS。这里,目的驱动器(TO_DRIVE)可以是一个磁盘文件,即使用磁盘虚拟功能

20、。注意,这要求磁盘文件是连续存放于分区中的。另外,若使用了 -read-only 参数,该功能将使磁盘处于只读;若使用了 -fake-write 参数,该功能将使磁盘处于假写,即可以写入数据,但是却并未记录到真实磁盘上; 若使用了 -unsafe-boot 参数,该功能将使磁盘处于真实可写; 若使用了 -disable-chs-mode 参数,CHS 访问功能将被禁用; 若使用了 -disable-lba-mode 参数, LBA访问功能将被禁用; H 和 S 指定了虚拟磁盘的物理参数。若使用了 -status, -hook, -unhook,-rehook 诸参数之一, 那么其它的命令行参数

21、将被忽略。 md5crypt 用法: md5crypt 描述: 产生一个 MD5 格式的密码。 module 用法: module FILE ARG . 描述: 对多重启动影像, 加载启动模块文件 (不处理该文件的内容, 用户必须自己确定核心的要求)。剩余参数作为模快命令行传递, 象kernel命令一样。 modulenounzip 用法: modulenounzip FILE ARG . 描述: 与 module 类似, 但是自动禁用了解压缩。 pager 用法: pager FLAG 描述: 没有参数时,切换页模式。如果使用了 FLAG 参数,那么它为on 时为开启, 为 off 时为关闭

22、。 partnew 用法: partnew PART TYPE START LEN 描述: 创建一个新的主分区。START 为起始扇区号,LEN 为其包含的扇区数,TYPE 为其分区类型。 parttype 用法: parttype PART TYPE 描述: 改变指定分区(PART)的分区类型(TYPE)。 password 用法: password -md5 PASSWD FILE 描述: 设置密码。当其处于菜单文件的首项时,将禁用所有的交互式菜单编辑功能,包括编辑菜单项(e)/进入命令行(c)。当正确输入密码 (由PASSWD指定)后,载入新的菜单文件(由FILE指定)。如果你没有指定

23、FILE 项,那么上述被禁用的功能将被启用了。当然,你也可以将此命令用到某个菜单项里,用以提高系统安全性。参数 -md5 说明密码(PASSWD)是使用md5crypt 加密的。 pause 用法: pause MESSAGE . 描述: 终止命令的运行,并给出一段信息。任意键按下后,将继续。 quit 用法: quit 描述: 从 GRUB 命令行中退出。 rarp 用法: rarp 描述: 用 RARP 初始化网络设备。 read 用法: read ADDR 描述: 从内存的指定位置读取一个 32-bit 的值,并以十六进制形式显示出来。 reboot 用法: reboot 描述: 重启系

24、统。 fontfile 用法: fontfile FILE 描述: 指定中文字体文件,并切换到简体中文显示方式。 scdrom 用法: scdrom -install, -bootcd 描述: 寻找系统的第一个 CD-ROM 驱动器,然后为其分配一个驱动器号以备后续使用(-install)。或者,用该驱动器中的可引导光盘启动系统。(-boot)。 run 用法: run FILE 描述: 运行一个为光盘启动而设计的引导文件(非模拟方式的) root 用法: root DEVICE HDBIAS 描述: 设置根分区。设置根分区为指定设备(DEVICE), 然后尝试挂接该分区以得到分区大小(用于在

25、ES:ESI中传递, 扇区链式启动方式要求这样)。BSD 驱动类型用于启动 BSD 的核心启动), 和确定 BSD 子分区所 在的 PC 分区。可选的磁盘偏移参数, 用于 BSD 核心确定有多少个控制器在当前控制器前。比如: 假设同时有一个IDE和SCSI盘, 而BSD根分区在 SCSI盘上, 那么磁盘偏移就为1。 rootnoverify 用法: rootnoverify DEVICE HDBIAS 描述: 类似root指令, 但不测试安装该分区。这用于有些系统装在 GRUB 能访问的磁盘区之外, 但仍需要设置正确的根分区的情况。有些需要安装分区才能确定的参数可能会有问题。 savedefa

26、ult 用法: savedefault 描述: 将当前项设置为默认的引导项。 serial 用法: serial -unit=UNIT -port=PORT -speed=SPEED -word=WORD -parity=PARITY - stop=STOP -device=DEV 描述: 初始化一个串口设备。UNIT 用于指定要使用的串口设备 (如,0 = COM1); PORT 用于指定端口号; SPEED 用于指定通讯的数率; WORD 为字长; PARITY 为奇偶类型(取 no, odd 和 even 之一的值。); STOP 是停止位的长度值; 选项 -device 仅用于命令行模

27、式,用以指定 tty 设备的文件名。默认值是这样的,COM1, 9600, 8N1。 setkey 用法: setkey TO_KEY FROM_KEY 描述: 改变键盘映射关系。把FROM_KEY映射为TO_KEY。这里的键必须是字母, 数字, 和以下特殊键: escape(转义), exclam(!), at(), numbersign(#), dollar($), parenright () , caret(), ampersand(&), asterisk(*), plus(+), percent(%), minus(-), underscore(_), equal(=), paren

28、left(, backspace(退格), tab(制表), bracketleft(), braceleft(), bracketright(), braceright(), enter(回车), control(控制), semicolon(;), colon(, quote(), doublequote(), slash(/), backquote(), tilde(), shift(换档), backslash(), bar(|), comma(,), less(), question(?), alt(交互), space(空格), capslock(大写), Fx(功能键) 和 de

29、lete(删除)。 setup 用法: setup -prefix=DIR -stage2=STAGE2_FILE -force-lba INSTALL_DEVICE IMAGE_DEVICE 描述: 自动安装GRUB. 这条命令使用更灵活的install命令将GRUB安装到指定设备上。如果给出了映象设备,将在该设备寻找GRUB,否则使用缺省的根设备。根设备可用 root指令指定。如果你确认系统的 BIOS 应该支持 LBA 模式, 但是 GRUB 却没有工作于该模式, 则请指定 -force-lba 参数。如若你在命令行中 已安装了一次 GRUB 可是,你却无法卸载 GRUB 程序所在的分区

30、,请指定 -stage2 参数。 terminal 用法: terminal -dumb -no-echo -no-edit -timeout=SECS -lines=LINES -silent console serial hercules graphics 描述: 选择一个终端。当指定了多个终端以后, 按任意键方可继续操作。如果控制台和串口都被指定了, 那么你 首先在其中按下键盘的终端将被首先选中。如果没有指定任何参数, 那么此命令将显示出当前的终端设置; 参数 -dumb 用以指定一个哑终端, 否则即为 vt100 兼容型; 若使用了 -no-echo 参数, 屏幕上将不会 回显输入的字符; 若使用了 -no-edit 参数, the BASH-like 的编辑功能将被禁用; 若使用了

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

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