无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 10185|回复: 18
打印 上一主题 下一主题

[讨论] 我的U启方案——基于fbinst,还请大侠们不吝赐教

[复制链接]
跳转到指定楼层
1#
发表于 2011-10-21 20:35:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 七月十五 于 2013-10-21 16:34 编辑

0、废话
在无忧很长时间了,看得多,做的少,写的更少。每每看大神们的大作,惊天地泣鬼神,羡慕不已。只是轮到自己动手,每每照虎画猫,自己都不好意思拿出来见人。这次折腾了一周,略有小成,想想或许有更多的人像我一样折腾,或许能给大家做个参考。所以,也顾不上丢人了,献上来给大侠们笑笑。或能得大侠们指点一二,我表示感激不尽。——以上废话,完全可以略过。

1、目标
支持不同电脑配置启动,快速无光盘安装系统(含nt5.x、nt6.x、*nix从ISO安装),有WinPE维护Windows,需要SRS支持服务器维护,有Linux可以维护*nix系统。

2、方案
采用fbinst可以支持更多不同配置电脑启动。由于UD的特殊性,U盘启动某些系统进入系统后无法读取UD,会导致Linux图形化失败等。目前我采用的方案为只分一个主数据区(8M)存放grldr和menu.lst,不分扩展数据区,所有镜像放在U盘。用fbinst格式化U盘,ud默认大小(8M)(不希望把ud搞的很大——虽然我的U盘有8G,也有16G的,也有32G的)。FbinstTool,将U盘格式化,分区采用默认设置。将grub4dos的grldr导入ud根目录。编写好menu.lst文件后,也拖入ud根目录中。

可选方案:由于要安装CentOS、Ubuntu等Linux系统,而且文件名不尽相同,灵活起见,也可以考虑从U盘可见区的menu.lst中调用安装,方便修改(UD区一般不经常改动)。比如(hd0,0)/software/boot/menu.lst。因此,(ud)/menu.lst和(hd0,0)/software/boot/menu.lst可以考虑用call互相调用。

3、实现
OK,我的叙述一般不好懂,因为我思想跳跃+语无伦次。好吧,不管你懂不懂,我反正反正是懂了。没图说个丁日,代码才是王道。

FbinstTool格式化U盘——其实你完全可以不用UD扩展区(FbinstTools下载:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=189221




U盘里的启动镜像



ud文件结构:
  1. (ud)
  2. /
  3. │  grldr
  4. └─menu.lst
复制代码
U盘可见区文件结构:
  1. (hd0,0)
  2. E:\software
  3. ├─vmware
  4. │      VMware-VMvisor-Installer-5.5.0-1331820.x86_64.iso

  5. ├─boot
  6. │  │  menu.lst
  7. │  │  grldr
  8. │  │
  9. │  ├─images
  10. │  │      adds.img
  11. │  │      diskgen.img
  12. │  │      ghost.img
  13. │  │      hddreg.img
  14. │  │      msdos.img
  15. │  │      0pe.iso
  16. │  │      win8pe.iso
  17. │  │      cdlinux.iso
  18. │  │
  19. │  └─tools
  20. │          BOOTICE.EXE
  21. │          FbinstTool.exe
  22. │          WContig.zip
  23. │          grub4dos-0.4.6a-2013-07-24.7z

  24. ├─embedded
  25. │      openfileresa-2.99.1-x86_64-disc1.iso

  26. ├─microsoft
  27. │  │
  28. │  ├─server
  29. │  │      windows_server_2003_enterprise_sp2_r2_wudss_mui0804.iso
  30. │  │      windows_server_2008_r2_b7601.iso
  31. │  │      windows_xp_professional_sp3.iso
  32. │  │      windows_server_2012_b9200.iso
  33. │  │
  34. │  ├─x64
  35. │  │      Win7UlitmateB7601x64.iso
  36. │  │
  37. │  └─x86
  38. │         ghostxp_sp3_v2.8_ie8.iso

  39. ├─netboot
  40. │      netzone-nxp-7.x_linux-5.0.1188.iso

  41. ├─ubuntu
  42. │      ubuntu-server-amd64.iso

  43. └─apple
  44.     └─osx
  45.             osx_10.8.iso
复制代码
(PS:osx完全是我用来装逼的,大家可以忽略不计。)

(ud)/menu.lst:
  1. color cyan/blue white/magenta

  2. timeout 5

  3. title 0PE
  4.         find --set-root /software/boot/images/0pe.iso
  5.         map /software/boot/images/0pe.iso (0xff) || map --mem /software/boot/images/0pe.iso (0xff)
  6.         map --hook
  7.         rootnoverify (0xff)
  8.         chainloader (0xff)
  9.         boot
  10.         
  11. title Win8PE
  12.         find --set-root /software/boot/images/win8pe.iso
  13.         map /software/boot/images/win8pe.iso (0xff) || map --mem /software/boot/images/win8pe.iso (0xff)
  14.         map --hook
  15.         rootnoverify (0xff)
  16.         chainloader (0xff)
  17.         boot

  18. title MS-DOS
  19.         find --set-root /software/boot/images/msdos.img
  20.         map /software/boot/images/msdos.img (fd0) || map --mem /software/boot/images/msdos.img (fd0)
  21.         map --hook
  22.         rootnoverify (fd0)
  23.         chainloader (fd0)+1
  24.         boot

  25. title CDLinux
  26.         find --set-root /software/boot/images/cdlinux.iso
  27.         map /software/boot/images/cdlinux.iso (0xff) || map --mem /software/boot/images/cdlinux.iso (0xff)
  28.         map --hook
  29.         rootnoverify (0xff)
  30.         kernel /CDlinux/bzImage CDL_LANG=zh_CN.UTF-8 CDL_DIR=/software/boot/images CDL_IMG=cdlinux.iso
  31.         initrd /CDlinux/initrd
  32.         boot

  33. title
  34.         clear

  35. title VMware ESXi
  36.         find --set-root /software/vmware/VMware-VMvisor-Installer-5.5.0-1331820.x86_64.iso
  37.         map /software/vmware/VMware-VMvisor-Installer-5.5.0-1331820.x86_64.iso (0xff) || map --mem /software/vmware/VMware-VMvisor-Installer-5.5.0-1331820.x86_64.iso (0xff)
  38.         map --hook
  39.         rootnoverify (0xff)
  40.         chainloader (0xff)
  41.         boot

  42. title Ubuntu Server
  43.         find --set-root /software/ubuntu/ubuntu-server-amd64.iso
  44.         map /software/ubuntu/ubuntu-server-amd64.iso (0xff)
  45. #        || map --mem /software/ubuntu/ubuntu-server-amd64.iso (0xff)
  46.         map --hook
  47.         rootnoverify (0xff)
  48.         kernel /install/vmlinuz boot=install iso-scan/filename=/software/ubuntu/ubuntu-server-amd64.iso splash
  49.         initrd /install/initrd.gz
  50.         boot

  51. title
  52.         clear

  53. title DiskGenius
  54.         find --set-root /software/boot/images/diskgen.img
  55.         map /software/boot/images/diskgen.img (fd0) || map --mem /software/boot/images/diskgen.img (fd0)
  56.         map --hook
  57.         rootnoverify (fd0)
  58.         chainloader (fd0)+1
  59.         boot

  60. title Acronis Disk Director Suite
  61.         find --set-root /software/boot/images/adds.img
  62.         map /software/boot/images/adds.img (fd0) || map --mem /software/boot/images/adds.img (fd0)
  63.         map --hook
  64.         rootnoverify (fd0)
  65.         chainloader (fd0)+1
  66.         boot
  67.         
  68. title Ghost
  69.         find --set-root /software/boot/images/ghost.img
  70.         map /software/boot/images/ghost.img (fd0) || map --mem /software/boot/images/ghost.img (fd0)
  71.         map --hook
  72.         rootnoverify (fd0)
  73.         chainloader (fd0)+1
  74.         boot
  75.         
  76. title HDD Regenerator
  77.         find --set-root /software/boot/images/hddreg.img
  78.         map /software/boot/images/hddreg.img (fd0) || map --mem /software/boot/images/hddreg.img (fd0)
  79.         map --hook
  80.         rootnoverify (fd0)
  81.         chainloader (fd0)+1
  82.         boot

  83. title
  84.         clear
  85.         
  86. title commandline
  87.         commandline

  88. title reboot
  89.         reboot

  90. title halt
  91.         halt

  92. #title call (0xff)/software/boot/menu.lst
  93. #        configfile (0xff)/software/boot/menu.lst
复制代码
4、实施
苦逼的小白鼠一:兼容机/梅捷945GC/C420/512MDDR667*2/IDE80G/WinXP
苦逼的小白鼠二:DellVostro230/E5800/富士康G41/2GDDR1333*2/SATA500G/Win2008R2(兼VMware Workstation测试U启)
苦逼的小白鼠三:兼容机/华硕H61/i5-2300/4GDDR1333/SATA2T/Win7x64
苦逼的小白鼠四:兼容机/捷波G41/E6600/4GDDR1333*2/SATAT160+SATA320G/VMwareESXi5.0 以上启动项目完全成功。
苦逼的小白鼠五:兼容机/升技SG-71/C1.7/DDR256M/IDE40G/WinXP 加载缓慢,进CDLinux需5分钟,PE约3分钟。
苦逼的小白鼠六:联想家悦C1018E/精英KM400/AmdSP2200+/DDR256M/IDE80G/WinXP 主板只认USB为USB-ZIP,TangoPE、CoreLinux失败(决定搞成fd0),0PE及其他均成功。

5、劫难
CDLinux放置在UD区启动不能进x-window
尝试纯0PE方案,水平有限,没搞定
N多笔误,比如img写成ima,菜单写错等
差不多经历九九八十一难

6、后续
折腾(hd0,0)/boot/menu.lst,加入Ubuntu从ISO安装等等。
折腾当U盘格成ZIP等各种可能情况的统一解决方案。
折腾VMware ESXi、Mac OS X 等从ISO、DMG直接安装。
折腾ntldr、bootmgr、syslinux多启动。
总之:折腾出真知!
PS:什么时候折腾?答案是:遥遥无期。原因是:我实在性情太懒、水平太烂……

7、无图无真相?那么贴几张

VMware Workstation 加载U盘启动(教程见:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=139457


VMWare ESXi 5.0 通过U盘加载ISO安装成功
(因为有人说必须用syslinux来加载,折腾了N久。能安装ESXi的电脑不知在乎那点内存,其实--mem就可以了)


TinyCore Linux (下载:http://www.tinycorelinux.com


CDLinux (下载:http://www.cdlinux.info)


实体机上通过加载U盘上的ISO安装VMwareESXi5(正在检测硬件,不过会因网卡不支持而失败,安装本身并没有问题)


U盘启动从U盘的ISO文件安装Ubuntu中(这是我的报废物件测试台,除了电源和线缆其他配件都是有问题的orz)
2#
发表于 2011-10-22 21:13:12 | 只看该作者
谢谢楼主分享,我来看看
回复

使用道具 举报

3#
发表于 2011-10-22 21:16:16 | 只看该作者
最后一张图是亮点。。。
回复

使用道具 举报

4#
 楼主| 发表于 2011-10-23 08:50:02 | 只看该作者
原帖由 zhs509 于 2011-10-22 21:16 发表
最后一张图是亮点。。。


一般DIY惯了,就这么裸奔的不在少数。
我这是一个废物集中营,淘汰小来的有问题的电脑配件一般都这么测试来着
回复

使用道具 举报

5#
发表于 2011-10-23 10:45:57 | 只看该作者
喜欢这般DIY,很有意思
回复

使用道具 举报

6#
发表于 2013-3-13 20:59:52 | 只看该作者
这个实在是太给力了,自己动手丰衣足食啊
回复

使用道具 举报

7#
发表于 2013-3-14 17:53:01 | 只看该作者
裸奔!

裸奔!

裸奔!
回复

使用道具 举报

8#
发表于 2013-3-17 15:16:50 | 只看该作者
我也走到这一步了,UD区放一些必备的或常用的ISO,不常改动。在菜单里加个iftitle判断U盘可见区是否有特定的lst,有的话自动加入,需要经常修改的啥啥啥的都放在可见区了
回复

使用道具 举报

9#
发表于 2013-3-25 20:28:42 | 只看该作者

回复 #8 2011kuka 的帖子

请问怎么加入iftitle?
回复

使用道具 举报

10#
 楼主| 发表于 2013-4-6 17:05:49 | 只看该作者
我也走到这一步了,UD区放一些必备的或常用的ISO,不常改动。在菜单里加个iftitle判断U盘可见区是否有特定的 ...
2011kuka 发表于 2013-3-17 15:16


现在我基本上放可见区了,很多iso都不断在更新。UD只有8M。
回复

使用道具 举报

11#
发表于 2013-4-6 17:21:18 | 只看该作者
支持勇于尝试的版主,再接再厉的折腾吧!
回复

使用道具 举报

12#
发表于 2013-12-31 19:46:52 | 只看该作者
谢谢分享
回复

使用道具 举报

13#
发表于 2013-12-31 19:47:36 | 只看该作者
谢谢分享
回复

使用道具 举报

14#
发表于 2014-1-2 10:41:16 | 只看该作者
好奇那个 osx_10.8.iso 怎么写的

点评

用OSX的写盘工具  详情 回复 发表于 2014-3-3 11:30
回复

使用道具 举报

15#
 楼主| 发表于 2014-3-3 11:30:30 | 只看该作者
2012idle 发表于 2014-1-2 10:41
好奇那个 osx_10.8.iso 怎么写的

用OSX的写盘工具
回复

使用道具 举报

16#
发表于 2014-3-4 14:55:36 | 只看该作者
本帖最后由 mdyblog 于 2014-3-13 10:43 编辑

友情提示:
用新版Fbinst (MBROS), 进入PE、LINUX等,还可访问 UD 中 的文件。
支持 G4D  grub2  UEFI linux  GHOST-win32  GPT 等
回复

使用道具 举报

17#
发表于 2014-3-4 19:30:38 | 只看该作者
我想知道, ISO都要加载到内存去安装运行吗? 这个。。。万一没那么大内存怎么办

点评

需要ISO文件在磁盘的连续区域才会不全部加载到内存中,你可以参考一下WContig这个软件的用途。  详情 回复 发表于 2014-3-15 14:11
回复

使用道具 举报

18#
 楼主| 发表于 2014-3-15 14:11:03 | 只看该作者
goodtime 发表于 2014-3-4 19:30
我想知道, ISO都要加载到内存去安装运行吗? 这个。。。万一没那么大内存怎么办

需要ISO文件在磁盘的连续区域才会不全部加载到内存中,你可以参考一下WContig这个软件的用途。
回复

使用道具 举报

19#
发表于 2014-3-15 16:06:18 | 只看该作者
真正的裸奔!!!!!!orz
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-11 19:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表