无忧启动论坛

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

【解决了】关于grub4dos和firadisk下XPiso安装的疑问

[复制链接]
跳转到指定楼层
1#
发表于 2010-8-5 14:41:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
直到最近才接触的启动和封装技术,从各论坛上找了些初级教程学了点皮毛,有许多地方不甚了解,正在四处搜罗资料慢啃中。

近几日尝试了grub4dos,由于之前也常用grub,对兼容grub和系统引导的部分没太大问题。

对G4D的磁盘仿真很感兴趣,试着用U盘map原生WinXP的ISO安装系统时遇到问题。

=================================================

拜读了论坛里的帖子,终于弄明白了XP的安装过程,搞定了menu如下

以下是小弟的menu.lst
(虽然镜像用了--mem,还是保守地希望能在连续的存储空间里以便能测试直接map,所以格盘后拷进去)
  1. # 第一阶段在内存里虚拟出firadisk的驱动软盘fd0
  2. # 交换磁盘映射将U盘映射为hd1本地第一块磁盘映射为hd0
  3. # 导入XP的镜像到内存映射为硬盘hd32(本子还行,花了不到2分钟^_^)
  4. # chainloader交给hd32
  5. title INSTALL - WinXP Pro VOL (Step 1)
  6. find --set-root /WinXP/firadisk.img
  7. map (hd0) (hd1)
  8. map (hd1) (hd0)
  9. map --mem /WinXP/firadisk.img (fd0)
  10. map --mem /WinXP/WinXP.iso (hd32)
  11. map --hook
  12. chainloader (hd32)

  13. # 直接加载iso到内存并chailoader交给本地磁盘的第一扇区
  14. # 安装过程有关于firadisk未通过微软验证的提示选择继续就哦了
  15. title INSTALL - WinXP Pro VOL (Step 2)
  16. find --set-root /WinXP/WinXP.iso
  17. map (hd0) (hd1)
  18. map (hd1) (hd0)
  19. map --mem /WinXP/WinXP.iso (hd32)
  20. map --hook
  21. chainloader (hd0)+1
复制代码
查了下G4D的wiki支持简单的逻辑条件指令和NTFS,貌似可以把两阶段的菜单项整合为一项?
比如先检查本地盘里是否有第一阶段复制过来的安装文件,有则不加载firadisk到内存并且chainloader移交给hd0?

想请教下,第一阶段XP复制到磁盘的安装文件里,在根目录下主要有哪些文件,最好路径中不含特殊字符的?

===================================

用firadisk的文件做为判断将两阶段菜单合并了下,测试可行。
  1. title INSTALL - WinXP Pro VOL
  2. find --set-root /WinXP/WinXP.iso
  3. map (hd0) (hd1)
  4. map (hd1) (hd0)
  5. # 若找不到firadisk.sys再执行map仿真firadisk驱动软盘
  6. find /WINDOWS/OemDir/firadisk.sys || map --mem /WinXP/firadisk.img (fd0)
  7. map --mem /WinXP/WinXP.iso (hd32)
  8. map --hook
  9. # 若找不到firadisk.sys则从光盘启动,否则从本地磁盘启动
  10. find /WINDOWS/OemDir/firadisk.sys || chainloader (hd32)
  11. chainloader (hd0)+1
复制代码
唯一的问题是,如果磁盘里某分区安装前就有/WINDOWS/OemDir/firadisk.sys该文件的话会造成干扰而达不到预期效果。

====================================

人工或借助nlite等工具把firadisk整合到XP的ISO里,省去了map出firadisk的步骤。
  1. title INSTALL - WinXP Pro VOL
  2. find --set-root /WinXP/WinXP.iso
  3. map (hd0) (hd1)
  4. map (hd1) (hd0)
  5. map --mem /WinXP/WinXP.iso (hd32)
  6. map --hook
  7. find /WINDOWS/OemDir/firadisk.sys || chainloader (hd32)
  8. chainloader (hd0)+1
复制代码
====================================

突然想到一个讨巧的办法,利用XP的引导(press any key ..)简化掉逻辑判断,(已整合firadisk的ISO)测试中:
  1. title INSTALL - WinXP Pro VOL
  2. find --set-root /WinXP/WinXP.iso
  3. map (hd0) (hd1)
  4. map (hd1) (hd0)
  5. map --mem /WinXP/WinXP.iso (hd32)
  6. map --hook
  7. # 始终由光盘启动,但第二阶段出现(press any key ...)时不按键跳过,默认从hd0启动
  8. chainloader (hd32)
复制代码

[ 本帖最后由 2010Dfish 于 2010-8-10 12:17 编辑 ]
2#
 楼主| 发表于 2010-8-5 14:53:08 | 只看该作者
参照了下面的资料以及论坛里的帖子(先谢过各位先驱,可以偷懒了^_^)
SourceLink:http://diddy.boot-land.net/firadisk/files/win_iso_install.htm

[ 本帖最后由 2010Dfish 于 2010-8-5 18:12 编辑 ]
回复

使用道具 举报

3#
发表于 2010-8-5 15:54:08 | 只看该作者
回复

使用道具 举报

4#
发表于 2010-8-6 06:28:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-17 02:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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