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 编辑 ] 虚拟机中与XP建立双系统测试通过:) 。但是无意中发现一个小问题,在WIN下如果手动分配过盘符的话,grub下有可能出错。例如由于特殊需要,我在WIN下将装有iso的分区设置为Z:,重启进入安装程序,grub就会去hd(0,23)寻找镜像…… eee,几乎不会出现那种情况,因为实现是这样的:
分析硬盘的整个分区表链,按照分区在分区表链的先后顺序排序,对扩展分区做+3处理,这样(hdx,x)是在物理偏移位置计算的。
枚举所有盘符,得到盘符名称和分区物理偏移地址,与上面在分区表链的所有盘符对比,找到物理偏移地址相同的盘符,对应分配grub标识的硬盘,即(hdx,x)。
只有在driver_info_vc6_2mgc.rar
这个测试这个程序的时候出现严重错误,即没有任何磁盘信息显示的时候才会按照盘符字母来分配。
这个时候认为C:为主分区,其他为扩展分区中的逻辑分区。 xx_zz
能否麻烦你把安装Grub的时候,右面的所有信息发给我看看。
上面提到的哪个磁盘信息测试程序,将测试结果也发来看看。:? 晚上回家就发:) 用这个程序测试吧,这个测试程序屏蔽了所有的中断。一定会输出所能分析到的信息。 1 开了UAC就没法使用bcdedit了……希望能够像那些程序的安装程序那样,自动提权
2 grldr覆盖……感觉还是mildr和menu.mgc比较好
3 会弹出什么没有插入的(A:) 我家电脑可没有软盘驱动器哦,哪里冒出来的?希望改进
没有发现bug 很流畅啊^_^
嗯……话说,和KDE的是分开做的么?
[ 本帖最后由 haddy 于 2010-2-21 15:35 编辑 ] 添加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) 成功.. e,楼上的错误很经典
因为我外加的那套解析磁盘出现错误
(WW)警告!因为您指定的盘符是错误盘符,以常规方式解析C:\menu.lst中所需磁盘标识
(WW)警告!我们以常规方式为你解析grub标识磁盘为(hd0,23)
最后没有办法才以磁盘字母解析。
今天我将外加磁盘解析的那块又做了一下改进,麻烦xx_zz再以这种方式测试一下:)
Grub4Dos for MagicLinux硬盘安装0.2.0rc2
改进:对外加的分析磁盘工程做了调整,在发生单个磁盘解析错误的时候不会直接返回错误,而是跳过当前磁盘继续对下一个解析。
获得所有的可引导磁盘盘符(0x80标识),并以boot.ini(xp)bootmgr(vista)为标准获得所有windows引导磁盘盘符,两相对比,得出可引导文件的所在盘符(因为系统引导文件所在盘符和系统安装盘符有时是不统一的)。
如果得到多个win可引导盘符,只取小盘符。 原帖由 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 编辑 ] 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) 成功..