无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: dylneil
打印 上一主题 下一主题

用grub启动任意分区上的PE获得成功!

[复制链接]
1#
发表于 2007-6-13 12:11:27 | 显示全部楼层
我来说说我的方法,不知道对大家有没有什么借鉴意义。

应该有很多人用过改装的清华同方(也就是软通科技)的基于HPA的一键恢复系统,用过的人都知道,这个hpa分区在用ulockhpa显示出来后它就是硬盘上的最后一个逻辑分区(FAT32格式),我自己改装的方法是:将原来用于启动linux系统的linux.img换成一个DOS启动盘,这个启动盘启动时会先反隐藏hpa分区(ulockhpa),然后再从启动盘运行grub.exe调用隐藏分区中的grubmenu.hpa(这是一个grub的菜单文件),再通过这个菜单就可以选择进入一键恢复系统或者进入PE。而我是将老九的PE放到这个hpa分区的。下面简单介绍一下相关各文件的设置:

1、grubmenu.hpa,它在hpa分区的根目录,部分内容如下:


  1. ...
  2. title 系统恢复或备份
  3. password ***
  4. find --set-root /grubmenu.hpa
  5. map --mem /boot/ghost.ima (fd0)
  6. map --hook
  7. chainloader (fd0)+1
  8. rootnoverify (fd0)

  9. title 启动WinPE网络版(HPA分区)
  10. find --set-root /setupldr.hpa
  11. chainloader /setupldr.hpa

  12. title 启动通用WinPE(setupldr.bin)
  13. find --set-root /setupldr.bin
  14. chainloader /setupldr.bin

  15. ...
复制代码


其中的setupldr.hpa就是一个setupldr.bin改名过来的,当然,对这个文件进行了必要的hack,例如将winnt.sif改成winnt.lxl。

2. winnt.lxl的内容

  1. [SetupData]
  2. BootDevice = "ramdisk(0)"
  3. BootPath = "\I386\SYSTEM32"
  4. ;OsLoadOptions = "/minint /fastdetect /rdexportascd /rdpath=WINPE.IS_"
  5. OsLoadOptions = "/minint /fastdetect /rdpath=WINPELXL.IMG"
复制代码


按照上面的启动方式,只要setupldr.bin、winnt.sif、pe.img(/iso)及ntdetect.com在同一个分区的根目录下(无论这个分区是否是主分区或者逻辑分区还是隐藏分区),只要grub能够找到这个setupldr.bin,同时你的winnt.sif设置又没有错误,那么直接用grub4dos chainloader这个setupldr.bin就可以实现正常启动PE,而且,根本不需要设置什么文件路径或者指定分区(象顶楼那样),完全可以做到通用启动任何PE。而且通过hack对应的文件,可以实现对setupldr.bin和winnt.sif任意命名的方式。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-5 18:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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