无忧启动论坛

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

[11-16更新]MXPtool+开源,Mobile XP 能在USB上运行的XP(XPE通用化研究)

  [复制链接]
211#
发表于 2008-7-4 21:37:52 | 只看该作者
回复

使用道具 举报

212#
 楼主| 发表于 2008-7-4 21:45:34 | 只看该作者
原帖由 cosmo 于 2008-7-4 09:37 PM 发表
相关下载在哪里?谢谢

7#MXP 下载 、FTP资源索引、MXP 各个版本的的详细说明(提供下载的)
回复

使用道具 举报

213#
发表于 2008-7-4 22:58:46 | 只看该作者
完全成功后再用!!!!!!!!
回复

使用道具 举报

214#
 楼主| 发表于 2008-7-4 23:51:30 | 只看该作者
原帖由 lisong 于 2008-7-4 10:58 PM 发表
完全成功后再用!!!!!!!!

就目前来看是成功的。:)
这东西没有完全和完美。
回复

使用道具 举报

215#
发表于 2008-7-5 00:39:51 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

216#
发表于 2008-7-5 21:27:48 | 只看该作者
说了一大段,下载地址都无法显示~~~
回复

使用道具 举报

217#
 楼主| 发表于 2008-7-5 22:46:53 | 只看该作者
原帖由 86810420112 于 2008-7-5 09:27 PM 发表
说了一大段,下载地址都无法显示~~~

刚才尝试连接发现FTP的DNS挂了。

状态:>   [2008-7-5 22:43:39] 正在获取列表“”...
状态:>   [2008-7-5 22:43:39] 正在解析主机名 99m2.vicp.net...
错误:>    [2008-7-5 22:43:41] 无法解析“99m2.vicp.net”。检测到网络已连接。请检查服务器名称的拼写,或联系服务器管理员

这个FTP是一个朋友给的,不能保证7*24都工作,请换个时间连接,抱歉。

[ 本帖最后由 happymy 于 2008-7-5 11:14 PM 编辑 ]
回复

使用道具 举报

218#
 楼主| 发表于 2008-7-5 23:34:00 | 只看该作者
这个注册表文件可以防止在部分硬件环境下关闭FBWF后第二、三次启动死机的问题。
为了保证正确写入注册表,要先配置写入权限。
此脚本不能用于Beta3  版本的MXP和使用WES 正式版  开发工具开发的系统!
  1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbehci
  2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbhub
  3. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\USBSTOR
  4. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub
  5. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub20
  6. HKEY_LOCAL_MACHINE\SYSTEM\Setup
  7. HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
复制代码
所以先要修改权限

使用setacl在FTP上有下载(setacl.exe)。
将下列带把保存成bat文件,然后执行。

注意:BAT文件一定要放在和setacl.exe相同的目录内
  1. setacl machine\SYSTEM\ControlSet001\Services\usbehci /registry /grant Everyone /full
  2. setacl machine\SYSTEM\ControlSet001\Services\usbhub /registry /grant Everyone /full
  3. setacl machine\SYSTEM\ControlSet001\Services\USBSTOR /registry /grant Everyone /full
  4. setacl machine\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub /registry /grant Everyone /full
  5. setacl machine\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub20 /registry /grant Everyone /full
  6. setacl machine\SYSTEM\Setup /registry /grant Everyone /full
  7. setacl machine\SYSTEM\MountedDevices /registry /grant Everyone /full
复制代码
运行成功的返回。
  1. C:\>setacl machine\SYSTEM\ControlSet001\Services\usbehci /registry /grant Everyone /full  
  2. SUCCESS: Specified permissions set on object <machine\SYSTEM\ControlSet001\Services\usbehci>.
  3. Finished. All operations completed successfully.
  4. C:\>setacl machine\SYSTEM\ControlSet001\Services\usbhub /registry /grant Everyone /full
  5. SUCCESS: Specified permissions set on object <machine\SYSTEM\ControlSet001\Services\usbhub>.
  6. Finished. All operations completed successfully.
  7. C:\>setacl machine\SYSTEM\ControlSet001\Services\USBSTOR /registry /grant Everyone /full
  8. SUCCESS: Specified permissions set on object <machine\SYSTEM\ControlSet001\Services\USBSTOR>.
  9. Finished. All operations completed successfully.
  10. C:\>setacl machine\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub /registry /grant Everyone /full
  11. SUCCESS: Specified permissions set on object <machine\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub>.
  12. Finished. All operations completed successfully.
  13. C:\>setacl machine\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub20 /registry /grant Everyone /full
  14. SUCCESS: Specified permissions set on object <machine\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub20>.
  15. Finished. All operations completed successfully.
  16. C:\>setacl machine\SYSTEM\Setup /registry /grant Everyone /full
  17. SUCCESS: Specified permissions set on object <machine\SYSTEM\Setup>.
  18. Finished. All operations completed successfully.
  19. C:\>setacl machine\SYSTEM\MountedDevices /registry /grant Everyone /full
  20. SUCCESS: Specified permissions set on object <machine\SYSTEM\MountedDevices>.
  21. Finished. All operations completed successfully.
复制代码
将下列内容保存成.reg文件,双击导入注册表。
  1. Windows Registry Editor Version 5.00

  2. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbehci]
  3. "Start"=dword:00000000
  4. "Group"="Boot Bus Extender"
  5. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbhub]
  6. "Start"=dword:00000000
  7. "Group"="Boot Bus Extender"
  8. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\USBSTOR]
  9. "Start"=dword:00000000
  10. "Group"="Boot Bus Extender"
  11. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub]
  12. "Service"="usbhub"
  13. "ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"
  14. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub20]
  15. "Service"="usbhub"
  16. "ClassGUID"="{36FC9E60-C465-11CF-805XX44553540000}"
  17. [HKEY_LOCAL_MACHINE\SYSTEM\Setup]
  18. "SystemPartition"=-
  19. [-HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]
复制代码
注意:这个注册表文件可以防止在部分硬件环境下关闭FBWF后第二、三次启动死机的问题。
建议每次关机前(在关闭FBWF关闭的情况下),将文件导入注册表。

[ 本帖最后由 happymy 于 2009-2-28 16:36 编辑 ]
回复

使用道具 举报

219#
 楼主| 发表于 2008-7-5 23:38:29 | 只看该作者
更新
关闭FBWF防死机脚本。#218
关闭FBWF手动重新重置驱动(实现对MXP的DIY)。。#203

终于写完了,累。先睡觉了。
回复

使用道具 举报

220#
发表于 2008-7-5 23:48:55 | 只看该作者
看了半天也没看到 下载地址,不能把下载地址搞明显点么。。。??
回复

使用道具 举报

221#
 楼主| 发表于 2008-7-6 00:59:43 | 只看该作者
原帖由 hjlali 于 2008-7-5 11:48 PM 发表
看了半天也没看到 下载地址,不能把下载地址搞明显点么。。。??

FTP 已经恢复了。
明天贴一个FTP的教程。
回复

使用道具 举报

222#
 楼主| 发表于 2008-7-6 01:00:09 | 只看该作者
7#MXP 下载 、FTP资源索引、MXP 各个版本的的详细说明(提供下载的)
回复

使用道具 举报

223#
发表于 2008-7-6 09:24:57 | 只看该作者
谁用过了?效果怎么样?我一直再用wenpe,第一次看到还有这个系统。
回复

使用道具 举报

224#
 楼主| 发表于 2008-7-6 12:39:46 | 只看该作者
原帖由 zhwx123 于 2008-7-6 09:24 AM 发表
谁用过了?效果怎么样?我一直再用wenpe,第一次看到还有这个系统。

用用看就知道了:)
回复

使用道具 举报

225#
 楼主| 发表于 2008-7-6 15:06:54 | 只看该作者
电源自动识别包及其原理

注意:本文作为MXP的开源部分文章,电源自动识别功能已经包含在MXP里。现在开源了.所以单独做了一个包给大家(MXP很早已经集成了)。
[源!]SP2电源自动识别(2180).exe
[源!]SP3电源自动识别(5508).exe

在FTP上能找到。
这一先说一下电源自动识别包的使用方法:
打开\windows文件夹。
使用windows的搜索功能查找。

关键字:ntkrnl*.exe;ntkrp*.exe;nto*.exe;hal*.dll
注意:在“更多高级选项”中选上“搜索系统文件夹”、“搜索隐藏的文件夹”、“搜索子文件夹”。
将查找的文件删除。
解压缩到MXP的安装目录即可。
注意:一定要选择是适合的版本,注意查看文件版本号。

继续之前先介绍一下电源模式:
因为硬件的原因(取决于主板类型)有多种电源。
例如CPU有单双核心、单、多路(多个物理CPU)。
就是在单核心单CPU时代还有standard PC、ACPI Uniprocessor PC等之分。
在这几种电源模式中standard PC的兼容性最好,但是有缺点,只支持单核心、单路CPU。另外不能软关机。
不能使用standard PC,虽然兼容性最好。因此就要使用电源的识别技术。
我尝试过几种。最后采用/DETECTHAL参数 让ntldr识别电源
大家都知道VISTA 现在是基于镜像恢复安装,因为这种安装速度快。
最后采用/DETECTHAL参数 让ntldr识别电源。来源于微软是VISTA BETA中所带的,因为镜像恢复安装也需要判断电源类型。所以微软在ntldr中加入了识别电源的功能。但是后来删除了。

下面说一下制作方法:
这个电源基于/DETECTHAL参数 让ntldr自动识别电源
在BOOT.ini中添加 /DETECTHAL参数。
一个修改好\BOOT.ini的例子:
  1. [boot loader]
  2. timeout=0
  3. default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
  4. [operating systems]
  5. multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /DETECTHAL
复制代码

ntldr 是通过\windows\INF\dtecthal.inf来配置的。在系统启动的过程中自动加载正确的电源模式。

  1. [Version]
  2. signature="$Windows NT$"
  3. DriverVer=07/01/2001
  4. [hal]
  5. MPS_MP         = halmps.dll
  6. MPS_UP         = halapic.dll
  7. E_ISA_UP       = halstnd.dll
  8. ACPIPIC_UP     = halacpi.dll
  9. ACPIAPIC_UP    = halaacpi.dll
  10. ACPIAPIC_MP    = halmacpi.dll

  11. [ACPIOptions]
  12. ACPIEnable = 2
  13. ACPIBiosDate = 01,01,1999
复制代码
接下来可以从XPE的数据库安装文件夹里提取下列文件:
  1. hal.dll
  2. halaacpi.dll
  3. halacpi.dll
  4. halapic.dll
  5. halmacpi.dll
  6. halmps.dll
  7. halsp.dll
  8. ntkrnlmp.exe
  9. ntkrnlpa.exe
  10. ntkrpamp.exe
  11. ntoskrnl.exe
复制代码
注意:XPE的数据库会有几个版本不同的文件。要用相同的文件版本替换。
将这些文件放到\windows\i386下
将这些文件放到\windows\system32下
注意:\windows\system32的文件要重命名。
hal.dll->halstnd.dll
ntoskrnl.exe->ntkrnlup.exe



所需要的文件我都放在电源自动识别包里了。只要直接就行了。

不过这里注意一点:ntldr识别电源并不会修改注册表,也就是说加载电源模式但不会安装电源模式,因此要在i386下放好安装电源模式要用的文件。

[ 本帖最后由 happymy 于 2008-11-14 16:17 编辑 ]
回复

使用道具 举报

226#
发表于 2008-7-6 16:39:44 | 只看该作者
先顶一下,看了不顶非君子所为!!!
我是君子先顶了。
呵呵^_^
回复

使用道具 举报

227#
发表于 2008-7-6 16:45:23 | 只看该作者
好贴,不容错过,楼主急大家所急,连考试复习的时间都支配给我们了,这精神真的是没法形容。
再顶一下,我会一直留言阁下的进展的,愿MXP越来越稳定和完善!
回复

使用道具 举报

228#
 楼主| 发表于 2008-7-6 18:30:44 | 只看该作者
更新电源自动识别包及其原理
修正了关闭FBWF手动重新重置驱动,通过本文可以实现对MXP的DIY。
回复

使用道具 举报

229#
 楼主| 发表于 2008-7-6 18:47:04 | 只看该作者
原帖由 seekyou2008 于 2008-7-6 04:45 PM 发表
好贴,不容错过,楼主急大家所急,连考试复习的时间都支配给我们了,这精神真的是没法形容。
再顶一下,我会一直留言阁下的进展的,愿MXP越来越稳定和完善!

只不过忙里偷闲挤出点时间
:)考试要放在第一位的。
回复

使用道具 举报

230#
 楼主| 发表于 2008-7-6 22:04:42 | 只看该作者
绕过BIOS支持。实现USB启动。
首先感谢深山红叶的提供这个方法。
我在这里写一下。

如果BIOS中没有对USB启动的代码。可以通过更新BIOS解决。
但是有2个问题:
1.老主板的BIOS的BIOS不好找。
2.更新BIOS属于危险操作同时操作也复杂。

所以介绍下面一个方法:
先简单说一下原理:
将USB启动的代码写到MBR里,对USB启动有研究的人都知道,如果使用MBR的代码量大兼容性好,可以在一定程度上弥补BIOS的缺陷。但是有一个限制,就是BIOS支持USB启动(某种类型)。
实际上就有一种MBR他将BIOS中USB启动的代码放到了MBR里。
不过先别激动,因为硬件原因我只是在VM虚拟机里测试。(VM不支持USB启动,将U盘用VM的USB功能挂载,不是VMDK挂载物理硬盘)。结果是不能启动但是找到了硬盘。
出现的错误信息:
  1. Invalid BOOT.INI file
  2. Booting from C:\windows
  3. NTDETECT failed
复制代码
不过对于PE来说试验成功。能启动PE。
个人估计是这个MBR对NTDETECT的支持不太好。
不过根据试验结果PE的启动还是很成功的。各位有兴趣可以看看。

好了废话说了很多,言归正传。
这个超级MBR就是PLoP Boot Manager
说实话第一次看到把0磁道沾满的MBR

PLoP Boot Manager 可以从
http://www.plop.at/en/bootmanagerdl.html
下载。
说一下PLoP Boot Manager的版本区分。
有安装版和绿色版的区分。
安装版就是提供一个工具将PLoP Boot Manager 安装到硬盘的MBR。
绿色版就是直接运行在软盘和光盘上的版本。
绿色版的安装我就不介绍了,直接将镜像写入软盘或者刻光盘,启动就行了。
先说一下安装版的安装方法:
下载plpbt50rc12cd.zip 刻盘,从CD-ROM引导

按1开始安装,按5是卸载。


按Y确认安装

安装后看看都是OK就可以了。
重启,之后会出现一个引导菜单。因为是从USB启动,所以这里选择USB。之后就会从uSB启动。



注意:软件还是RC版 有兼容性问题。




[ 本帖最后由 happymy 于 2008-7-7 08:45 PM 编辑 ]
回复

使用道具 举报

231#
发表于 2008-7-7 20:26:59 | 只看该作者
昨天做成U启
我是使用Mobile XP Full beta2bu1590(SP3)系统文件
系统附属文件bu1.6(SP3专用CAB格式)
还有自己的驱动
测试了一下 确实好使~~系统运行还是比较稳定的, 起马比PE好 启动速度比PE还要快。
听歌、看电影都OK~~
不过网卡驱动还没装上 上网没有测试过

现在问题就是再U盘容量上~~呵呵  我的1GU盘只能说刚刚够用

再想扩展就不能了。

最后说一下配置  4600+ 华擎C61主板 金士顿512M×2
回复

使用道具 举报

232#
 楼主| 发表于 2008-7-7 21:47:46 | 只看该作者
原帖由 86810420112 于 2008-7-7 08:26 PM 发表
昨天做成U启
我是使用Mobile XP Full beta2bu1590(SP3)系统文件
系统附属文件bu1.6(SP3专用CAB格式)
还有自己的驱动
测试了一下 确实好使~~系统运行还是比较稳定的, 起马比PE好 启动速度比PE还要快。
...


可以自己集成驱动,FTP上有视频教程。
:)
1G的U盘可以安装MINI,另外使用NTFS压缩(约62%的压缩率)可以较少体积。
PS:现在的U盘已经白菜价了。:)
因为是MS给的完整的系统内核,所以稳定性要比PE强。

[ 本帖最后由 happymy 于 2008-7-7 09:54 PM 编辑 ]
回复

使用道具 举报

233#
发表于 2008-7-7 23:10:37 | 只看该作者
该怎么样下载?>>>
回复

使用道具 举报

234#
 楼主| 发表于 2008-7-7 23:29:43 | 只看该作者
原帖由 lenghai 于 2008-7-7 11:10 PM 发表
该怎么样下载?>>>

FTP使用教程和地址看7楼。

[ 本帖最后由 happymy 于 2008-7-8 12:23 AM 编辑 ]
回复

使用道具 举报

235#
发表于 2008-7-8 10:59:54 | 只看该作者
昨天好不容易下了下来
我的是移动硬盘,第一个分区设定成了主盘加活动分区
按你说的方法把硬盘格式化成了2048的NTFS
可是每当开机的时候用移动硬盘启动就怎么也出现不了系统选择的界面了
只有一个光标在一个黑屏上面闪
我主板是华硕的K8UX的
不知道是哪里出了问题呢?
回复

使用道具 举报

236#
 楼主| 发表于 2008-7-8 16:04:01 | 只看该作者
原帖由 qq29814 于 2008-7-8 10:59 AM 发表
昨天好不容易下了下来
我的是移动硬盘,第一个分区设定成了主盘加活动分区
按你说的方法把硬盘格式化成了2048的NTFS
可是每当开机的时候用移动硬盘启动就怎么也出现不了系统选择的界面了
只有一个光标在一个 ...

USB 引导的问题。用看看HP的格式化工具看看。
回复

使用道具 举报

237#
 楼主| 发表于 2008-7-8 21:28:45 | 只看该作者
从7-9日-7-15日暂时停止MXP的开发!
因为我要考试。
回复

使用道具 举报

238#
发表于 2008-7-8 22:06:37 | 只看该作者
祝楼主学业进步,考个好成绩!
回复

使用道具 举报

239#
 楼主| 发表于 2008-7-9 09:25:41 | 只看该作者
原帖由 gujunxin 于 2008-7-8 10:06 PM 发表
祝楼主学业进步,考个好成绩!


谢谢。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回复

使用道具 举报

240#
 楼主| 发表于 2008-7-10 00:38:30 | 只看该作者
08-07-10 关闭FBWF防死机脚本。见第218楼。修正了由于权限导致注册表无法导入的问题。
08-07-10 修正关闭FBWF手动重新重置驱动(实现对MXP的DIY)中的部分错误。见第203楼修正了由于权限导致注册表无法导入的问题。
08-07-10 修正系统外挂载修改注册表教程(示例:去除桌面版本号显示。)添加了数值的计算方法。

抽空更新了点文档。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-24 05:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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