忘記Windows XP登入密碼的9種解決辦法(轉)

worldblog發表於2007-08-11
忘記Windows XP登入密碼的9種解決辦法(轉)[@more@]

  首先提議:

  如果你是一個很容易遺忘的人,那麼一定不要忘記在第一次設定密碼的同時建立一張可以恢復Windows XP中的賬戶密碼的啟動盤,它可以讓你免去格式化硬碟的煩惱。

  從“控制皮膚”中找到“使用者賬戶”項,選中自己的賬戶進入如圖所示的控制介面,我們可以看到左側任務列表中有一項“阻止一個已忘記的密碼”,點選後便可開啟“忘記密碼嚮導”,嚮導會提示插入一張格式化過的空白磁碟,操作過程中會讓你輸入該賬戶所使用的密碼,很快便可以建立一張密碼重設盤。

  以後,當我們忘記了賬戶密碼的時候,在沒有使用“歡迎螢幕”登入方式的情況下登入到Windows XP後,按下“Ctrl + Alt + Del”組合鍵,出現“Windows 安全”視窗,點選選項中“更改密碼”按鈕,出現更改密碼視窗。這個視窗中,將當前使用者的密碼備份,點選左下角“備份”按鈕,啟用“忘記密碼嚮導”,按照提示建立密碼重設盤。

  如果在Windows XP的登入視窗輸入了錯誤的密碼,就會彈出“登入失敗”視窗,如果你的確想不起來自己的密碼是什麼時,可點選“重設”按鈕,啟動密碼重設嚮導,透過剛才所建立的密碼重設盤,就可以用這張密碼重設盤更改密碼並啟動系統。重新設定密碼,登入Windows XP。

  “密碼重設盤”的建立,含有一定的危險性,因為任何人都可以使用這一張“密碼重設盤”來登入Windows XP,都可以以該使用者的名義進入使用者帳戶,操作真正使用者所能操作的一切,所以必須將“密碼重設盤”儲存在適當的地方,以防丟失或失洩密。

  方法1——利用“administrator”(此方法適用於管理員使用者名稱不是“administrator”的情況)

  我們知道在安裝Windows XP過程中,首先是以“administrator”預設登入,然後會要求建立一個新賬戶,以進入Windows XP時使用此新建賬戶登入,而且在Windows XP的登入介面中也只會出現建立的這個使用者賬號,不會出現“administrator”,但實際上該“administrator”賬號還是存在的,並且密碼為空。

  當我們瞭解了這一點以後,假如忘記了登入密碼的話,在登入介面上,按住Ctrl+Alt鍵,再按住Del鍵二次,即可出現經典的登入畫面,此時在使用者名稱處鍵入“administrator”,密碼為空進入,然後再修改“zhangbp”的口令即可。

  方法2——刪除SAM檔案(注意,此法只適用於WIN2000)

  Windows NT/2000/XP中對使用者帳戶的安全管理使用了安全帳號管理器(Security Account Manager , SAM)的機制,安全帳號管理器對帳號的管理是透過安全標識進行的,安全標識在帳號建立時就同時建立,一旦帳號被刪除,安全標識也同時被刪。安全標識是唯一的,即使是相同的使用者名稱,在每次建立時獲得的安全標識完全不同。因此,一旦某個帳號被使用者名稱重建帳號,也會被賦予不同的安全標識,不會保留原來的許可權。安全帳號管理器的具體表現就是%SystemRoot%system32configsam檔案。SAM檔案是Windows NT/2000/XP的使用者帳戶資料庫,所有使用者的登入名以及口令等相關資訊都會儲存在這個檔案中。

  知道了這些,我們的解決辦法也產生了:刪除SAM檔案,啟動系統,它會重建一個乾淨清白的SAM,裡面自然沒有密碼了。

  不過,這麼簡單的方法在XP是不適用的,可能微軟以此為BUG,做了限制……所以現在在XP系統下,即使你刪除了SAM,還是不能刪除密碼,反而會使系統啟動初始化出錯,從而進入死迴圈而不能進系統!!

  方法3——從SAM檔案中找密碼(前提……會使用DOS基本命令就行)

  在系統啟動前,插入啟動盤,進入:C:WINNTSystem3Config 用COPY命令將SAM檔案複製到軟盤上。拿到另一臺機子讀取。這裡需要的工具是LC4,執行LC4,開啟並新建一個任務,然後依次擊“IMPORT→Import from SAM file”,開啟已待破解的SAM檔案,此時LC4會自動分析此檔案,並顯示出檔案中的使用者名稱;之後點選“Session→Begin Audit”,即可開始破解密碼。如果密碼不是很複雜的話,很短的時間內就會得到結果。

  不過,如果密碼比較複雜的話,需要時間會很長,這時我們就需要用下面的方法了。

方法4——用其他SAM檔案覆蓋(前提是你可以得到另外一臺電腦的SAM檔案和它的密碼……個人覺得是最為可行的辦法)

  1——如上所說,SAM檔案儲存著登入名以及口令,那麼我們只要替換SAM檔案就是替換登入名以及口令了。不過,這個替換用的SAM檔案的“產地”硬碟分割槽格式要和你的系統一樣(看是FAT32還是NTFS,你自己確認)。最好這個“產地”的系統沒有設密碼,安全方面設定沒動過(實際上很大部分的個人電腦都是這樣),當然,比較保險的方式是把XP的[Win NTSystem 32Config]下的所有檔案覆蓋到[C:Win NTSystem 32Config]目錄中(假設你的XP安裝在預設分割槽C:),

  2——如果得不到別人的幫助(我是說“萬一”),你可以在別的分割槽上在安裝一個XP系統,硬碟分割槽格式要和原來的一樣,並且請你注意一定不要和原來的XP安裝在同一分割槽!在開始之前,一定要事先備份引導區MBR,備份MBR的方法有很多,使用工具軟體,如防毒軟體KV3000等。裝完後用Administrator登陸,現在你對原來的XP就有絕對的寫許可權了,你可以把原來的SAM考下來,用10PHTCRACK得到原來的密碼。也可以把新安裝的XP的Win NTSystem 32Config下的所有檔案覆蓋到C:Win NTSystem 32Config目錄中(架設原來的XP安裝在這裡),然後用KV3000恢復以前悲憤的主引導區MBR,現在你就可以用Administrator身份登陸XP了。

  [2號方案我自己都覺得麻煩,還是1號:叫別人幫忙比較好……]

  【另外,據說C:windows epair 目錄下的SAM是原始版本的,可以用它來覆蓋 system32下的這個 SAM,這樣就可以刪除現在的密碼,而恢復到剛開始安裝系統時的密碼了。如果這個密碼為空,豈不是…… 】

  方法5——使用Win 2000安裝光碟引導修復系統(前提……很明顯吧?就是你要有一張Win 2000安裝光碟)

  使用Win 2000安裝光碟啟動電腦,在Wndows2000安裝選擇介面選擇修復Windows 2000(按R鍵);,然後選擇使用故障控制檯修復(按C鍵),系統會掃描現有的Window2000/XP版本。一般只有一個作業系統,所以只列出了一個登入選擇(l:C:Windows)。從鍵盤上按l,然後回車,這個時候,Window XP並沒有要求輸人管理員密碼,而是直接登入進入了故障恢復控制檯模式(如果使用的是Windows XP安裝光碟啟動的,那是要求輸人管理員密碼的。這裡指的管理員是指系統內建的Administraor賬戶)熟悉Windows的朋友都知道,故障恢復控制檯裡面可以進行任何系統級別的操作,例如:複製、移動、刪除檔案,啟動、停止服務,甚至格式化、重新分割槽等破壞性操作。

  測試使用光碟:整合SP3的Windows 2000 Proessional 簡體中文版。

  測試透過的系統:Windows XP Proessional,打SPI補丁的Windows XP (FAT32和NTFS檔案系統都一樣)

  [需要注意的是,由於各種原因,市面上的一些Windows 2000安裝光碟不能夠顯現故障控制檯登入選項,所以也無法利用這個漏洞。同時,由於故障控制檯模式本身的限制,也無法從網路上利用這個漏洞,換句話說,這個漏洞僅限於單機。]

方法6——利用NET命令(有兩個必要前提才行:按裝WINDOWS XP的分割槽必須採用FAT 32檔案小系統,使用者名稱中沒有漢字。)

  我們知道在Windows XP中提供了“net user”命令,該命令可以新增、修改使用者賬戶資訊,其語法格式為:

  net user [UserName [Password *] [options]] [/domain]

  net user [UserName {Password *} /add [options] [/domain]

  net user [UserName [/delete] [/domain]]

  每個引數的具體含義在Windows XP幫助中已做了詳細的說明,在此筆者就不多闡述了。好了,我們現在以恢復本地使用者“zhangbq”口令為例,來說明解決忘記登入密碼的步驟:

  1、重新啟動計算機,在啟動畫面出現後馬上按下F8鍵,選擇“帶命令列的安全模式”。

  2、執行過程結束時,系統列出了系統超級使用者“administrator”和本地使用者“zhangbq”的選擇選單,滑鼠單擊“administrator”,進入命令列模式。

  3、鍵入命令:“net user zhangbq 123456 /add”,強制將“zhangbq”使用者的口令更改為“123456”。若想在此新增一新使用者(如:使用者名稱為abcdef,口令為123456)的話,請鍵入“net user abcdef 123456 /add”,新增後可用“net localgroup administrators abcdef /add”命令將使用者提升為系統管理組“administrators”的使用者,並使其具有超級許可權。

  4、重新啟動計算機,選擇正常模式下執行,就可以用更改後的口令“123456”登入“zhangbq”使用者了。另外,zhangbq 進入 登入後在〔控制檯〕→〔使用者帳戶〕→選忘記密碼的使用者,然後選〔移除密碼〕後〔等出〕 在登入畫面中選原來的使用者便可不需密碼情況下等入 (因已移除了) 刪除剛才新增的使用者,在〔控制檯〕→〔使用者帳戶〕→選〔alanhkg888〕,然後選〔移除帳戶〕便可

  [但是有人提出:在實驗後得知——在安全模式命令符下新建的使用者不能進入正常模式(此結論暫不確認)]

方法7——用破解密碼軟體(前提是你要有標準的系統安裝光碟——不是那種“整合”多個系統的D版盤)

  1——使用PASSWARE KIT 5.0中的Windows KEY 5.0,用於恢復系統管理員的密碼,執行後生成3個檔案:TXTSETUP.OEM、WINKEY.SYS和WINKEY.INF,3個檔案共50KB。把這3個檔案放在任何軟盤中,然後使用XP安裝光碟啟動電腦,啟動過程中按F6鍵讓系統採用第三方驅動程式。此時,正是我們切入的最好時機,放入該軟盤就會自動跳到Windows KEY的介面。他會強行把ADMINISTRATOR的密碼換成12345,如此一來何愁大事不成?嗬嗬!當你重新啟動以後,你會被要求再次修改你的密碼。

  2——使用OFFICE NT PASSWORD & REGISTRY EDITOR.用該軟體可以製作LINUX啟動盤,這個啟動盤可以訪問NTFS檔案系統,因此可以很好地支援Windows 2000/XP。使用該軟盤中的一個執行在LINUX下的工具NTPASSWD就可以解決問題,並且可以讀取登錄檔並重寫賬號。使用方法很簡單,只需根據其啟動後的提示一步一步做就可以了。在此,建議你使用快速模式,這樣會列出使用者供你選擇修改那個使用者密碼。預設選擇ADMIN組使用者,自動找到把ADMINISTRATOR的名字換掉的使用者,十分方便。

  3——ERD.Commander2003為Windows的管理員和終端使用者,面對隨時可能崩潰的系統,可能每人都會有自己的一套工具,用來挽救資料和修復系統。ERD Commander這可以算是Winternals Administrators Pak工具中最強大的元件了,其中一個引人注目的功能就是修改密碼,Windows NT/2000/XP/2003 系統中任何一個使用者的密碼都可以在不知道原先密碼的情況下被ERD修改掉。

  方法8——修改螢幕保護程式(前提是你有設定屏保)

  使用NTFSDOS這個可以從DOS下寫NTFS分割槽的工具。用該軟體製作一個DOS啟動盤,然後到C:Win NTSystem 32下將螢幕保護程式Logon.Scr改名,接著複製Command.com到C:Win NTSystem 32下(WIN2000下可以用CMD.EXE),並將該檔案改名為Logon.Scr。這樣啟動機器15分鐘以後,本該出現的螢幕保護現在變成了命令列模式,而且是具有ADMINISTRATOR許可權的,透過他就可以修改密碼或者新增新的管理員賬號了。改完以後不要忘了把螢幕保護程式的名字改回去。

  方法9——使用啟動指令碼(前提……會使用DOS基本命令就行)

  Windows XP啟動指令碼(startup scripts)是計算機在登入螢幕出現之前執行的批處理檔案,它的功能類似於Windows 9×和DOS中的自動執行批處理檔案autoexec.bat。利用這個特性,可以編寫一個批處理檔案重新設定使用者密碼,並將它加入啟動指令碼中,這樣就達到了目的。以下是具體步驟(假設系統目錄為C:Windows)。

  1.使用Windows98啟動盤啟動電腦。在DOS下新建一個檔案叫a.bat,內容只需要一條“net user”命令即可:“Net user rwd 12345678”。這條命令的意思是將使用者rwd的密碼設定為“12345678”(有關Net命令的用法,可參考Windows幫助)。然後將檔案a.bat儲存到“C:windowssystem32GroupPolicyMachineScriptsStartup”下。

  2.編寫一個啟動/關機指令碼配置檔案scripts.ini,這個檔名是固定的,不能改變。內容如下:

  [Startup]

  0CmdLine=a.bat

  0Parameters=

  3.將檔案scripts.ini儲存到“C:winntsystem32GroupPolicyMachineScripts”下。scripts.ini儲存著計算機啟動/關機指令碼的設定資料,檔案內容通常包含兩個資料段:[Startup]和[Shutdown]。[Startup]資料段下是啟動指令碼配置,[Shutdown]資料段下是關機指令碼配置。每個指令碼條目被分成指令碼名和指令碼引數兩部分儲存,指令碼名儲存在XCmdLine關鍵字下,引數儲存在XParameters關鍵字下,這裡的X表示從0開始的指令碼序號,以區別多個指令碼條目和標誌各指令碼條目的執行順序。

  4.取出Windows 98啟動盤,重新啟動電腦,等待啟動指令碼執行。啟動指令碼執行結束後使用者rwd的密碼就被恢復為“12345678”。

  5.登入成功後刪除上述步驟建立的兩個檔案。

  [實際上你可以借用另一臺電腦用“記事本”編寫a.bat和scripts.ini,再用軟盤透過DOS複製到自己的電腦上]

  說明:

  以上指令碼使用的是FAT32檔案系統,如果使用NTFS檔案系統,可以將這塊硬碟以從盤模式掛接到其它能識別NTFS檔案系統(如Windows 2000或Windows XP)的計算機上進行上述操作。本方法可以恢復管理員(Administrator)的密碼。對Windows2000系統中本地計算機使用者和域使用者的密碼恢復同樣有效。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-945800/,如需轉載,請註明出處,否則將追究法律責任。

相關文章