77 lines
1.9 KiB
Plaintext
77 lines
1.9 KiB
Plaintext
|
|
BCD = Boot Configuration Data Windows 的启动配置数据库
|
|
BCDEdit = Boot Configuration Data Editor 命令行工具,专门用来查看和修改 BCD 里的内容
|
|
Boot Manager 启动管理程序
|
|
|
|
bcdedit = Boot Configuration Data Editor (启动配置数据编辑器)
|
|
在开机时被固件拉起来
|
|
读取 BCD
|
|
决定应该启动哪个启动项
|
|
把控制权交给下一阶段加载器
|
|
|
|
把当前启动项的 内核调试开关 打开
|
|
Bcdedit /debug on
|
|
|
|
开启调试模式
|
|
bcdedit /set {current} testsigning on
|
|
|
|
设置串口输出
|
|
Bcdedit /dbgsettings serial baudrate:115200 debugport:1
|
|
|
|
|
|
|
|
|
|
bcdedit /enum {current}
|
|
|
|
|
|
禁用数字驱动签名之后可以看到底下有一个 测试模式的水印
|
|
|
|
穿透驱动安装方式
|
|
certutil -addstore Root Psc_Driver_Cert.cer
|
|
certutil -addstore TrustedPublisher Psc_Driver_Cert.cer
|
|
|
|
sc start FirstDriver
|
|
sc stop FirstDriver
|
|
sc query FirstDriver
|
|
|
|
sc delete FirstDriver
|
|
sc create FirstDriver binPath= “c:\psc\kernel_helloworld.sys” type= kernel
|
|
|
|
|
|
|
|
|
|
安装驱动
|
|
pnputil /add-driver psc_driver.inf /install
|
|
|
|
卸载驱动
|
|
pnputil /enum-drivers
|
|
pnputil /delete-driver psc_driver.inf /uninstall /force
|
|
|
|
|
|
|
|
查找系统实例id
|
|
pnputil /enum-devices /connected
|
|
pnputil /enum-devices /class "System"
|
|
找到类似:Instance ID: ROOT\MYTESTDEVICE\0000 然后才能删除
|
|
pnputil /remove-device "ROOT\MYTESTDEVICE\0000"
|
|
|
|
|
|
设备(devnode)决定驱动“是否运行”,驱动包(Driver Store)决定驱动“是否存在”;两者独立但通过绑定关系连接。
|
|
|
|
|
|
|
|
|
|
|
|
SERVICE_NAME: FirstDriver
|
|
TYPE : 1 KERNEL_DRIVER
|
|
STATE : 4 RUNNING
|
|
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
|
|
WIN32_EXIT_CODE : 0 (0x0)
|
|
SERVICE_EXIT_CODE : 0 (0x0)
|
|
CHECKPOINT : 0x0
|
|
WAIT_HINT : 0x0
|
|
PID : 0
|
|
FLAGS :
|
|
|
|
|