无忧启动论坛
标题:
请教用“chain grub.exe”命令行加载多个映像的方法
[打印本页]
作者:
2013上帝是笨蛋
时间:
2013-11-6 11:09
标题:
请教用“chain grub.exe”命令行加载多个映像的方法
本帖最后由 2013上帝是笨蛋 于 2013-11-6 11:28 编辑
本人是个GRUB的菜鸟,只会生搬硬套,在此向大家求教!
由于内网禁用移动磁盘,而光盘更新又麻烦,所以想用一个折中的办法实现内网的维护,即临时开启网启。菜单如下:
initrd ftp://${next-server}/Win7PE.ISO
initrd ftp://${next-server}/Tools.img
chain grub.exe --config-file="map (rd)+1 (0xff);map --hook;chainloader (0xff)"
或
initrd ftp://${next-server}/Win7PE.ISO
initrd ftp://${next-server}/Tools.img
chain ftp://${next-server}/memdisk iso raw
我的本意是想根据临时问题,将特定软件放置在TOOLS映像中,在PE中运行,但按这个菜单仅能启动PE,TOOLS映像在PE中并不能显现。请高手帮忙解惑!
注:Win7PE中,本人已经注入F驱,已能显现WIN7PE.ISO光盘。
作者:
不点
时间:
2013-11-6 15:21
我猜,initrd ftp://${next-server}/Win7PE.ISO 和 initrd ftp://${next-server}/Tools.img 两条命令,把 Win7PE.ISO 和 Tools.img 接连放在内存中了。有可能放在 4K 对齐的边界上。
(rd) 指向这个合并后的文件。(rd) 的前半部分是 Win7PE.ISO,后半部分是 Tools.img。它是不是按照 4K 来对齐这两个文件,我就不太清楚了。总之,你可以在内存中找找这个 Tools.img 文件,看看它究竟在什么地址处。
(rd) 的基地址是可以知道的。它就是变量 rd_base 的值。
(rd) 的长度也是知道的,它就是变量 rd_size 的值。
以上这些是普通的知识,你可以从各种资料里面查到,或者用 google 搜。
这个 rd_size 就是合并后的大文件的长度,Tools.img 就位于 (rd) 设备的尾部。
仿真的时候,你把 (rd)+若干个扇区(注:它相当于 Win7PE.ISO)仿真为光盘,而同时把 (rd)若干个扇区+若干个扇区(注:它相当于 Tools.img)仿真为软盘或硬盘,这样就行了。
当然你还需要 firadisk 或者 winvblock 来驱动 grub4dos 的仿真设备,想必这你是知道的,如果不知道,用 google 搜。
作者:
2013上帝是笨蛋
时间:
2013-11-8 14:09
非常谢谢!!!
欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/)
Powered by Discuz! X3.3