现在大部分win10都是64位的,所以和xp系统运行驱动程序有较大的区别,我们知道64位系统运行32位应用程序是可行的,这是windows系统向下兼容的体现,但是内核态的驱动程序必须区分32位和64位驱动,。32位Windows安装32位驱动,64位Windows安装64位驱动,无法交叉安装。
所以现在面临的问题是
1.如何安装x64位驱动
2.如何配置VS
3.如何禁止微软数字签名认证(继vista系统之后的所有64系统都需要微软数字签名认证)
4.如何解决DbgPrint 无法在 DebugView 中输出(xp系统不存在此问题)
第一个问题很好解决,将X86选项更改为X64选项,如下图所示
然后右键项目文件,点击属性,点击右上角的配置管理器,将win32更改为x64,如下图所示
然后重新生成项目文件,系统会增加一个X64文件夹,该文件夹下就有生成的64位驱动,(所以64位程序和以前32位程序存放的位置不一样)
第二个问题,进行如下配置即可
第三个问题,如果这个问题不解决,在KMD Manager工具进行启动服务,会出现Error Number not found的错误,查找了网上的众多资料,有两个解决方案
第一种方案
- 确保bios里的security boot选项为disable状态
- 执行如下命令,禁用驱动签名检测,在管理员权限下打开CMD,执行如下命令:
bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON - 如果需要恢复驱动签名检测,在管理员权限下打开CMD,执行如下命令:
bcdedit -setloadoptions ENABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING OFF
然后在bios里面启用security boot
但是这个方案我没有测试成功,原因是第一个步骤中需要设置security boot,但是我的虚拟机的BIOS中没有security boot让我设置,经测试,跳过第一步骤直接输入第二个步骤中的命令是不可行的
第二种方案
1、按下win+i 组合键打开windows 设置,点击“更新和安全”;
2、找到恢复,点击“高级启动”下的“立即重启”,重启电脑;通过点击 开始菜单 ,按下shift 点击 电源 – 重启可达到同样效果;
3、重启win10后在高级界面选择“疑难解答”;
4、选择“高级选项”;
5、接着点击“启动设置”;
6、点击重启,会进入到启动设置界面;
出现如下这个界面,再按F7键则禁用签名成功,不过以上的步骤只能临时的禁用驱动数字签名,重启后失效,需要永久禁止的话各位还是需要研究一下第一种方案
第四个问题,
1,按下快捷键【win+r】键,在弹出的运行窗口中,输入regedit,再按下回车键,打开注册表
2.在HKLM\SYSTEM\CuurentControlSet\Control\Session Manager找到Debug Print Filter文件夹,如果没有的话,新建这个文件夹,取名为Debug Print Filter
3.在Debug Print Filter下新建一个DWORD(32位)类型的项:取名为Default,值为0xF.
如下图所示
至此所有步骤就做好了,以管理员权限打开 KmdManager,然后再以管理员权限打开DbgView(注意,xp系统中这两个软件都不需要管理员权限,但是win10环境下,以上软件都必须用管理员权限打开)
以下是成功运行的证明截图