zy_sunshine 发表于 2010-2-20 22:23:45

magic_win 发布 0.4.1

0.2.1下载

http://magicwin.googlecode.com/
点击Downloads下载
源码下载:
svn checkout http://magicwin.googlecode.com/svn/trunk/ magicwin-read-only



0.2.0final下载
程序
源码
修改:
    修复了currentDirectory错误
    添加了UAC安全认证机制
如果出现"应用程序并行配置错误",请在这下载运行时库安装。

0.2.0rc4下载
程序
源码
    准备final,但是最近看C++ 手痒痒,程序全部用类实现了,其中也用了一点模板... 复杂容器和iterator到处是,也用了多线程和mutex锁,所以不知道能不能测试通过。

    我在Vista下测试的,程序开始不能运行,因为缺少vs2008运行库,这个也就是Win下的运行库版本不对应的bug了,哈哈。

如果出现"应用程序并行配置错误",请在这下载运行时库安装。
   
0.2.0rc3下载


rc3修复bug:
    加入了多线程处理各个功能模块,附带进度条以表示程序运行状态。
    0.2.0rc3重新修改了整体的逻辑性(这个修改的多了...)
    提取KDE写的硬盘安装软件中的Grub以支持中文,不过根目录下的mildr mildr.mbr menu.mgc和KDE的重复,在此抱歉,呵呵,但是懒得改了...
       去掉了软驱提示错误bug

0.2.0rc1




在win7 vs6.0编译。

在win7下测试正常。

改进:
    2010-2-20 21:24:46
       运行cmd命令的时候采用多进程非阻塞方式,使程序运行流畅。
    添加第三方程序7z.exe, 7z.dll用于解压iso文件中的内核文件。
    分析了整个分区表,配合WinAPI以获得准确的磁盘分布,精确计算grub需要的配置盘符。
    ps:理论上是很精确了,实现上也是这么来的,就是不知道用起来效果怎么样

由于平台众多,恳请大家多多测试:)

其他说明:
      如果7z.exe和7z.dll文件不与magic_win.exe放在同一目录下(程序当前工作目录),7z.exe将不会起作用。此时不会解压缩iso中的内核文件,而是尝试拷贝在magic_win.conf中配置的内核文件。

0.2.0rc2 下载地址
magic_win-0.2.0-2mgc.rar
Grub4Dos for MagicLinux硬盘安装0.2.0rc2
改进:
      对外加的分析磁盘工程做了调整,在发生单个磁盘解析错误的时候不会直接返回错误,而是跳过当前磁盘继续对下一个解析。

   获得所有的可引导磁盘盘符(0x80标识),并以boot.ini(xp)bootmgr(vista)为标准获得所有windows引导磁盘盘符,两相对比,得出可引导文件的所在盘符(因为系统引导文件所在盘符和系统安装盘符有时是不统一的)。
   如果得到多个win可引导盘符,只取小盘符。

0.4.0rc1 下载地址
http://code.google.com/p/magicwin/downloads/list
magicwin-0.4.0-1mgc.win32.7z         0.4.0版本rc1支持MI1 MI2,支持硬盘安装和USB启动安装。

0.4.1版本rc1支持MI1 MI2,支持硬盘安装和USB启动安装。修正0.4.0中对MI1不支持问题。

[ 本帖最后由 zy_sunshine 于 2011-1-3 20:02 编辑 ]

xx_zz 发表于 2010-2-20 23:29:51

虚拟机中与XP建立双系统测试通过:) 。但是无意中发现一个小问题,在WIN下如果手动分配过盘符的话,grub下有可能出错。例如由于特殊需要,我在WIN下将装有iso的分区设置为Z:,重启进入安装程序,grub就会去hd(0,23)寻找镜像……

zy_sunshine 发表于 2010-2-21 09:21:43

eee,几乎不会出现那种情况,因为实现是这样的:

分析硬盘的整个分区表链,按照分区在分区表链的先后顺序排序,对扩展分区做+3处理,这样(hdx,x)是在物理偏移位置计算的。
枚举所有盘符,得到盘符名称和分区物理偏移地址,与上面在分区表链的所有盘符对比,找到物理偏移地址相同的盘符,对应分配grub标识的硬盘,即(hdx,x)。

只有在driver_info_vc6_2mgc.rar
这个测试这个程序的时候出现严重错误,即没有任何磁盘信息显示的时候才会按照盘符字母来分配。
这个时候认为C:为主分区,其他为扩展分区中的逻辑分区。

zy_sunshine 发表于 2010-2-21 09:26:52

xx_zz
能否麻烦你把安装Grub的时候,右面的所有信息发给我看看。
上面提到的哪个磁盘信息测试程序,将测试结果也发来看看。:?

xx_zz 发表于 2010-2-21 11:45:21

晚上回家就发:)

zy_sunshine 发表于 2010-2-21 12:14:14

用这个程序测试吧,这个测试程序屏蔽了所有的中断。一定会输出所能分析到的信息。

haddy 发表于 2010-2-21 15:28:12

1 开了UAC就没法使用bcdedit了……希望能够像那些程序的安装程序那样,自动提权

2 grldr覆盖……感觉还是mildr和menu.mgc比较好

3 会弹出什么没有插入的(A:) 我家电脑可没有软盘驱动器哦,哪里冒出来的?希望改进

没有发现bug 很流畅啊^_^

嗯……话说,和KDE的是分开做的么?

[ 本帖最后由 haddy 于 2010-2-21 15:35 编辑 ]

xx_zz 发表于 2010-2-21 21:11:02

添加Grub(XP)...
(WW)警告!因为您指定的盘符是错误盘符,以常规方式解析C:\menu.lst中所需磁盘标识
(WW)警告!我们以常规方式为你解析grub标识磁盘为(hd0,23)
(SS)自动解压缩Z:\MagicLinux-2.5.rc2-1.iso中内核文件至Z:\mbvmlinuz Z:\mbinitrd-hd.gz成功
(SS)复制文件至C:\grldr成功!
(SS)复制文件至C:\menu.lst成功!
(SS)在C:\menu.lst中配置盘符成功
(SS)成功在C:\boot.ini中添加启动项!
(SS)添加Grub操作成功
添加Grub(XP) 成功..

zy_sunshine 发表于 2010-2-21 22:17:09

e,楼上的错误很经典
因为我外加的那套解析磁盘出现错误
(WW)警告!因为您指定的盘符是错误盘符,以常规方式解析C:\menu.lst中所需磁盘标识
(WW)警告!我们以常规方式为你解析grub标识磁盘为(hd0,23)

最后没有办法才以磁盘字母解析。

今天我将外加磁盘解析的那块又做了一下改进,麻烦xx_zz再以这种方式测试一下:)

zy_sunshine 发表于 2010-2-21 22:25:07

Grub4Dos for MagicLinux硬盘安装0.2.0rc2

改进:
      对外加的分析磁盘工程做了调整,在发生单个磁盘解析错误的时候不会直接返回错误,而是跳过当前磁盘继续对下一个解析。

   获得所有的可引导磁盘盘符(0x80标识),并以boot.ini(xp)bootmgr(vista)为标准获得所有windows引导磁盘盘符,两相对比,得出可引导文件的所在盘符(因为系统引导文件所在盘符和系统安装盘符有时是不统一的)。
   如果得到多个win可引导盘符,只取小盘符。

zy_sunshine 发表于 2010-2-21 22:28:18

原帖由 haddy 于 2010-2-21 15:28 发表 http://www.linuxfans.org/bbs/images/common/back.gif
1 开了UAC就没法使用bcdedit了……希望能够像那些程序的安装程序那样,自动提权

2 grldr覆盖……感觉还是mildr和menu.mgc比较好

3 会弹出什么没有插入的(A:) 我家电脑可没有软盘驱动器哦,哪里冒出来的?希望改进

没有 ...
呵呵
1、提权那块我会尽量研究,下一版本改进。
2、grldr覆盖会在下一版改正一下.
3、第三点是怎么个情况,能否截下图看看。

[ 本帖最后由 zy_sunshine 于 2010-2-22 21:42 编辑 ]

xx_zz 发表于 2010-2-21 22:32:29

rc2正常了:)
添加Grub(XP)...
(WW)文件C:\grldr已经存在,覆盖操作
(WW)文件C:\menu.lst已经存在,覆盖操作
(SS)获取menu.lst盘符为(hd1,0)
(SS)已识别当前系统的引导盘符为C:
(SS)自动解压缩Z:\MagicLinux-2.5.rc2-1.iso中内核文件至Z:\mbvmlinuz Z:\mbinitrd-hd.gz成功
(SS)覆盖文件至C:\grldr成功!
(SS)覆盖文件至C:\menu.lst成功!
(SS)在C:\menu.lst中配置盘符成功
(SS)成功在C:\boot.ini中添加启动项!
(SS)添加Grub操作成功
添加Grub(XP) 成功..

zy_sunshine 发表于 2010-2-21 22:35:41

回复 12# xx_zz 的帖子

(*^__^*) ,多天来的准备和底层分析,终于有效果了,(*^__^*) 嘻嘻……

zhucl428 发表于 2010-2-24 14:23:20

我昨天用它装的ml 一切正常 只是 能不能加入备份恢复mbr的功能

zhucl428 发表于 2010-2-24 14:37:10

我重装window时 找不到mbr 得用diskfix恢复分区 结果ml又没了 还得重装
页: [1] 2 3
查看完整版本: magic_win 发布 0.4.1