QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6602|回复: 38

magic_win 发布 0.4.1

[复制链接]
发表于 2010-2-20 22:23:45 | 显示全部楼层 |阅读模式
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 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

使用道具 举报

 楼主| 发表于 2010-2-21 09:21:43 | 显示全部楼层
eee,几乎不会出现那种情况,因为实现是这样的:

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

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

使用道具 举报

 楼主| 发表于 2010-2-21 09:26:52 | 显示全部楼层
xx_zz
能否麻烦你把安装Grub的时候,右面的所有信息发给我看看。
上面提到的哪个磁盘信息测试程序,将测试结果也发来看看。
回复

使用道具 举报

发表于 2010-2-21 11:45:21 | 显示全部楼层
晚上回家就发
回复

使用道具 举报

 楼主| 发表于 2010-2-21 12:14:14 | 显示全部楼层
用这个程序测试吧,这个测试程序屏蔽了所有的中断。一定会输出所能分析到的信息。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2010-2-21 15:28:12 | 显示全部楼层
1 开了UAC就没法使用bcdedit了……希望能够像那些程序的安装程序那样,自动提权

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

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

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

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

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

使用道具 举报

发表于 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) 成功..

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2010-2-21 22:17:09 | 显示全部楼层
e,楼上的错误很经典
因为我外加的那套解析磁盘出现错误
(WW)警告!因为您指定的盘符是错误盘符,以常规方式解析C:\menu.lst中所需磁盘标识
(WW)警告!我们以常规方式为你解析grub标识磁盘为(hd0,23)

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

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

使用道具 举报

 楼主| 发表于 2010-2-21 22:25:07 | 显示全部楼层

Grub4Dos for MagicLinux硬盘安装0.2.0rc2

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2010-2-21 22:28:18 | 显示全部楼层
原帖由 haddy 于 2010-2-21 15:28 发表
1 开了UAC就没法使用bcdedit了……希望能够像那些程序的安装程序那样,自动提权

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

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

没有 ...

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

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

使用道具 举报

发表于 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) 成功..
回复

使用道具 举报

 楼主| 发表于 2010-2-21 22:35:41 | 显示全部楼层

回复 12# xx_zz 的帖子

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

使用道具 举报

发表于 2010-2-24 14:23:20 | 显示全部楼层
我昨天用它装的ml 一切正常 只是 能不能加入备份恢复mbr的功能
回复

使用道具 举报

发表于 2010-2-24 14:37:10 | 显示全部楼层
我重装window时 找不到mbr 得用diskfix恢复分区 结果ml又没了 还得重装
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-25 17:03 , Processed in 0.094670 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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