无忧启动论坛

标题: 转个WinVBlock新驱动(更新了inf文件),解决PFN_LIST_CORRUPT 0x0000004e蓝屏问题 [打印本页]

作者: 2011liyafe1997    时间: 2015-4-13 23:12
标题: 转个WinVBlock新驱动(更新了inf文件),解决PFN_LIST_CORRUPT 0x0000004e蓝屏问题
这段时间折腾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, 下载次数: 433)
(常游走于墙外的朋友,欢迎关注我的GOOGLE+:https://plus.google.com/+%E6%9D%8E%E5%BD%A6%E9%94%8B (打不开的当我什么都没说))


作者: 细细哥~    时间: 2015-4-14 01:55
这个不是新版!没什么用。。。


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

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

作者: liuzhaoyzz    时间: 2015-4-14 08:09
本帖最后由 liuzhaoyzz 于 2015-4-14 08:22 编辑

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

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

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

sys并没有改,只是inf改了不让它成未知设备而已(看文件的修改日期就懂了)
作者: 2011liyafe1997    时间: 2015-4-15 23:30
细细哥~ 发表于 2015-4-14 23:51
上面的图已经很明显了:左边的是楼主提供的,右边是论坛里下的。(据我所知:WinVBlock原作者只出了两个 ...

你的那个帖子inf还是旧的。(关键看装完后在系统里是不是识别成未知设备)
另外 这个解决的蓝屏是0x0000004e PFN_LIST_CORRUPT ,而不是7B那种找不到硬盘的蓝屏。
作者: 细细哥~    时间: 2015-4-16 00:47
2011liyafe1997 发表于 2015-4-15 23:30
你的那个帖子inf还是旧的。(关键看装完后在系统里是不是识别成未知设备)
另外 这个解决的蓝屏是0x0000 ...

仔细看清楚:(我不会再回复了)
1、XP的ISO我用的是原版
2、WinVBlock驱动我用的是原版
3、没有蓝屏。。。(你出现了蓝屏是你的功夫不到家。。。)
作者: 细细哥~    时间: 2015-4-16 00:51
liuzhaoyzz 发表于 2015-4-15 07:40
细哥说的让人有点困惑,winvblock0.0.1.8的确是发布了两个版本,按照楼主的帖子来推断,楼主之前一定用的是 ...

我不喜欢GHOST版,可能不会成功。。。你可以自己下载我的移动“VHD成品文件”里面提取。
作者: 2011liyafe1997    时间: 2015-4-16 23:11
liuzhaoyzz 发表于 2015-4-15 07:40
细哥说的让人有点困惑,winvblock0.0.1.8的确是发布了两个版本,按照楼主的帖子来推断,楼主之前一定用的是 ...

sys是11年的(好像跟原来那个一样),只是更新了inf,不让它识别成未知设备。我用的是msdn原版的iso安装的,map驱动img到fd0然后装时按f6装的。
作者: pseudo    时间: 2015-12-8 01:31
谢谢楼主提供线索分享经验。
我也碰到PFN_LIST_CORRUPT,手工离线修改注册表救回来了。
提供一个reg文件供参考 pnf_list_corrupt.zip (460 Bytes, 下载次数: 55)



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

grldr或者是grub能修改文件头吗,比如MAP某个文件前先修改头信息几个字节,如有,请帮忙写个最简单的如修改WIN7.WIM第20字节为88,或者是第20-24字节为11 22 33 44
作者: pseudo    时间: 2015-12-8 04: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命令可以达到目的。

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

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

作者: pseudo    时间: 2015-12-8 17:13
嗯,write可往内存某地址写已知数据。
可以先map到(rd),修改(rd)上内容,再map (rd)到目的设备。
(rd)地址是可以指定的。具体要看g4d区帮助文档,有关map、(rd)内容。
作者: frg521    时间: 2015-12-8 18:35
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格式(英文的)
作者: pseudo    时间: 2015-12-8 22:36
随手写的未试过:
示例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

作者: 510819776    时间: 2018-2-5 22:47
不管有没有用,先谢谢楼主了

作者: liu0377    时间: 2018-2-28 19:47
鼓励发布优秀作品!
作者: newliz    时间: 2020-1-28 22:44
我的是装ati驱动就黑屏,希望用它能解决。
作者: 蓝星明月    时间: 2021-3-27 09:25
谢谢分享!!! 谢谢分享!!! 谢谢分享!!!
作者: wuming520    时间: 2022-1-15 01:24
楼主有空可以尝试玩完XPsvbub驱动安装吗
作者: 2010zhongts    时间: 2022-7-30 16:19
我碰到的是0x7F蓝屏




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