无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
查看: 17635|回复: 21
打印 上一主题 下一主题

[发布] 转个WinVBlock新驱动(更新了inf文件),解决PFN_LIST_CORRUPT 0x0000004e蓝屏问题

  [复制链接]
跳转到指定楼层
1#
发表于 2015-4-13 23:12:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这段时间折腾vhd装windowsxp,用的winvblock,折腾了无数次,都是装完后重启几下或者装个软件改个设置什么的就蓝屏,然后这个系统就废了。
起初还以为是找不到C盘蓝屏(因为现象一样,都是滚动条出完就蓝屏一闪而过),后来装了无数次(想探清楚蓝屏的触发规律,实际毫无规律可言),然后有次发现有个禁用系统失败时自动重启,这才看清了蓝屏代码:0X0000004E PFN_LIST_CORRUPT ,不是因为找不到C盘问题。
然后GOOGLE找到了reboot.pro上的帖子(话说这个论坛是不是都是折腾电脑的大神),上面说到是因为winvblock驱动被识别为未知设备,从而导致do something后(especially install drivers,嗯说无规律可言还是有一点规律的,就是装显卡驱动重启后蓝屏的概率更大),导致蓝屏:
“When using IMA driver file as floppy and installing TXT Setup, VHD will not be detected as first HDD but Windows will install without any error, but the device driver will be installed as Unknown Device (without any error, or question mark, status: device is working properly). But after you install some programs, especially drivers and restart, booting with endup with a BSOD saying that "pfn_list_corrupt".”

然后下面发了一个修正后的驱动,修正了inf,windows可以正常识别为scsi控制器了,现在系统很稳定,再也没有蓝屏什么了。


上面的驱动是放在dropbox的,为了方便不方便fanqiang的朋友,转过来给大家了。
WinVBlock_0.0.1.8_Prefetch_1.zip (133.06 KB, 下载次数: 392)
(常游走于墙外的朋友,欢迎关注我的GOOGLE+:https://plus.google.com/+%E6%9D%8E%E5%BD%A6%E9%94%8B (打不开的当我什么都没说))

评分

参与人数 1无忧币 +3 收起 理由
蓝星明月 + 3 赞一个!

查看全部评分

2#
发表于 2015-4-14 01:55:27 | 只看该作者
这个不是新版!没什么用。。。


还是看看细哥的成品:
VHD本地版:
http://www.itiankong.net/thread-313791-1-3.html

VHD移动版:
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2

点评

sys并没有改,只是inf改了不让它成未知设备而已(看文件的修改日期就懂了)  详情 回复 发表于 2015-4-15 23:27
回复

使用道具 举报

3#
发表于 2015-4-14 08:09:00 | 只看该作者
本帖最后由 liuzhaoyzz 于 2015-4-14 08:22 编辑

楼主搜索查找解决问题能力很强!
你能提供这个inf对应的离线导入winvblock驱动到vhd的注册表或者批处理吗?搜索WinVBlock,找到并导出所有与这个关键词相关的注册表分支。
我用beyond comare对比了下,你转载的修正winvblock0.0.1.8驱动,主要更新了WinVBlk.INF这个文件。

楼上说的winvblock不是最新版是什么意思,你vhd里面的版本比楼主的版本更新吗?版本号是多少?

点评

上面的图已经很明显了:左边的是楼主提供的,右边是论坛里下的。(据我所知:WinVBlock原作者只出了两个版本) WinVBlock驱动(0.0.1.8 2011-2-14版本)下载: http://bbs.wuyou.net/forum.php?mod=viewthread&tid  详情 回复 发表于 2015-4-14 23:51
回复

使用道具 举报

4#
发表于 2015-4-14 11:27:21 来自手机 | 只看该作者
不错,支持一下
回复

使用道具 举报

5#
发表于 2015-4-14 23:51:26 | 只看该作者
liuzhaoyzz 发表于 2015-4-14 08:09
楼主搜索查找解决问题能力很强!
你能提供这个inf对应的离线导入winvblock驱动到vhd的注册表或者批处理吗 ...

上面的图已经很明显了:左边的是楼主提供的,右边是论坛里下的。(据我所知:WinVBlock原作者只出了两个版本)
WinVBlock驱动(0.0.1.8 2011-2-14版本)下载:
http://bbs.wuyou.net/forum.php?m ... FD%B6%AF&page=1

楼主的本意无非就是为了“解决蓝屏问题”,照着我那个本地VHD的帖子,99%可以成功,那就没什么可说的。。。

点评

你的那个帖子inf还是旧的。(关键看装完后在系统里是不是识别成未知设备) 另外 这个解决的蓝屏是0x0000004e PFN_LIST_CORRUPT ,而不是7B那种找不到硬盘的蓝屏。  详情 回复 发表于 2015-4-15 23:30
回复

使用道具 举报

6#
发表于 2015-4-15 07:40:11 | 只看该作者
细哥说的让人有点困惑,winvblock0.0.1.8的确是发布了两个版本,按照楼主的帖子来推断,楼主之前一定用的是2011-2-14“情人节版本“,4E蓝屏,不行才换的2010-6-1”六一儿童节版本“,这有点不符合逻辑,旧版本的没有问题,新版本反而不行了?
另外,细哥你能否提供个离线注册表文件?就是把搜索WinVBlock,找到并导出所有与这个关键词相关的注册表分支。我借助winvblock,安装ghostxp到vhd失败了,估计与winvblock虚拟驱动有很大的关系,而ISO版本和GHO版本安装XP在某些方面是相通的。

点评

sys是11年的(好像跟原来那个一样),只是更新了inf,不让它识别成未知设备。我用的是msdn原版的iso安装的,map驱动img到fd0然后装时按f6装的。  详情 回复 发表于 2015-4-16 23:11
我不喜欢GHOST版,可能不会成功。。。你可以自己下载我的移动“VHD成品文件”里面提取。  详情 回复 发表于 2015-4-16 00:51
回复

使用道具 举报

7#
 楼主| 发表于 2015-4-15 23:27:52 | 只看该作者
细细哥~ 发表于 2015-4-14 01:55
这个不是新版!没什么用。。。

sys并没有改,只是inf改了不让它成未知设备而已(看文件的修改日期就懂了)
回复

使用道具 举报

8#
 楼主| 发表于 2015-4-15 23:30:42 | 只看该作者
细细哥~ 发表于 2015-4-14 23:51
上面的图已经很明显了:左边的是楼主提供的,右边是论坛里下的。(据我所知:WinVBlock原作者只出了两个 ...

你的那个帖子inf还是旧的。(关键看装完后在系统里是不是识别成未知设备)
另外 这个解决的蓝屏是0x0000004e PFN_LIST_CORRUPT ,而不是7B那种找不到硬盘的蓝屏。

点评

仔细看清楚:(我不会再回复了) 1、XP的ISO我用的是原版 2、WinVBlock驱动我用的是原版 3、没有蓝屏。。。(你出现了蓝屏是你的功夫不到家。。。)  详情 回复 发表于 2015-4-16 00:47
回复

使用道具 举报

9#
发表于 2015-4-16 00:47:50 | 只看该作者
2011liyafe1997 发表于 2015-4-15 23:30
你的那个帖子inf还是旧的。(关键看装完后在系统里是不是识别成未知设备)
另外 这个解决的蓝屏是0x0000 ...

仔细看清楚:(我不会再回复了)
1、XP的ISO我用的是原版
2、WinVBlock驱动我用的是原版
3、没有蓝屏。。。(你出现了蓝屏是你的功夫不到家。。。)
回复

使用道具 举报

10#
发表于 2015-4-16 00:51:37 | 只看该作者
liuzhaoyzz 发表于 2015-4-15 07:40
细哥说的让人有点困惑,winvblock0.0.1.8的确是发布了两个版本,按照楼主的帖子来推断,楼主之前一定用的是 ...

我不喜欢GHOST版,可能不会成功。。。你可以自己下载我的移动“VHD成品文件”里面提取。
回复

使用道具 举报

11#
 楼主| 发表于 2015-4-16 23:11:41 | 只看该作者
liuzhaoyzz 发表于 2015-4-15 07:40
细哥说的让人有点困惑,winvblock0.0.1.8的确是发布了两个版本,按照楼主的帖子来推断,楼主之前一定用的是 ...

sys是11年的(好像跟原来那个一样),只是更新了inf,不让它识别成未知设备。我用的是msdn原版的iso安装的,map驱动img到fd0然后装时按f6装的。
回复

使用道具 举报

12#
发表于 2015-12-8 01:31:07 | 只看该作者
谢谢楼主提供线索分享经验。
我也碰到PFN_LIST_CORRUPT,手工离线修改注册表救回来了。
提供一个reg文件供参考 pnf_list_corrupt.zip (460 Bytes, 下载次数: 47)


点评

grldr或者是grub能修改文件头吗,比如MAP某个文件前先修改头信息几个字节,如有,请帮忙写个最简单的如修改WIN7.WIM第20字节为88,或者是第20-24字节为11 22 33 44  详情 回复 发表于 2015-12-8 01:47
回复

使用道具 举报

13#
发表于 2015-12-8 01:47:53 | 只看该作者
pseudo 发表于 2015-12-8 01:31
谢谢楼主提供线索分享经验。
我也碰到PFN_LIST_CORRUPT,手工离线修改注册表救回来了。
提供一个reg文件 ...

grldr或者是grub能修改文件头吗,比如MAP某个文件前先修改头信息几个字节,如有,请帮忙写个最简单的如修改WIN7.WIM第20字节为88,或者是第20-24字节为11 22 33 44
回复

使用道具 举报

14#
发表于 2015-12-8 04:22:22 | 只看该作者
办法之一:用dd命令。
其用法跟linux的dd差不多。将当前盘根目录上文件a.bin中偏移为3的一个字节写入win7.wim中偏移20处的命令大概是这样子:
dd if=()/a.bin of=()/win7.wim bs=1 count=1 skip=3 seek=20
准备一个适当的文件a.bin,利用dd命令可以达到目的。

点评

map --mem /win7.wim 要修改加载到内存后的数据,要怎样获取加载后地址?如 write 0x1234 0x11223344 写入到0x1234数据0x11223344是代表写到内存数据16进制吧?  详情 回复 发表于 2015-12-8 09:11
回复

使用道具 举报

15#
发表于 2015-12-8 09:11:38 | 只看该作者
pseudo 发表于 2015-12-8 04:22
办法之一:用dd命令。
其用法跟linux的dd差不多。将当前盘根目录上文件a.bin中偏移为3的一个字节写入win7. ...

map --mem /win7.wim 要修改加载到内存后的数据,要怎样获取加载后地址?如
write 0x1234 0x11223344 写入到0x1234数据0x11223344是代表写到内存数据16进制吧?
回复

使用道具 举报

16#
发表于 2015-12-8 17:13:39 | 只看该作者
嗯,write可往内存某地址写已知数据。
可以先map到(rd),修改(rd)上内容,再map (rd)到目的设备。
(rd)地址是可以指定的。具体要看g4d区帮助文档,有关map、(rd)内容。

点评

默认WIM引导标志是1卷,可以通过哪些方法临时启动2卷呢,完全改变引导写入文件,那还有个WIMBOOT的软件是IPXE专用还是GRLDR本地也可引用, 下面的句子添加修改文件再启动 示例1:(启动1卷) dd if=()/win7boot1.bin of=  详情 回复 发表于 2015-12-8 18:35
回复

使用道具 举报

17#
发表于 2015-12-8 18:35:09 | 只看该作者
pseudo 发表于 2015-12-8 17:13
嗯,write可往内存某地址写已知数据。
可以先map到(rd),修改(rd)上内容,再map (rd)到目的设备。
(rd)地 ...

默认WIM引导标志是1卷,可以通过哪些方法临时启动2卷呢,完全改变引导写入文件,那还有个WIMBOOT的软件是IPXE专用还是GRLDR本地也可引用,
下面的句子添加修改文件再启动
示例1:(启动1卷)
dd if=()/win7boot1.bin of=()/win7.wim bs=1 skip=0 count=0x80 seek=0
kernel /boot/wimboot
initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgr=/boot/bootmgr @boot.wim=/boot/WIN7.WIM
boot

示例1:(启动2卷)
dd if=()/win7boot2.bin of=()/win7.wim bs=1 skip=0 count=0x80 seek=0
kernel /boot/wimboot
initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgr=/boot/bootmgr @boot.wim=/boot/WIN7.WIM
boot

以上代码对不对呢,可以帮补充下map部分吗?就是不改写文件原文件的,(因为有些文件是只读的)
手工输入map 后,提示无效或不支持的EXE格式(英文的)
回复

使用道具 举报

18#
发表于 2015-12-8 22:36:32 | 只看该作者
随手写的未试过:
示例1:(启动2卷)
map --mem (ud)/7PE.ISO (rd)
dd if=(rd)/boot/win7boot2.bin of=(rd)/boot/win7.wim bs=1 count=0x80
map (rd)+1 (0xff)
map --hook

rootnoverify (0xff)
kernel /boot/wimboot
initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgr=/boot/bootmgr @boot.wim=/boot/WIN7.WIM
boot

点评

非常感谢,可以修改只读启动卷了,wimboot还不行,是用bootmgr直接引导的,想想这样很好的, 一个WIN7PE.WIM即使修改过100次,还能任意启动其中1个版本,只要备份下前0x80数据就可以了  详情 回复 发表于 2015-12-8 23:30
回复

使用道具 举报

19#
发表于 2018-2-5 22:47:53 | 只看该作者
不管有没有用,先谢谢楼主了
回复

使用道具 举报

20#
发表于 2018-2-28 19:47:48 | 只看该作者
鼓励发布优秀作品!
回复

使用道具 举报

21#
发表于 2020-1-28 22:44:41 来自手机 | 只看该作者
我的是装ati驱动就黑屏,希望用它能解决。
回复

使用道具 举报

22#
发表于 2021-3-27 09:25:14 | 只看该作者
谢谢分享!!! 谢谢分享!!! 谢谢分享!!!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2021-4-22 11:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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