无忧启动论坛
标题:
grub2,grub4dos,ntboot使用求教
[打印本页]
作者:
rgiskard
时间:
2013-12-18 17:19
标题:
grub2,grub4dos,ntboot使用求教
折腾启动引导快两星期了,还有好几个问题没解决,不多说,求教
u盘分了两个区,第二个区放所有启动文件,作为安全策略之一
u盘mbr写的grub2,pbr不想动,向通过grub2启动msdn的windows安装光盘镜像,,loopback似乎仅对linux好用,后来找来syslinux的memdisk,解决了 软盘镜像 和 大部分pe镜像的启动问题(对后者不满意,一个是加载速度慢,还没进度显示,再一个就是,xp原版镜像这个尺度大小的iso用它似乎已经没办法了),后来只好求助于grub4dos(版本0.4.6a),由grub2 启动,引导如下:
linux /$grub4dos_dir/grub.exe --config-file="root=(hd0,1);configfile(hd0,1)/boot/grub/'grub4dos-0.4.6a'/menu/menu.lst"
遗憾的是,直接进入bash命令行,有帖子说这个参数传递好像有bug,引号里的configfile无效,可以直接把命令写到引号里,不过这样菜单就太复杂了,也不方便,不喜欢这样的,目前这个问题还没解决(希望还可以让menu.lst文件所处目录不受限制),求大神指教
手动configfile后,继续grufordos map启动镜像文件,这个map命令确实高效,尽管有危险(grubfordos的磁盘仿真说明,http biancheng点dnbcw点info斜杠linux斜杠250149.html),虽然基本可以map所有linux可启动光盘镜像,pe镜像,windows安装镜像,但还是不太满意,原因如下,,如不加载至内存对文件存储连续性有要求,加载至内存又还是慢(虽然有了加载进度显示),对windows安装镜像而言,需要加载驱动,又找来firadisk,还是蓝屏,,,再加上本来希望能启动vhd系统的,而map似乎也到极限了,于是乎又发现了ntboot,似乎这个东西对windows相关的启动支持的很不错,可无奈ntboot的资料不好找,最近又比较忙,不太有时间折腾这个,求教ntboot教程!,,
这个是我找到ntboot工具的地方,看了下发现天空pe用得也是ntboot,地址在这:三w点chenall点net斜杠post斜杠ntboot斜杠
总的来说目前的两个问题是grub2启动grub4dos的grub.exe会直接进入命令行,,ntboot不会用,求指导
作者:
rgiskard
时间:
2013-12-18 17:20
不能发url,文字代替,求解答啊
作者:
不点
时间:
2013-12-18 17:30
你的命令行写的不认真,有明显错误。
configfile 之后没有空格,这是错误之一。
configfile 后面的左括号 "( " 是中文的宽字符,不是英文的窄字符,这也是错误的。
另一方面,grub2 不能传递正确的命令行给 grub4dos。你需要(事先)用一个 grub2 的变量来保存 grub4dos 的命令行参数,然后在 linux 一行的命令行中使用该变量即可。
作者:
rgiskard
时间:
2013-12-18 18:01
不点 发表于 2013-12-18 17:30
你的命令行写的不认真,有明显错误。
configfile 之后没有空格,这是错误之一。
menuentry "grub for dos-->" {
search --fs-uuid --set=root 0E29-0FB1
linux /$grub4dos_dir/grub.exe --config-file="root=(hd0,1);configfile (hd0,1)/boot/grub/'grub4dos-0.4.6a'/menu/menu.lst"
}
用得notepad++,小狼毫输入法,格式可以确定绝对没问题
之前看到过一个帖子,传递参数那个试过一次,没成功,具体细节忘了,我再试试
谢谢啦!
作者:
rgiskard
时间:
2013-12-18 18:37
不点 发表于 2013-12-18 17:30
你的命令行写的不认真,有明显错误。
configfile 之后没有空格,这是错误之一。
还是不行,换用0.4.4的#段测试也不行,我的菜单
menuentry "grub for dos-->" {
search --fs-uuid --set=root 0E29-0FB1
# set config_cmd="root=(hd0,1);configfile (hd0,1)/boot/grub/'grub4dos-0.4.6a'/menu/menu.lst"
# linux /$grub4dos_dir/grub.exe --config-file=$config_cmd
set config_cmd="root (hd0,1); configfile (hd0,1)/boot/grub/menu.lst"
linux /boot/grub/grub.exe --config-file=$config_cmd
}
虽然可以了(0.4.6a未测试,是否是文件夹路径的问题还没测试),但返回grub2时提示fallback+1,......出错返回不了,而且font没有加载成,手动configfile时可用啊
这是我的menu.lst的前一段
#start menu.lst
default=0
timeout=32
default /default
write 0x8274 0x2001
calc *0x7c03=0x00736E6F63646D63
savedefault --wait=2
find --set-root --ignore-floppies --ignore-cd /boot/grub/grub4dos-0.4.6a/grub.exe
#configfile /boot/grub/grub4dos-0.4.6a/menu/head.lst
graphicsmode -1 640:800
font /boot/grub/grub4dos-0.4.6a/menu/unifont.hex.gz
title back to grub2
fallback +1
find --set-root --ignore-floppies --ignore-cd /boot/grub/i386-pc/grub/i386-pc/core.img
kernel /boot/grub/i386-pc/grub/i386-pc/core.img
作者:
rgiskard
时间:
2013-12-18 21:45
现在--config-file的大部分问题解决了,与所处目录和这两个grub的版本无关,需要把--config-file=后全部用变量替换,现在又想起了几个问题,, 1,config-file后的别的命令都有效就configfile有bug?,, 2,那个定义的变量是仅在{}之间或一个文件之内(对configfile的文件无效)有效吗?,,, 3,把那个视频模式设置及calcu还有write语句写在别的文件,想在grub.exe载入menu.lst后再config那个文件,执行完后回到menu.lst,为什么会出错,对那个2k的default文件还不太明白 4,在menu.lst里configfile进入下层选单后,esc键无法回到menu.lst,为什么呢?
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3