我看其他部落格有人用 win2k3 sp2 也成功了,但我還是按照書上的教程,裝的sp1版本。
/s/1x-vmb0try27czerivzs8ua
提取碼:u4j3
進入 wrk 根目錄,建立bat檔案,用於編譯x86版本,輸入以下內容:
編譯x86.bat
set path=e:\wrk-v1.2\tools\x86;%path%
cd base\ntos
nmake -nologo x86=
msvcr71.dll ,msvcp71.dll複製到 wrk-v1.2\tools\x86 目錄下。
然後雙擊bat就能編譯相應版本的wrk核心了,這個過程會持續一分鐘左右。
編譯x86成功後結果如圖:
教程上說的要使用多核版本,所以虛擬機器設定成多核的:
假設您已經準備好 win2k3 sp1 虛擬機器了,開啟虛擬機器,進入 system32,把剛剛編譯生成的 wrkx86.exe 複製進去,然後回到 wrk 根目錄,把 wrk-v1.2\ws03sp1hals\x86\halacpim\halacpim.dll 也複製到 system32裡。
下面引用 《windows核心原理與實現》附錄a的一段話:
注意,實體機系統的hal 有三種可能:如果是支援acpi 的pic(中斷控制器)機 器,則使用halacpim.dll;如果是支援acpi的apic(高階可程式設計中斷控制器)機器,則 使用halmacpi.dll;如果是非pic 和apic 的機器,則使用halmps.dll
。wrk 的 wrk-v1.2\ws03sp1hals\x86\目錄下包含了這三個hal 模組。
然後修改 c:\boot.ini ,加兩行配置,分別是 wrk 除錯模式和 wrk 非除錯模式:
最後,關閉 win2k3,修改虛擬機器屬性,新增乙個 com_debug 埠用於雙機除錯:[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\windows
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\windows="windows server 2003, enterprise" /noexecute=optout /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\windows="wrk debug" /noexecute=optout /fastdetect /debug /debugport=com_debug /kernel=wrkx86.exe /hal=halacpim.dll
multi(0)disk(0)rdisk(0)partition(1)\windows="wrk noebug" /noexecute=optout /fastdetect /kernel=wrkx86.exe /hal=halacpim.dll
啟動 windbg,引數如下:
啟動虛擬機器,選擇第二項,wrk除錯,但是先別點,先改一下符號檔案:"c:\program files (x86)\debugging tools for windows (x86)\windbg.exe" -b -k com:pipe,port=\\.\pipe\com_debug,baud=115200,reconnect -y
先改符號檔案,我們把 halacpim.pdb 和 wrkx86.pdb 這兩個符號檔案加到 windbg 裡,勾選 reload,點ok就好了。
這時候就可以讓虛擬機器跑起來了:
斷下來了,太好了!
命令列編譯Solution
c windows devenv.com microsoft r 開發環境 7.10.3077 版。c microsoft corp 1984 2001 保留所有權利。用法 devenv solutionfile projectfile anyfile.ext switches 可以呼叫 deven...
命令列編譯C C
命令列編譯c c 程式的方法 1.先用記事本寫c c 如下 includeusing namespace std int main 儲存在任意資料夾下,以d盤為例,儲存為d a.cpp 注意 字尾名改為.cpp,c語言則為.c 2.用記事本寫批處理檔案 假設vc6.0安裝在d program fil...
less 命令列編譯
用命令列編譯,需要先把環境配置好。環境配置教程 less 環境搭建 第1步 win r,輸入cmd 第2步 進入你存放less的位置。首先是先選擇碟符,比如 h 選擇碟符後,後面要加冒號。然後 用cd命令,進入對應目錄 cd practice less less 第3步 用less的命令進行編譯 l...