我用來調試Windows內核使用VirtualKD,WinDBG和單個虛擬機。從Linux調試Windows內核
最近我買了一臺Linux機器,現在我想知道 - 當主機無法運行時,調試Windows內核的最簡單方法是什麼?VirtualKD/WinDBG *?
我認爲解決方案將需要兩個虛擬機,但我寧願我的託管實際機器上的兩個實例,而不是居住在另一個內部的虛擬實例的實例...
反正是有使這項工作?
在此先感謝!
*葡萄酒是出於穩定性的原因不得已......
我用來調試Windows內核使用VirtualKD,WinDBG和單個虛擬機。從Linux調試Windows內核
最近我買了一臺Linux機器,現在我想知道 - 當主機無法運行時,調試Windows內核的最簡單方法是什麼?VirtualKD/WinDBG *?
我認爲解決方案將需要兩個虛擬機,但我寧願我的託管實際機器上的兩個實例,而不是居住在另一個內部的虛擬實例的實例...
反正是有使這項工作?
在此先感謝!
*葡萄酒是出於穩定性的原因不得已......
解決了!基本上,我結束了使用(VirtualBox的)虛擬機仿效串行連接(交叉線)在Unix域套接字(在主機上)。欲瞭解更多信息,請閱讀下面:
硬件設置*:
調試器設置:
Opened \\\\.\com1 Waiting to reconnect...
調試設置:
*假設使用VirtualBox。 VMWare/KVM用戶可能可以通過類似的步驟獲得相同的結果。另外,更多信息請參考VirtualBox docs。
**假設客人是Windows XP。後來的版本包括bcdedit,其可以如here所述使用。
對於QEMU \ KVM遵守這些指示: http://www.linux-kvm.org/page/WindowsGuestDrivers/GuestDebugging
非常有幫助的,但適用於Windows XP的機器。如果您需要在Linux主機上配置2個基於Windows7的虛擬機,請參考以下鏈接:http://www.aldeid.com/wiki/Category:Digital-Forensics/Computer-Forensics/Debugger/Kernel
現在的另一種選擇是啓用本地內核調試。這附帶一些limitations,但是它將使您能夠訪問內核數據,而只需使用一個虛擬機。
此方法僅適用於Windows 8.0和Windows Server 2012及更高版本。
遵循以下步驟:
bcdedit /debug on
bcdedit /dbgsettings local
一旦系統重新啓動,可以執行WinDBG
作爲Administrator
,按ctrl+k
或去File -> Attach to kernel -> Local
,然後按OK。
在這一點上,你就可以只執行內核命令和訪問內核結構:
的Windows 10下,在新的WinDBG版本測試(預覽) 。
參考:Setting Up Local Kernel Debugging of a Single Computer Manually
你的配置似乎完美的,但不管我用什麼配置,我看不出兩個我的Windows虛擬機的串行端口。你有過這樣的問題嗎? –