无忧启动论坛

标题: xp系统支持gpt分区硬盘启动 [打印本页]

作者: 510819776    时间: 2010-12-22 16:57
标题: xp系统支持gpt分区硬盘启动
本帖最后由 510819776 于 2014-5-11 15:42 编辑

让xp 32位系统支持gpt分区硬盘

我们知道32位的2003 sp2系统识别gpt分区,也能正常读取和写入。
但是xp为什么不行呢?  我把优盘搞成gpt类型的分区,结果xp果然不认。
但是我启动了ram2003后发现2003 sp2非常轻松的识别了我的优盘,拷贝数据,一切正常。
既然这样,我就知道怎么让xp和2003一样支持gpt分区的硬盘了。不需要用到gpt loader这个驱动。
好了 干活。
把2003 sp2系统的disk.sys文件拷贝出来
然后再xp系统下替换或pe下替换。
xp下替换需要把system32\dllcache里面的disk.sys重命名,xp找不到就好。如果没有这个文件那就不用管理。
xp还有个地方windows\Driver Cache\大家可以把这里清空,或者把drivers.cab文件改名。把2003的disk.sys拷贝到dllcache和driver cache里面
删除xp的system32\drivers里面的disk.sys 好了 现在系统就能识别gpt的硬盘或优盘了。
不需要用到第三方软件。
也不存在不稳定。
提供 disk.sys.gz (21.8 KB, 下载次数: 18982) disk.sys下载 版本号是5.2.3790.3959

[ 本帖最后由 510819776 于 2010-12-23 11:38 编辑 ]



当然 现在用一个叫hfs+ for windows 10.2的软件也可以做到了         
安装这个软件后   将xp所在硬盘转换为gpt 用优盘的grldr加载xp的ntldr就可以进去系统了    呵呵






注意了
因为虚拟机vm10可以支持虚拟64TB的大硬盘
无聊测试了下 发现了原来2003 sp2系统其实对于3tb的硬盘支持的也不好
用原版2003的iso启动虚拟机 和xp 一样 只能识别可怜的752G
我用win7pe启动 重新分区gpt   分割为2TB  52GB   720GB
然后对超过2TB 部分 和不超过2TB部分拷贝数据
确实会出问题
2003也会出问题
读取没问题  但是不要操作超过2TB的部分
2003对3TB硬盘支持 也不完美 此方法  读取数据是可以的 但是如果想要写入数据 那么请用
win7 吧
看来  似乎支持还是不彻底   

大家请用gpt loader驱动测试下吧 呵呵
这个东西不用破解的 用hfs+ for windows 破解版就可以了  集成gpt 呵呵
测试后汇报下吧

GPTXP.JPG (103.26 KB, 下载次数: 1103)

GPTXP.JPG

作者: coolg    时间: 2010-12-22 17:02
支持一下!
能把这个disk.sys驱动传上来吗?谢谢
作者: dvd008    时间: 2010-12-22 18:47
你的03PE,DRV目录下应该有这个版本的
作者: coolg    时间: 2010-12-22 18:54
谢谢D大提醒!!!::)
作者: andos    时间: 2010-12-22 19:24
原帖由 coolg 于 2010-12-22 18:54 发表
谢谢D大提醒!!!::)

2003 SP2的那个的MD5是不是98433302C02F1168EFB7364F8111A179?
作者: coolg    时间: 2010-12-22 19:35
正是98433302C02F1168EFB7364F8111A179
作者: 快雪时晴    时间: 2010-12-22 21:20
标题: 回复 #1 510819776 的帖子
原来复制2003的disk.sys到xp,可以支持gpt硬盘/优盘
作者: andos    时间: 2010-12-22 21:40
原帖由 快雪时晴 于 2010-12-22 21:20 发表
原来复制2003的disk.sys到xp,可以支持gpt硬盘/优盘

可能把PE/Server版的文件,就能让32位系统支持4G或以上内存,呵呵
作者: zqywult    时间: 2010-12-22 23:44
LZ:
还是把这个disk.sys驱动传上来吧,我用简易启动测试器 3.1启动老狂的03PE,没有找到这个disk.sys!!!
谢谢了!!!

哦!!找到了,把DISK.SY_改名DISK.cab,解压出来:

文件: disk.sys
大小: 39936 字节
文件版本: 5.2.3790.3959 (srv03_sp2_rtm.070216-1710)
修改时间: 2009年10月17日, 10:03:34
MD5: 98433302C02F1168EFB7364F8111A179
SHA1: DD537C3831F1267683CDB392C72B66D53FD48CA1
CRC32: EE6CD4E0

文件版本:5.2.3790.3959 (srv03_sp2_rtm.070216-1710)

是这个吧???

[ 本帖最后由 zqywult 于 2010-12-22 23:55 编辑 ]
作者: asqw101451    时间: 2010-12-23 12:38
楼主,有一个问题请教,如果把03的disk.sys直接整合到xp的iso启动光盘里,即放到i386文件夹下,是否可以直接可以支持gpt分区
作者: ones    时间: 2010-12-23 14:32
替换后会不会出现什么不稳定的情况呢?
作者: asqw101451    时间: 2010-12-23 17:32
我是小白,把disk.sys集成到xp的安装光盘里了,虚拟机安装正常,但我不知到如何将分区变成gpt的,求教。
作者: secowu    时间: 2010-12-23 17:35
原来这样,看来,可以偷梁换柱了
作者: 510819776    时间: 2010-12-23 21:04
标题: 回复 #10 asqw101451 的帖子
确实如此 ,我把ramxp系统的disk.sys替换后就能支持gpt的优盘了。
本人用优盘和移动硬盘测试都是可以的,可以正常读写,软件也没有不支持的想象。
移动硬盘能分配特殊属性,如只读属性,禁止挂载属性。
作者: 510819776    时间: 2010-12-23 21:06
标题: 回复 #11 ones 的帖子
本人用了两个星期了 没有任何异常发生。
作者: 510819776    时间: 2010-12-23 21:08
标题: 回复 #12 asqw101451 的帖子
用diskman最新版2010年6月标准版就可以把优盘移动硬盘等转换为gpt分区,数据不会破坏。
此后你就可以知道了。其实也可以用windows下的vboot驱动挂载一个虚拟盘,没必要虚拟机。
最新版的adds也支持gpt和mbr的转换了。
作者: siming0803    时间: 2010-12-24 02:21
这个不错 楼主是百事?
作者: fujianabc    时间: 2010-12-24 09:58
楼主的成果是大发现了!

不过提醒一下楼主,gpt loader还是有存在意义的。
gpt loader能让xp支持2TB以上的gpt硬盘。利用2003的系统文件替换xp的,关键还是在于能否读写超过2TB的硬盘,而不是能否支持GPT,毕竟小于2T的硬盘一般不会去用gpt的。

不知楼主这样替换2003的系统文件能否让xp支持访问超过2T的硬盘?估计现在没什么人有测试条件,注意2TB是指2*2^40,不是2*10^12
作者: blank007    时间: 2010-12-24 13:00
各位兄台:这种方法能不能用在 win xp sp2 内核 的 winpe 中啊?我用 win03 的 disk.sys 替换了 winpe (winxp sp2)中的 disk.sys 。发现:如果在启动前接入活动硬盘(gpt分区表),winpe 会停滞不前。如果在启动后接入,似乎又不能识别 。不知是什么原因?
  另外,我发现 disk.sys 还需要 classpnp.sys 支持。因此,如果这种方式可用,恐怕也要替换相应的 classpnp.sys ,以尽可能增大兼容性。

   请各位兄台研究一下。
作者: 510819776    时间: 2010-12-28 15:24
标题: 回复 #18 fujianabc 的帖子
个人认为xp不支持大于2T的分区的原因就是因为超过2TB的硬盘不能用mbr方式来分区,必须用gpt管理模式。所以上面的disk.sys能够完全取代gpt loader的驱动。我测试下在告诉你们结论。
如果xp不支持大于2T的硬盘,这个貌似不至于吧。
作者: 2011pojie    时间: 2011-2-14 15:05
特意注册来感谢楼主,通过楼主的方法,我在xp下成功使用4T的外挂移动硬盘(2块2T硬盘raid0)。
作者: 2010DOS622    时间: 2011-2-14 20:27
现在改用xppe,喜欢楼主
作者: 33445566    时间: 2011-3-14 15:49
原帖由 510819776 于 2010-12-22 16:57 发表
让xp 32位系统支持gpt分区硬盘

xp下替换需要把system32\dllcache里面的disk.sys重命名,xp找不到就好。如果没有这个文件那就不用管理。
xp还有个地方windows\Driver Cache\大家可以把这里清空,或者把drivers.cab文件改名。把2003的disk.sys拷贝到dllcache和driver cache里面
删除xp的system32\drivers里面的disk.sys 好了 现在系统就能识别gpt的硬盘或优盘了。 ...


虚拟机XP系统,用此方法修改后重启蓝屏
作者: momp    时间: 2011-4-20 12:43
硬盘还是无法识别 郁闷。
作者: flamingman    时间: 2011-4-21 10:15
支持,用此方法解决了xp挂西数64m 2t 4碟 512簇移动硬盘的问题。
作者: shengbang    时间: 2011-7-21 19:02
有价值,收藏!!!!
作者: dark_enigma    时间: 2012-5-13 15:54
试了,确实认GPT的盘,还没试在大于2T的硬盘上的表现
你们说要不要把partmgr.sys也换掉,和2003的disk.sys配对使用,是不是兼容性更好呢

顺势想一想,不知道如果用win7的相应文件,会不会有更好的效果呢
作者: zsqzsqzsq    时间: 2012-7-29 02:33
单个3TB硬盘GPT分区:
在设备管理器中能看到硬盘。
在磁盘管理器中不能看到硬盘。
作者: 超无限    时间: 2012-7-29 14:51
楼主,有一个问题请教,如果把03的disk.sys直接整合到xp的iso启动光盘里,即放到i386文件夹下,是否可以直接可以支持gpt分区
作者: zsqzsqzsq    时间: 2012-8-2 16:43
标题: 关于32位Windows XP系统支持3TB硬盘的测试
关于32位Windows XP系统支持3TB硬盘的测试
-----------------------------------------------------------
1.测试的硬件环境
  THINKPAD X61
  X6系列底座
  X6系列底座光驱位硬盘托架
  ST3000DM001希捷3TB硬盘 +ORICO 7618SUS3硬盘盒(USB3.0+ESATA)
  WD20EARS西数2TB硬盘 + 元谷科技存储巴士T280硬盘盒(USB3.0)
  自制的SATA硬盘供电电源(12V转5V1.2A)  
2.题外功课:破解X6系列底座光驱位硬盘托架(首创)
  a. X6系列底座光驱位硬盘托架有一个功能,会检测硬盘是会装在托架上,如果没有检测到,
     则BIOS程序不会探测挂在这个SATA口上的硬盘,对于2.5英寸SATA硬盘没有问题,但对于3.5英寸SATA硬盘
     则没办法通过SATA延长线(数据线)接入硬盘托架SATA口。
  b. 2.5英寸SATA硬盘和3.5英寸SATA硬盘供电不一样,前则只需要+5V,后者需要+12V和+5V,
     这就是为什么要自制的SATA硬盘供电电源的原因。
  c. 通过拆开硬盘托架检查电路板发现,检测硬盘是否装入是通过SATA电源口第5脚做到的,如果第5脚对地短路
     则系统会认为硬盘已装到托架上,如果开路,系统则认为硬盘没有装到托架上。因此破解办法是把第5脚对
     地短路。这样3.5英寸SATA硬盘也可以接入了。
  d. 使用3.5英寸SATA硬盘有一个前提:就是在开机要把硬盘先接上并上电,否则BIOS程序会侦测硬盘错误。
     另还发现一个特别之处就是无法通过硬盘盒(ORICO 7618SUS3)的ESATA口接入,必须是裸硬盘接入。
     而X61的主SATA口则可以通过硬盘盒(ORICO 7618SUS3)的ESATA口接入
     
3.测试的软件环境
  a.Windows 7 sp1 x64 + Windows SP3双系统,并装好X61的所有驱动。
  b.DiskGenius 3.8专业版
  c.Windows 2003 SP2的disk.sys文件
  d.Paragon_GPT_Loader.msi
4.测试准备
  将ST3000DM001和WD20EARS硬盘用DiskGenius 3.8专业版分别格式化为一个GPT分区。
5.原系统的测试情况
  a.将ST3000DM001接入硬盘托架SATA口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中被识别为一个746.52G的GPT保
    护分区,无法为这个磁盘分配盘符。
  b.将WD20EARS接入硬盘托架SATA口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的GPT保
    护分区,但无法为这个磁盘分配盘符。
  c.将ST3000DM001通过硬盘盒接入USB口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中无法识别这个磁盘。
  d.将WD20EARS通过硬盘盒接入USB口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的GPT保
    护分区,但无法为这个磁盘分配盘符。
6.disk.sys替换法的测试情况
    在Windows 7 sp1 x64系统将Windows SP3系统%windir%\system32\drivers\disk.sys
    替换为Windows 2003 SP2的disk.sys文件,替换前做好原disk.sys备份。
    同时将%windir%\Driver Cache\i386\driver.cab和sp3.cab重命名,防止系统将disk.sys恢复。
  a.将ST3000DM001通过硬盘盒接入USB口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中无法识别这个磁盘。
  b.将WD20EARS通过硬盘盒接入USB口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的分区,
    会为这个磁盘分配盘符,可以正常使用。
  c.将ST3000DM001接入硬盘托架SATA口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中被识别为一个2794.52G的分区,
    会为这个磁盘分配盘符,可以正常使用。
  d.将WD20EARS接入硬盘托架SATA口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的分区,
    会为这个磁盘分配盘符,可以正常使用。
7.Paragon_GPT_Loader法的测试情况
    恢复Windows SP3系统原版的%windir%\system32\drivers\disk.sys,
    安装Paragon_GPT_Loader.msi
  a.将ST3000DM001接入硬盘托架SATA口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中被识别为一个2794.52G的分区,
    会为这个磁盘分配盘符,可以正常使用。
  b.将WD20EARS接入硬盘托架SATA口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的分区,
    会为这个磁盘分配盘符,可以正常使用。
  c.将ST3000DM001通过硬盘盒接入USB口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中无法识别这个磁盘。
  d.将WD20EARS通过硬盘盒接入USB口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的分区,
    会为这个磁盘分配盘符,可以正常使用。
8.结论
  要在32位Windows XP SP3下使用3TB硬盘(数据盘),必须具备以下条件:
    a.使用GPT硬盘格式
    b.Paragon_GPT_Loader或disk.sys替换法
    c.硬盘必须是内置硬盘(SATA或IDE接口接入),不能是外置硬盘(USB接口接入)

                                                   ZSQZSQZSQ
                                                    2012.08.02
作者: zsqzsqzsq    时间: 2012-8-2 16:44
标题: 关于32位Windows XP系统支持3TB硬盘的测试
关于32位Windows XP系统支持3TB硬盘的测试
-----------------------------------------------------------
1.测试的硬件环境
  THINKPAD X61
  X6系列底座
  X6系列底座光驱位硬盘托架
  ST3000DM001希捷3TB硬盘 +ORICO 7618SUS3硬盘盒(USB3.0+ESATA)
  WD20EARS西数2TB硬盘 + 元谷科技存储巴士T280硬盘盒(USB3.0)
  自制的SATA硬盘供电电源(12V转5V1.2A)  
2.题外功课:破解X6系列底座光驱位硬盘托架(首创)
  a. X6系列底座光驱位硬盘托架有一个功能,会检测硬盘是会装在托架上,如果没有检测到,
     则BIOS程序不会探测挂在这个SATA口上的硬盘,对于2.5英寸SATA硬盘没有问题,但对于3.5英寸SATA硬盘
     则没办法通过SATA延长线(数据线)接入硬盘托架SATA口。
  b. 2.5英寸SATA硬盘和3.5英寸SATA硬盘供电不一样,前则只需要+5V,后者需要+12V和+5V,
     这就是为什么要自制的SATA硬盘供电电源的原因。
  c. 通过拆开硬盘托架检查电路板发现,检测硬盘是否装入是通过SATA电源口第5脚做到的,如果第5脚对地短路
     则系统会认为硬盘已装到托架上,如果开路,系统则认为硬盘没有装到托架上。因此破解办法是把第5脚对
     地短路。这样3.5英寸SATA硬盘也可以接入了。
  d. 使用3.5英寸SATA硬盘有一个前提:就是在开机要把硬盘先接上并上电,否则BIOS程序会侦测硬盘错误。
     另还发现一个特别之处就是无法通过硬盘盒(ORICO 7618SUS3)的ESATA口接入,必须是裸硬盘接入。
     而X61的主SATA口则可以通过硬盘盒(ORICO 7618SUS3)的ESATA口接入
     
3.测试的软件环境
  a.Windows 7 sp1 x64 + Windows SP3双系统,并装好X61的所有驱动。
  b.DiskGenius 3.8专业版
  c.Windows 2003 SP2的disk.sys文件
  d.Paragon_GPT_Loader.msi
4.测试准备
  将ST3000DM001和WD20EARS硬盘用DiskGenius 3.8专业版分别格式化为一个GPT分区。
5.原系统的测试情况
  a.将ST3000DM001接入硬盘托架SATA口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中被识别为一个746.52G的GPT保
    护分区,无法为这个磁盘分配盘符。
  b.将WD20EARS接入硬盘托架SATA口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的GPT保
    护分区,但无法为这个磁盘分配盘符。
  c.将ST3000DM001通过硬盘盒接入USB口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中无法识别这个磁盘。
  d.将WD20EARS通过硬盘盒接入USB口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的GPT保
    护分区,但无法为这个磁盘分配盘符。
6.disk.sys替换法的测试情况
    在Windows 7 sp1 x64系统将Windows SP3系统%windir%\system32\drivers\disk.sys
    替换为Windows 2003 SP2的disk.sys文件,替换前做好原disk.sys备份。
    同时将%windir%\Driver Cache\i386\driver.cab和sp3.cab重命名,防止系统将disk.sys恢复。
  a.将ST3000DM001通过硬盘盒接入USB口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中无法识别这个磁盘。
  b.将WD20EARS通过硬盘盒接入USB口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的分区,
    会为这个磁盘分配盘符,可以正常使用。
  c.将ST3000DM001接入硬盘托架SATA口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中被识别为一个2794.52G的分区,
    会为这个磁盘分配盘符,可以正常使用。
  d.将WD20EARS接入硬盘托架SATA口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的分区,
    会为这个磁盘分配盘符,可以正常使用。
7.Paragon_GPT_Loader法的测试情况
    恢复Windows SP3系统原版的%windir%\system32\drivers\disk.sys,
    安装Paragon_GPT_Loader.msi
  a.将ST3000DM001接入硬盘托架SATA口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中被识别为一个2794.52G的分区,
    会为这个磁盘分配盘符,可以正常使用。
  b.将WD20EARS接入硬盘托架SATA口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的分区,
    会为这个磁盘分配盘符,可以正常使用。
  c.将ST3000DM001通过硬盘盒接入USB口.
    硬件管理器能识别ST3000DM001,但在磁盘管理器中无法识别这个磁盘。
  d.将WD20EARS通过硬盘盒接入USB口.
    硬件管理器能识别WD20EARS,在磁盘管理器中被识别为一个1863.02G的分区,
    会为这个磁盘分配盘符,可以正常使用。
8.结论
  要在32位Windows XP SP3下使用3TB硬盘(数据盘),必须具备以下条件:
    a.使用GPT硬盘格式
    b.Paragon_GPT_Loader或disk.sys替换法
    c.硬盘必须是内置硬盘(SATA或IDE接口接入),不能是外置硬盘(USB接口接入)


                                                                 ZSQZSQZSQ
                                                                  2012.08.02
作者: katar1024    时间: 2013-1-26 14:42
标题: 回复 #1 510819776 的帖子
自用1.0PE集成与测试成功!
感谢楼主!
作者: gzadsl    时间: 2013-1-30 18:42
学到野了,谢谢
作者: 2013happyicon    时间: 2013-2-5 13:42
XP32 用 disk.sys+GPT格式+内置硬盘 (在W7下分割再拿到XP32用)
做一分割,写资料超过2T就出问题,要重做分割
做二分割(2000+747),一写资料到747这个分割就出问题,要重做分割 (写到2T这里没问题)

copy 2T要很久,我搞了4次,总有一天还是要用W7。

[ 本帖最后由 2013happyicon 于 2013-2-6 14:59 编辑 ]
作者: 2011150    时间: 2013-2-22 17:00
一个文件的原因,知道也好。
作者: 斐扉    时间: 2013-3-26 20:30
正好买了个3T硬盘,xp下死活只认7百多G,试试了。
作者: tlze    时间: 2013-4-12 15:20
谢谢!下载来用用。
作者: peihong998    时间: 2013-4-12 15:34
谢谢楼主分享!下载试试看。
作者: 夜夜夜夜    时间: 2013-7-5 16:33
楼主 您好 我按你写的 替换了文件 还是不能识别啊 4T移动硬盘用的GTP分区 分了4个去 插上了为什么没有反应?USB可以认 但是在硬盘管理里面看不到硬盘
作者: zds1210    时间: 2013-7-6 10:47
这个简单真正有效,我测试过成功了。我的全打包统一PE,就是用原版的老毛桃扬州PE,不识别gdt磁盘,后来自己更新后搞定,也可以挂载esp
分区了、
作者: youxihehe    时间: 2013-7-8 09:13
来试试,这个东东!
作者: chumu2012    时间: 2013-7-8 12:35
我看了一下相关的教程
替换后启动XP会检测这个是不是自己的DISK.SYS吧
貌似是那个什么SFC之类的东西作怪
作者: CMVCMV    时间: 2013-7-17 11:58
希望能够正常使用
作者: StoneYU    时间: 2013-7-17 12:30
楼主,有一个问题请教,如果把03的disk.sys直接整合到xp的iso启动光盘里,即放到i386文件夹下,是否可以直接可以支持gpt分区
作者: fukystone    时间: 2013-7-24 11:35
貌似有这样一个问题,各位老大看看怎么解决:
1、不替换disk.sys,在xppe下可以用diskgenius对gpt硬盘进行分区操作--虽然分好的区不能被xppe识别
2、替换disk.sys,在xppe下用diskgenius对gpt硬盘进行分区操作会报错(0000001,函数不正确),但是可以识别已经分好区的gpt硬盘。
作者: NicTense    时间: 2013-7-24 12:05
fukystone 发表于 2013-7-24 11:35
貌似有这样一个问题,各位老大看看怎么解决:
1、不替换disk.sys,在xppe下可以用diskgenius对gpt硬盘进行 ...

disk.sys貌似从classpnp.sys调用某些函数,你试一下把这个文件也换成2003同版本的看行不行
作者: 2010techon    时间: 2013-7-24 13:15
最好不要直接文件替换,内核里还有哪些东西可能需要修改,否则可能导致稳定性或兼容问题
作者: fukystone    时间: 2013-7-24 14:12
NicTense 发表于 2013-7-24 12:05
disk.sys貌似从classpnp.sys调用某些函数,你试一下把这个文件也换成2003同版本的看行不行

不行。
这个文件牵涉就大了,它会造成cdrom.sys文件版本不对,即使把cdrom.sys替换为2003的也不行
作者: NicTense    时间: 2013-7-24 15:05
fukystone 发表于 2013-7-24 14:12
不行。
这个文件牵涉就大了,它会造成cdrom.sys文件版本不对,即使把cdrom.sys替换为2003的也不行

storport.7z (41.83 KB, 下载次数: 22)

搞不懂这种底层级别的关系
这个storport.sys不知道你驱动里有没有
这个按理说xp是不支持的,所以正常情况下应该是用不着的
但是换了disk.sys之后我就不清楚了
虽然解决的可能性不大,不过如果驱动力没这个文件不妨试一下

作者: fukystone    时间: 2013-7-24 19:08
NicTense 发表于 2013-7-24 15:05
搞不懂这种底层级别的关系
这个storport.sys不知道你驱动里有没有
这个按理说xp是不支持的,所以正 ...

还是不行。
比较搞笑的是,跟踪diskgenius的结果,发现它既没有调用disk.dll,也没有调用classpnp.dll。
跟踪的结果,所谓的函数大概就是“ioctl_disk_set_drive_layout_ex”,唉,果然超出我的能力范围啦……
作者: fukystone    时间: 2013-7-24 19:19
本帖最后由 fukystone 于 2013-7-24 19:20 编辑

嗯,进一步的分析,发现虽然报错,但是分区其实是已经完成的--重启后发现分区正常。
所以报错应该是diskgenius重新读取分区表信息失败造成的……
所以这个修改还是值得的,天使可以考虑加入这个补丁。同时包括那个mountesp,只有6k,值得加入
作者: NicTense    时间: 2013-7-24 20:08
mountesp和显示隐藏分区的处理方式一样需要的时候手动点比较好,不去操作他的时候还是不要挂载efi分区比较好,避免误操作
$IOCTL_DISK_SET_DRIVE_LAYOUT_EX不知道是不是在user32.dll里,我电脑上没有任何编程工具,我现在也不知道用啥个工区去查那些库文件包含了哪些函数了
这个函数处理GPT分区的时候要用到,而xp本身不支持GPT分区,所以可能完美的处理方式是把2003的这个函数提出来,加到(或者替换)xp里的这个函数,对应的文件不知道是不是user32.dll,我好多年没编程了,全忘光了,现在也没可能花时间去学习这些用不着的东西了,等编程高手来弄吧
官方对这个函数的介绍有这么一段
When specifying a GUID partition table (GPT) as the PARTITION_STYLE of the CREATE_DISK structure, an application should wait for the MSR partition arrival before sending the IOCTL_DISK_SET_DRIVE_LAYOUT_EX control code.

作者: freesoft00    时间: 2013-7-25 13:14
NicTense 发表于 2013-7-24 20:08
mountesp和显示隐藏分区的处理方式一样需要的时候手动点比较好,不去操作他的时候还是不要挂载efi分区比较好 ...

DLL Export Viewer这个软件可以看它的函数吧
作者: NicTense    时间: 2013-7-25 13:30
freesoft00 发表于 2013-7-25 13:14
DLL Export Viewer这个软件可以看它的函数吧

呵呵,下载了,有空研究一下

guid分区表对硬盘大小有没有限制的,我有一堆没用的几十G的硬盘可以拿来玩,坏了就直接丢了,也不怕弄坏数据
作者: kcyou    时间: 2013-7-26 00:51
我发现tangope新老版本里disk.sys和这个是一样的,本事就支持GPT分区,我将U盘分成这种分区类型,能完美识别和操作。
作者: NicTense    时间: 2013-7-26 01:21
列了3万多个函数出来,竟然没有那个函数

fukystone有没有试过原版TangoPE有没有这个问题?
作者: fukystone    时间: 2013-7-26 10:17
NicTense 发表于 2013-7-26 01:21
列了3万多个函数出来,竟然没有那个函数

fukystone有没有试过原版TangoPE有没有这个问题?

试过,原版也是一样的。
不过其实不影响使用,这个不改也可以,只是报个错而已。一般情况下,我们分完区也会重启一下的……
作者: lorhorn    时间: 2013-7-27 14:58
DISK.SY_  文件替换法太给力了,xppe重新焕发了生机,可以识别guid 分区硬盘。  昨晚自己连续测试了两块小硬盘,用DG专业版分别无损转换guid 分区,xppe 就不能识别和读写了,只能通过分区软件看到。把DISK.SY_替换进的xppe,就能正常读写和操作guid分区的硬盘(现在就差拿真正的GPT大容量硬盘来测试替换后的xppe)。   
   这对于winxp操作系统同样也绝对给力。
作者: lorhorn    时间: 2013-7-27 15:47
fukystone 发表于 2013-7-24 11:35
貌似有这样一个问题,各位老大看看怎么解决:
1、不替换disk.sys,在xppe下可以用diskgenius对gpt硬盘进行 ...

昨天测试时,也是这个思路,2块小硬盘,不替换disk.sy_  - xppe,DG分为GPT区,xppe不能识别和操作该硬盘了,但DG和其他分区软件能识别该硬盘的存在。  然后xppe替换了disk.sy_,进行正常读写操作,于是用DG想无损转回原来的分区格式,出现错误提示(参数溢出),点自动查找错误并恢复按键,DG自动查找给出的原因是从guid转回mgr,硬盘未确认活动分区 。     正常转回mgr,数据安好。
作者: lorhorn    时间: 2013-7-27 15:49
两块硬盘都出现错误提示,从guid转回mgr 确认下活动分区就OK,DG错误提示就没了
作者: NicTense    时间: 2013-8-6 15:11
fukystone 发表于 2013-7-26 10:17
试过,原版也是一样的。
不过其实不影响使用,这个不改也可以,只是报个错而已。一般情况下,我们分完区 ...

我突然发现之前我的逻辑是错的

如果有空的话,你试一下把 partmgr.sys 换成 2003的

有可能就好了,我猜测
作者: 527104427    时间: 2013-8-6 16:30
NicTense 发表于 2013-8-6 15:11
我突然发现之前我的逻辑是错的

如果有空的话,你试一下把 partmgr.sys 换成 2003的

刚刚测试,如果将XP的DISK.SYS换成2003的,可以发现和读写GPT分区,但用DG无法创建GPT分区。

如果不换DISK.SYS,XP不能发现和读写GPT分区,但用DG可以创建GPT分区。

更换PARTMGR.SYS后与上面结果一样,无改善。
作者: freesoft00    时间: 2013-8-6 16:36
看来换这个还有副作用,那么换不换无所谓了。不换的感觉更好。

作者: fukystone    时间: 2013-8-6 17:11
527104427 发表于 2013-8-6 16:30
刚刚测试,如果将XP的DISK.SYS换成2003的,可以发现和读写GPT分区,但用DG无法创建GPT分区。

如果不换 ...

可以创建的,只是需要重启才能看到。dg分区后不支持直接在资源管理器中查看
作者: fukystone    时间: 2013-8-6 17:12
NicTense 发表于 2013-8-6 15:11
我突然发现之前我的逻辑是错的

如果有空的话,你试一下把 partmgr.sys 换成 2003的

换了,效果一样的。其实可以不用管这个问题了,只是报错而已,不耽误什么。分区是可以分的
作者: 527104427    时间: 2013-8-6 17:35
fukystone 发表于 2013-8-6 17:11
可以创建的,只是需要重启才能看到。dg分区后不支持直接在资源管理器中查看

不会吧?我的不可以哦,重启了还是一样,MBR磁盘。

1.png (106.06 KB, 下载次数: 94)

1.png

2.png (93.58 KB, 下载次数: 96)

2.png

3.png (96.77 KB, 下载次数: 114)

3.png

作者: fukystone    时间: 2013-8-6 18:22
527104427 发表于 2013-8-6 17:35
不会吧?我的不可以哦,重启了还是一样,MBR磁盘。

哦,我不是转换,是直接快速分区了。
我这边试了一下,转换也不好用。
作者: freesoft00    时间: 2013-8-6 18:57
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2
clonecd 的这个工具不是可以挂载gpt分区吗,这样的话,还是保持xp默认的驱动文件就可以了
作者: 527104427    时间: 2013-8-6 19:20
fukystone 发表于 2013-8-6 18:22
哦,我不是转换,是直接快速分区了。
我这边试了一下,转换也不好用。

快速分区怎么弄成GPT呢?找半天搞不清楚……
作者: fukystone    时间: 2013-8-6 20:54
527104427 发表于 2013-8-6 19:20
快速分区怎么弄成GPT呢?找半天搞不清楚……

呵呵,让你误解了。
我那个分区原来就是gpt的,我试了下重新分区有问题。
确实原先是mbr的转换不过来。
作者: 2012qnmd    时间: 2013-8-6 21:00
GPT_LOADER.SYS
这个是专门支持xp的,不如试一试它
作者: 527104427    时间: 2013-8-6 21:34
2012qnmd 发表于 2013-8-6 21:00
GPT_LOADER.SYS
这个是专门支持xp的,不如试一试它

请问哪有下载?能否提供?
作者: 桐城福临电脑    时间: 2013-8-9 21:11
我用了替换文件的方法,终于让我的3T硬盘被XP 32位识别了!但还是只能把3T硬盘作为从盘,能不能实现在这个3T硬盘上装系统呢?
作者: 2011yumeiren    时间: 2013-8-9 22:55
先收藏了!
作者: wodewy    时间: 2013-8-10 13:41
试试看看
作者: musicman    时间: 2013-8-26 19:53

作者: jaredex    时间: 2013-9-12 14:49
谢啦,楼主
作者: xwan    时间: 2013-9-13 16:02
谢谢分享,这个可解决了大问题
作者: 2011shamashii    时间: 2013-9-30 13:14
提问:此方法能够拷贝、读取2T以上文件不出错么?有没有人实际测试过?
作者: 剋星    时间: 2013-10-16 11:59
system32\dllcache 找不到
作者: one1one    时间: 2013-10-17 10:08
应该支持,发现这么好方法。
作者: lvzj168    时间: 2013-11-14 14:19
感谢楼主的分享!
作者: xhel    时间: 2013-11-15 11:04
WIN7 32系统也能认识GPT?
作者: qiwei02527    时间: 2013-11-30 21:34
不知道为什么,我按照上面的方法操作以后,只能认出2048.00GB硬盘,还有746.51gB的硬盘识别不出来,还得用希捷专用工具才能识别,可是,我的另一块东芝3tb硬盘就没有专用工具,所以,找不到那746.51g空间,请问这是为什么呀?谢谢!
作者: lighyea    时间: 2013-12-8 17:57
可以偷梁换柱了
作者: shilongmengfeng    时间: 2013-12-30 16:49
我是用3TB硬盘做数据盘,为什么我复制好后,关机,插上3TB硬盘,然后开机,在进XP读条时就重启,不断重启,求大神解答
作者: aleeee123    时间: 2014-1-6 11:04
感谢lz
作者: iCC2083    时间: 2014-1-9 21:50
好东西  谢谢
作者: mczy    时间: 2014-2-10 16:27
原来复制2003的disk.sys到xp
作者: xiazhuceyong    时间: 2014-2-26 20:56
先感谢一下。XP党表示压力山大。。。
不过我用着发现不少问题,首先是USB外接,弄和不弄一样,无法通过usb硬盘盒识别3TB+硬盘(设备管理器有,磁盘管理器无)(估计可能和xp的usb通用磁盘驱动有关);
然后是sata接时,必须使用IDE模式,AHCI下XP无法识别,同样是设备管理器有,磁盘管理器无(估计可能和xp的ahci通用磁盘驱动有关)。。。
好吧,老老实实用SATA内置且BIOS调回IDE模式吧,可最郁闷来了,4TB的空盘分一个GPT区后xp显示3.6TB GPT卷无误,部分磁盘工具(比如hd tunes,内置磁盘碎片管理)却只能显示1.8TB。我往里传到约2TB文件时突然显示“???损坏”什么的,之后点磁盘就让你格式化了。。。我换到别人的win8上,一开机就要磁盘检查,我取消后进系统发现和xp一样显示不了文件,DiskGenius也显示无分区错误但要格式化。。。重启交给windows 8的磁盘检查,等半天进了系统后剩下数个小文件和不完整的文件夹了,应该是把那约2tb的东西都碎片化处理了。。。还好文件我都有的,要不然可太危险了!!我现在不敢让xp用了,怕又出问题

有没有高手解释一下? 有没人用3TB+硬盘的,试试看xp能不能读写全啊,做好备份哦!
作者: adam0010    时间: 2014-3-10 10:43
谢谢,正需要
作者: yang77    时间: 2014-3-20 19:58
xiazhuceyong 发表于 2014-2-26 20:56
先感谢一下。XP党表示压力山大。。。
不过我用着发现不少问题,首先是USB外接,弄和不弄一样,无法通过usb ...

也是这个问题:
单个3TB硬盘GPT分区:
在设备管理器中能看到硬盘。
在磁盘管理器中不能看到硬盘。
作者: yds8999    时间: 2014-3-21 18:37
留个记号看看有不有用。
作者: trueKissMoon    时间: 2014-4-3 22:36
我的深度XP插入3T盘居然识别出来,但一个LBA居然是1024……我不知道这现像代表了什么,先下这个,不行就用你的方法

作者: 510819776    时间: 2014-4-4 22:44
xiazhuceyong  2014-2-26 20:56
лXP
USBusb ...

     2003
2t bios.й  
作者: 2012abc.    时间: 2014-4-6 00:22
谢谢分享~~~~~~
作者: 2012???    时间: 2014-4-17 16:47
很不错 学习了
作者: freedomiris    时间: 2014-5-4 15:07
谢谢楼主分享!!
作者: freedomiris    时间: 2014-5-4 15:15
谢谢楼主分享!!
作者: 無話可說    时间: 2014-5-8 10:58
楼主在吗?我删除xp的system32\drivers里面的disk.sys电脑直接启动不了了。 在线等回复.急急急.




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3