无忧启动论坛

标题: Native 7PE无法自动获取IP地址! [打印本页]

作者: hotdll    时间: 2012-5-29 19:12
标题: Native 7PE无法自动获取IP地址!
经过几天奋战,搜索资料无数,分析上千个WIN7PE文件,终于搞定。
原因如下:
1、FBWF读取fbwf.cfg的版本导致DHCP失效。
2、缺少FWPKCLNT.SYS,这个是防火墙客户端。呵呵竟然和DHCP有关。
3、NDIS服务,TCP/IP服务,NETBIOS服务,AFD.SYS,NETBT.SYS 都会影响DHCP。
4、目前测试网络服务必须一级内核开启,否则无法dhcp
5、留着这篇文章作为笔记。正在移植以上文件到二级内核。


原问题:
在各位好心人和大师的帮助下,逐渐完成了NATIVE 7PE的驱动加载,现在手工指定IP地址的情况下已经能上网了,但是无法通过DHCP自动获取IP地址。


求教各位大大,无法获得DHCP的IP地址是什么原因?

知道的指点下,在下感激不禁。

[ 本帖最后由 hotdll 于 2012-6-5 09:12 编辑 ]
作者: kcyou    时间: 2012-5-29 21:58
标题: 回复 #1 hotdll 的帖子
我昨天就能安装驱动,看得见有线无线网卡,就是无法获取IP地址,联不上网。看来不是一个人的问题,是通病。
作者: canmao    时间: 2012-5-29 22:03
总有一感觉,nativie 在某些情况下,会比正常 PE 慢几拍,包括DHCP、加载VHD、重启、开机等,需耐心等待。

[ 本帖最后由 canmao 于 2012-5-29 22:14 编辑 ]
作者: 翅膀    时间: 2012-5-29 22:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: hotdll    时间: 2012-5-29 22:26
标题: 回复 #4 翅膀 的帖子
呵呵。。。
DHCP服务肯定是开启了
ipconfig/renew重新获取IP试试

重试的结果一样。

总感觉是某个服务没开启的原因。
作者: hotdll    时间: 2012-5-29 22:28
标题: 回复 #3 canmao 的帖子
这个怎么说呢。
理论上运行不会有差别。
因为U盘最大的有点是随机存储和寻道时间极短。
而启动PE的时候,读取的通常都是几K或者几十K的文件。内存中运行未必会比U盘中运行速度快多少。更何况,载入的时候,NATIVE的一级内核等待时间比完全载入小很多。

另外windows本身就支持native模式。开机磁盘扫描后正常进入系统,你发现慢了吗?

发现的问题是因为为了让一级内核体积更小。关闭了一些服务和SCSI驱动的启动。因为这些可以在二级内核中启动。
作者: wenzi2203    时间: 2012-5-29 22:34
这样试试

1.        找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{GUID}
在此注册表路径中,单击与连接到网络的网络适配器相对应的注册表子项 (GUID)。
2.        在“编辑”菜单上,指向“新建”,然后单击“DWORD (32 位)值”。
3.        在“新值 #1”框中,键入 DhcpConnEnableBcastFlagToggle,然后按 Enter。
4.        右键单击 DhcpConnEnableBcastFlagToggle,然后单击“修改”。
在“数值数据”框中,键入 1,然后单击“确定”
作者: 翅膀    时间: 2012-5-29 22:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: canmao    时间: 2012-5-29 22:38
naitve 7pe 在启动上的优势毋庸置疑!
我在很早的三星x10上(p3,bios不支持usb2.0)测试,表现不比通常的 PE1.x 差。
作者: canmao    时间: 2012-5-29 22:43
@hotdll
建议换 pecmd.exe 4.0.2011.0501 做下测试。

ps:
照你的帖子,我自 y 的一、二级 7pe,自动获取 IP 地址没问题。就是要耐心等待一会儿。

昨天上传 zhaohj FTP 的 7PE,把 PECMD.INI 中 将 "安装网卡" 和 "加载网络(winpeshl.exe)" 顺序颠倒一下。进桌面多等一会儿(<2min),自动获取 IP 不成问题。

[ 本帖最后由 canmao 于 2012-5-29 23:01 编辑 ]
作者: hotdll    时间: 2012-5-29 22:56
标题: 回复 #7 wenzi2203 的帖子
如何知道网络适配器相对应的GUID?
如果是在设备管理器看到的GUID。。
那么注册表中没发现您上面的键值中有对应的GUID
作者: hotdll    时间: 2012-5-29 23:02
原帖由 翅膀 于 2012-5-29 22:36 发表
饭大看看remote procedure服务和wired autoconfig服务的状态。

remote procedure 这个服务已经开启了

wired autoconfig 这个服务也已经开启了
作者: hotdll    时间: 2012-5-29 23:02
标题: 回复 #10 canmao 的帖子
测试过,与PECMD 没有关系。
作者: grubfans    时间: 2012-5-29 23:23
在正常的xp系统下,以前曾经碰到过驱动不是非常匹配的时候,无线网卡无法自动获取IP地址,手动设置能正常上网。
作者: wenzi2203    时间: 2012-5-29 23:34
标题: 回复 #11 hotdll 的帖子
getmac /V /S 127.0.0.1
这样本地的所有连接名、对应的网卡、物理地址及传输名称,传输名称\Device\Tcpip_ 后面的大括号里就是GUID

不过7中很少出现这种情况 除非被认为改了

你取消IPV6试试
作者: zds1210    时间: 2012-5-30 12:01
我这边是光纤到户,虚拟拨号,启动网络,输入密码后上网正常。
作者: 无垠    时间: 2012-5-30 12:11
有线网络自动获取地址可以上网。无线的可以找到网卡和连接信号,就是输入密码 时显示配置错误,试了好几个7pe都这样,但使用移动的校园无线网可以打开网页。

[ 本帖最后由 一望无垠 于 2012-5-30 12:48 编辑 ]
作者: wenzi2203    时间: 2012-5-30 12:14
呵呵 难道是饭大路由器的问题
作者: hotdll    时间: 2012-5-30 12:19
标题: 回复 #17 一望无垠 的帖子
你测试的是我修改的哪个7PE?
作者: 玄天    时间: 2012-5-30 12:33
netcfg -c s -i ms_wfplwf_upper
netcfg -c s -i ms_nativewifip
netcfg -c s -i ms_vwifi
netcfg -c s -i MS_WfpLwf_Lower
netcfg -e -c p -i MS_NDISUIO
net start Wlansvc
作者: hotdll    时间: 2012-5-30 17:54
原帖由 玄天 于 2012-5-30 12:33 发表
netcfg -c s -i ms_wfplwf_upper
netcfg -c s -i ms_nativewifip
netcfg -c s -i ms_vwifi
netcfg -c s -i MS_WfpLwf_Lower
netcfg -e -c p -i MS_NDISUIO
net start Wlansvc



这几个语句我明明都执行过了啊。。。。

一会再手工执行一遍看看。谢谢玄天大大。
作者: ren001    时间: 2012-5-30 18:12
我在配置网络时同时运行Ip设置批处理等一会你那个软件也就获得了ip 上网一切正常
作者: hotdll    时间: 2012-5-30 18:19
标题: 回复 #22 ren001 的帖子
能不能共享下?感激不尽!!!
作者: ren001    时间: 2012-5-30 20:46
标题: 回复 #23 hotdll 的帖子
别客气 我为人人 人人为我
@echo off
title --IP自动设置 --
MODE con: COLS=80 lines=30
color 0a

:main
cls

echo  按提示操作
echo.
echo 要把IP设置为办公室用的IP 请按 1
echo 要把IP设置为家庭网络自动获取 请按 2
echo 要退出 请按 3
echo.
@rem 上一句是空一行

set /p choice=      您的选择:

echo.

if "%choice%"=="1" goto ip1
if "%choice%"=="2" goto ip2
if "%choice%"=="3" goto end
if "%choice%"=="4" goto test

goto main

:ip1
echo IP自动设置开始....
echo.
echo 正在设置IP及子网掩码
cmd /c netsh interface ip set address name="本地连接" source=static addr=192.168.105.249 mask=255.255.255.0 gateway=192.168.105.1 gwmetric=1
echo 正在设置DNS服务器
cmd /c netsh interface ip set dns name="本地连接" source=static addr=202.102.192.68 register=PRIMARY
@rem 以上这句为设置DNS为202.102.192.68
echo 正在设置DNS服务器
cmd /c netsh interface ip add dns name="本地连接" addr=202.102.199.68
@rem 以上这句为设置DNS为202.102.199.68
echo 设置完成

pause
exit



if errorlevel 2 goto main
if errorlevel 1 goto end


:ip2
echo IP自动设置开始....
echo.
echo 自动获取IP地址....
netsh interface ip set address name = "本地连接" source = dhcp
echo 自动获取DNS服务器....
netsh interface ip set dns name = "本地连接" source = dhcp
@rem 设置自动获取IP
echo 设置完成

pause
exit

if errorlevel 2 goto main
if errorlevel 1 goto end

:test
netsh interface ip set address name = "本地连接" source = dhcp

netsh interface ip set dns name = "本地连接" source = dhcp

netsh interface ip set wins name = "本地连接" source = dhcp

CHOICE /C YN /M "退出请按 Y,返回菜单请按 N。"

if errorlevel 2 goto main
if errorlevel 1 goto end

:end
作者: ren001    时间: 2012-5-30 20:50
批处理运行 如果说 dns服务没启动 你就等一会 再运行下批处理
作者: hotdll    时间: 2012-5-30 21:13
原帖由 玄天 于 2012-5-30 12:33 发表
netcfg -c s -i ms_wfplwf_upper
netcfg -c s -i ms_nativewifip
netcfg -c s -i ms_vwifi
netcfg -c s -i MS_WfpLwf_Lower
netcfg -e -c p -i MS_NDISUIO
net start Wlansvc


netcfg -c s -i ms_wfplwf_upper 正在安装ms_wfplwf_upper失败,错误代码0x800f0203

netcfg -c s -i MS_WfpLwf_Lower 正在安装MS_WfpLwf_Lower失败,错误代码0x800f0203
作者: hotdll    时间: 2012-5-31 14:33
有知道的朋友帮帮忙。
因为DHCP服务确实已经启动了。。。
但是就是获取不了IP地址。
作者: 于山    时间: 2012-5-31 15:11
原帖由 hotdll 于 2012-5-31 14:33 发表
有知道的朋友帮帮忙。
因为DHCP服务确实已经启动了。。。
但是就是获取不了IP地址。

这个批处理命令可以试一试!
ipok.rar (464 Bytes, 下载次数: 34)
作者: hotdll    时间: 2012-5-31 15:16
标题: 回复 #28 2010yg 的帖子
先谢谢您。
不过您这个是手工指定IP。。。这个PE中带的有手工设定IP的。
我想弄的是DHCP自动获取IP
作者: 于山    时间: 2012-5-31 15:21
根据pe情况,3种中测试属于哪一种,删除多余的2种。
就能自动运行了。无需手工干预!
作者: hotdll    时间: 2012-5-31 17:57
标题: 回复 #30 2010yg 的帖子
不知道为什么。在这个PE中,使用这个命令无效。
仅仅设置了DNS。。。。。

手工设置又正常。

主要还是想通过DHCP自动获取IP地址。
作者: hotdll    时间: 2012-6-3 22:52
原帖由 canmao 于 2012-5-29 22:43 发表
@hotdll
建议换 pecmd.exe 4.0.2011.0501 做下测试。

ps:
照你的帖子,我自 y 的一、二级 7pe,自动获取 IP 地址没问题。就是要耐心等待一会儿。

昨天上传 zhaohj FTP 的 7PE,把 PECMD.INI 中 将 "安 ...



今天费了九牛二虎之力,下载了您的7PE,很不幸的是,测试发现您的PE DHCP获取IP地址失败。

我用的是无线网卡测试的。
作者: canmao    时间: 2012-6-3 23:15
标题: 回复 #32 hotdll 的帖子
那一版的无线好像有点问题 -- 我是装不上无线网卡。
明天到班上,传一个新版本,你再试试!
作者: canmao    时间: 2012-6-4 10:45
已上传FTP。注意:
1. 桌面上出现“PE网络设置”图标后,如果网卡正确驱动,大约1分钟后方可自动获取到IP。
2. WLAN驱动可能有问题,现在能确认的只有较早的 Intel 51xx(53xx)bgn 驱动包 -- INTELWNS.CAB 可正常驱动。这个包是去年5月1号打的,现在哪怕把这包解开后重新压成CAB,驱动就无法安装。用了老九的PECAB、XCAB,处理和不处理inf,win7 x64、win7 x32、win03下尝试不同的打包方式,均不能成功。纠结中。。。。
作者: zhs509    时间: 2012-6-4 10:50
标题: 回复 #34 canmao 的帖子
速度有点慢哦,要是能在10秒内自动获取IP还是比较理想的
作者: canmao    时间: 2012-6-4 11:05
标题: 回复 #35 zhs509 的帖子
我的网络、及网卡都是在进入桌面后,在后台安装的(这样用起来体验比较好)。初次获取ip是比较慢,估计是网络还未初始化完成。
作者: hotdll    时间: 2012-6-4 11:54
标题: 回复 #36 canmao 的帖子
不是pecmd2012的问题,刚才网线没插好。

[ 本帖最后由 hotdll 于 2012-6-4 12:52 编辑 ]
作者: hotdll    时间: 2012-6-4 13:57
问题找到了。
是FBWF的问题。使用最新版的嵌入系统的FBWF,虽然能节省1半的内存,但是副作用就是DHCP不成功。

原因不详。
作者: canmao    时间: 2012-6-4 14:02
呵呵,终于找到问题了。祝贺
作者: dos时代菜鸟    时间: 2012-6-4 21:50
果然是 x: 盘自身驱动的问题。
呵呵,那。。。难道要 把 .cfg方式 变成 注册表方式?
作者: hotdll    时间: 2012-6-4 21:57
原帖由 dos时代菜鸟 于 2012-6-4 21:50 发表
果然是 x: 盘自身驱动的问题。
呵呵,那。。。难道要 把 .cfg方式 变成 注册表方式?


不仅仅是FBWF的问题,还有其他问题。这次算是摸清了DHCP的一些小秘密。
作者: 幸运的草    时间: 2012-6-4 22:04
经测试,不是PECMD2012的问题,也不是FBWF的问题。
可以确定,问题是在一级内核中。不是二级内核。
作者: hotdll    时间: 2012-6-4 22:13
标题: 回复 #42 幸运的草 的帖子
可以确定fbwf的cfg版本,确实会导致DHCP 获取不了IP地址。

幸运的草您可以测试下,找个能DHCP的非NATIVE 版本呢,使用最新的CFG版本的FBWF。
作者: 幸运的草    时间: 2012-6-4 22:19
经过无数次的测试。原版什么都不动。只在PECMD.INI前加入一句
FBWF P40 L192 H256即开FBWF语句。按要求做成二级内核。结果原版CMD。自动IP都无问题。
NATIVE版就有问题了。
所以,把问题定位到新版FBWF,是不准确的。
作者: hotdll    时间: 2012-6-4 22:21
标题: 回复 #44 幸运的草 的帖子
FBWF P40 L192 H256即开FBWF语句

这一句就说明您用的不是最新版读取fbwf.cfg的fbwf.sys。因为最新版使用这个命令无效,而是使用serv fbwf




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