BILLYKANE 发表于 2007-7-23 14:26:07

[原创]制作整合Fanx和WINPE的U盘

场面话就不说了,呵呵,新手的新贴。
step1:首先将U盘制成dos启动盘。本人对linux下如何制作可启动U盘不熟,所以使用windows下制作工具,在这里我采用liubenBootU,将U盘制作成可启动DOS启动盘,当然你也可以使用HPUSBFW.EXE等工具,这并不唯一,只要保证U盘可以启动就行。对于将U盘究竟格式成zip还是hdd,这根据你的机子状况决定。(顺便说一句,HPUSBFW.EXE网上很多人说是惠普U盘格式化工具,在这里鄙视一下,作者在关于对话框中说的清清楚楚了,是Hewlett-Packard Development Company)。格式化后,重启计算机,用制作好的U盘启动你的电脑,如果发现进入DOS了(屏幕出现a:\或c:\命令提示符),那么请进入下一步。

Step 2:安装grub for dos。下载grub for dos,将grub.exe、grubldr.sys、ntdetect.com放到U盘根目录下,建立boot\grub文件夹,拷贝Fonts.gz、memdisk.gz到此。这时应注意,之前做的U盘中的DOS应该是纯净的,就是说只有command.com、msdos.sys、io.sys三个文件。如果包含了其它dos相关文件,反而会导致grub for dos启动失败。

Step 3:配置grub启动。首先是启动grub。通常的做法是将grub写入到autoexec.bat文件中,但是经过笔者验证,发现这并不是好办法,由于各主办厂家对U盘启动的处理方式不同,导致U盘格式并不确定,本人有两台机子,正好是走了两个极端,一台始终将U盘认为是zip格式,也就是说u盘启动的dos时屏幕出现a:\,另一台则始终将U盘认为是hdd格式,也就是说u盘启动的dos时屏幕出现c:\。由于这些情况,致使grub寻找menu.lst困难,故本人写了两个bat文件,其一a.bat,内容如下:

grub --config-file=(fd0)/menu.lst
其二c.bat,内容如下:
grub --config-file=/menu.lst。
a.bat对应u盘启动的dos时屏幕出现a:\的情况,c.bat对应u盘启动的dos时屏幕出现c:\的情况。
我的menu.lst放在U盘根目录下,当然你也可以放在别处,这由您自己决定,只要对应修改上述文件中路径即可。

BILLYKANE 发表于 2007-7-23 14:26:51

Step 4:安装fanx。根据以上步骤,相信大家应该猜到我的安装方式了,没错,是PMI,我的fanx版本是1.2rc。这里在U盘根目录下建立fanx目录,复制fanx整张光盘文件到此。当然,为减小体积,您可以删除一些与系统无关的文件(如isolinux的文件等)。这是就开始写menu.lst文件了。参照光盘里的isolinux.cfg文件,grub添加如下语句:
title Boot from Fanx Linux
kernel /fanx/vmlinuz append root=/dev/ram0 rw init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=7777 max_loop=255 livecd_subdir=/fanx/
initrd /fanx/initrd.gz

其中kernel /fanx/vmlinuz和initrd /fanx/initrd.gz根据您的文件位置自己修改。
这样就完成了fanx的安装。
Step 5:安装winpe。对于一个256M的U盘来说,fanx已经占用了近200M空间,再想安装大一点的深山红叶等PE实属困难,故我使用无忧启动论坛中老九制作的PE,最小的有20多M,您可以根据自身需要再加入一些工具,这里请恕不在赘述。
下载老九的winpe.is_文件。同时下载avldr.xpe、peldr、winnt.xpe等启动文件拷贝至U盘根目录下,menu.lst加入:
title Boot from pe
chainloader /peldr
boot

大功告成。
当然U盘还剩余一点空间,这里你可以充分利用空间,比如说我就找了个WIN98还有MenuetOS以及Dos、qnx放进U盘玩。

最终我menu.lst如下:
timeout 30
default 0

splashimage /boot/grub/splash.xpm.gz
fontfile /boot/grub/Fonts.gz

title 从 WinPE迷你系统 启动(Boot from Mini WinPe)
chainloader /peldr
boot

title从 Fanx Linux迷你系统(Boot from Fanx Linux)
kernel /fanx/vmlinuz append root=/dev/ram0 rw init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=7777 max_loop=255 livecd_subdir=/fanx/
initrd /fanx/initrd.gz

title 从 Mini Win98 启动 ( Boot from Mini Win98)
kernel /BOOT/GRUB/MEMDISK.GZ
initrd /BOOT/GRUB/win98.zip

title 从 Dos 启动 ( Boot from Dos )
kernel /boot/grub/memdisk.gz
initrd /boot/grub/dos.zip

title 从 MenuetOS for 32位CPU 启动 ( Boot from MenuetOS for 32)
kernel /boot/grub/memdisk.gz
initrd /boot/grub/mos.zip

title 从 MenuetOS for 64位CPU 启动 ( Boot from MenuetOS for 64)
kernel /boot/grub/memdisk.gz
initrd /boot/grub/mos64.zip

title 从 qnx 启动 ( Boot from qnx )
kernel /boot/grub/memdisk.gz
initrd /boot/grub/qnx.zip

title 重新启动电脑(Restart Your Computer)
reboot

title 关闭计算机(Shut Down Your Computer)
halt

wacalu 发表于 2007-7-25 10:22:35

谢谢,又学到了一招。

另,(顺便说一句,HPUSBFW.EXE网上很多人说是惠普U盘格式化工具,在这里鄙视一下,作者在关于对话框中说的清清楚楚了,是Hewlett-Packard Development Company),Hewlett-Packard Development Company中文简称就是惠普公司啊。

npcomet 发表于 2007-7-26 17:21:52

U盘使用Syslinux配合GRUB引导更加合适
同时这篇帖子转到fanx.org.cn一份希望楼主不要介意

BILLYKANE 发表于 2007-7-27 12:43:04

原帖由 npcomet 于 2007-7-26 17:21 发表 http://www.linuxfans.org/bbs/images/common/back.gif
U盘使用Syslinux配合GRUB引导更加合适
同时这篇帖子转到fanx.org.cn一份希望楼主不要介意
这是我的荣幸,只是文笔太差,很多地方说的不够,望见谅。

wjping119 发表于 2007-7-28 17:34:38

不错不错,顶你一个

hit22 发表于 2007-11-25 15:58:29

楼主,能不能给一个qnx.zip的地址。我百度不得啊!
页: [1]
查看完整版本: [原创]制作整合Fanx和WINPE的U盘