无忧启动论坛

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

[分享] 实现转从本地硬盘启动的一个方法。

[复制链接]
跳转到指定楼层
1#
发表于 2012-7-23 15:26:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于grub4dos和修改的mirosoft os 光盘中的bootfix.bin 组合而来。



优点:
1、解决在软激活类D版windows 7/vista的机器上采用以下传统的引导方式带来的激活失效的问题。
  1. title 从本地硬盘启动
  2. find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
  3. map () (hd0)
  4. map (hd0) ()
  5. map --rehook
  6. find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
  7. chainloader /ntldr || chainloader /bootmgr
复制代码
2、实现了本地硬盘操作系统无关性(不管是DOS、windows、linux...)。

3、适用面较广:
     从UD引导(不论识别为USB-ZIP还是USB-HDD的U盘或移动硬盘);
     从光盘(含量产)引导;
     从PXE引导;
     从普通USB-HDD U盘;
     从非UD类普通移动硬盘这种情况未测试,可能要修改代码。

  1. title                                 从  硬盘启动
  2. set b=)/AXPE/IMGS/BOOTFIX.ISO
  3. # b用于保存BOOTFIX.ISO的路径
  4. checkrange 0x80 read 0x8280 && if exist (hd0)/fb.cfg && set b=ud%b%
  5. checkrange 0x23 read 0x8280 && if not exist (fd0)/fb.cfg && set b=ud%b%
  6. set b=(%b%
  7. set /a hdn=*0x475&0xff
  8. if %hdn%>=2 && if /I "%b%"=="(ud)/AXPE/IMGS/BOOTFIX.ISO" && map (hd1) (hd0) && map (hd0) (hd1)
  9. map --unmap=0xfe
  10. map %b% (0xfe) || map --mem %b% (0xfe)
  11. map --rehook
  12. chainloader (0xfe)
  13. boot
复制代码

[ 本帖最后由 chiannet 于 2012-7-23 15:41 编辑 ]

桌面.7z

2.32 KB, 下载次数: 321, 下载积分: 无忧币 -2

2#
发表于 2012-7-23 16:18:32 | 只看该作者
不错,顶 一个!
回复

使用道具 举报

3#
发表于 2012-7-23 19:14:16 | 只看该作者
学习一下,感谢分享。。。
回复

使用道具 举报

4#
发表于 2012-7-23 20:20:25 | 只看该作者
我来测试一下这个方法。
回复

使用道具 举报

5#
发表于 2012-7-24 05:56:41 | 只看该作者
楼主提到:
     从UD引导(不论识别为USB-ZIP还是USB-HDD的U盘或移动硬盘);
     从光盘(含量产)引导;
     从PXE引导;
     从普通USB-HDD U盘;
可适用。我测试了1、2,均成功。34没测试。



    此外补充一点,实际上已经从本地硬盘启动(ntldr/bootmgr----->grub)后,再转本地硬盘启动也成功了。
回复

使用道具 举报

6#
发表于 2012-7-24 23:31:24 | 只看该作者
不错,不错,感谢更新
回复

使用道具 举报

7#
发表于 2012-7-25 12:03:14 | 只看该作者
不错,收藏备用。。。
回复

使用道具 举报

8#
发表于 2012-8-7 11:23:39 | 只看该作者
谢谢分享,有空测试一下
回复

使用道具 举报

9#
发表于 2012-8-7 13:12:37 | 只看该作者
我是多系统,(0,0)是XP,此菜单不适用,不知怎么改?
回复

使用道具 举报

10#
发表于 2012-8-7 14:45:41 | 只看该作者
之前需要2个菜单,现在方便多了,高手就是不一样,非常感谢您的分享!
回复

使用道具 举报

11#
发表于 2012-8-9 00:38:37 | 只看该作者
看看是什么样的东西啊
回复

使用道具 举报

12#
发表于 2012-8-12 06:26:10 | 只看该作者
支持                    顶
回复

使用道具 举报

13#
发表于 2012-8-13 13:59:44 | 只看该作者
在非UD类普通移动硬盘测试无效,还是进入移动硬盘的菜单,楼主大哥有没有办法解决?
回复

使用道具 举报

14#
发表于 2012-8-14 21:31:39 | 只看该作者
没看懂!要怎么学呢?
回复

使用道具 举报

15#
发表于 2012-8-15 06:25:33 | 只看该作者
谢谢楼主分享!
回复

使用道具 举报

16#
发表于 2012-8-16 08:26:22 | 只看该作者
学习一下,感谢分享。。。
回复

使用道具 举报

17#
发表于 2012-9-17 19:45:06 | 只看该作者
感謝分享,試試看,辛苦了
回复

使用道具 举报

18#
发表于 2012-9-18 11:59:32 | 只看该作者

回复 #1 chiannet 的帖子

不知道怎么才能看得懂?推荐学习资料……
回复

使用道具 举报

19#
发表于 2012-9-23 19:52:03 | 只看该作者

回复 #1 chiannet 的帖子

chainloader /ntldr || chainloader /bootmgr
以上说明只先引导NT5,不行再引导NT6,都不行就无法启动了

我的通用代码:
title [] 从硬盘启动
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook || echo 无需交换磁盘顺序,直接从本地盘启动
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader (hd0)+1
boot
以上方法由本地盘MBR引导启动
回复

使用道具 举报

20#
发表于 2012-9-29 20:59:11 | 只看该作者
使用LZ及2011aaaaa0808 (时尚蛤蟆) 的方法,采UD或量产方式启动均成功,特此回报,谢谢两位。
回复

使用道具 举报

21#
发表于 2012-10-5 14:06:55 | 只看该作者
是这的有效吗?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-13 21:11

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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