一旦重新啟動或按下關機按鈕,Windows 就會修改系統文件

一旦重新啟動或按下關機按鈕,Windows 就會修改系統文件

有沒有辦法在按下重新啟動/關閉按鈕時修改系統文件,而無需使用 Linux Live CD 等外部工具?

我發現一篇文章建議修改註冊表值來實現此目的,但不幸的是,它對我不起作用。 如何告訴 Windows 在下次重新啟動時覆蓋系統檔案?

我只專注於在當前參數範圍內尋找解決方案,目前不希望探索替代方法。

編輯:我正在開發一個繞過Windows 登入的作業系統,因此一旦使用者在作業系統中啟動,它就會找到安裝了Windows 的分割區,然後轉到SAM 檔案存在的目錄,使用「chntpw」刪除密碼(在刪除它之前,將其備份到root 中) Windows 檔案系統)

這就是為什麼我想做標題所說的事情,就是用修改後的文件(Windows正在使用的文件)替換備份的SAM文件,這樣一旦重新啟動一切都會正常。

答案1

在不使用外部工具或 Linux Live CD 的情況下,在重新啟動或關閉過程中直接修改系統檔案並不是一項簡單的任務。系統檔案通常受作業系統保護以保持穩定性和安全性,在系統運行時修改它們可能會導致不可預測的行為。

但是,如果您特別想在下次重新啟動時覆寫系統文件,則可以使用名為「PendingFileRenameOperations」的內建 Windows 功能。此功能可讓您指定下次系統引導期間要替換的檔案。

若要使用此功能,您需要修改 Windows 登錄。這是逐步指南:

  1. 按 Windows 鍵 + R 開啟「執行」對話方塊。
  2. 輸入“regedit”並按 Enter 鍵開啟登錄編輯程式。 筆記:如果操作不當,修改註冊表可能會產生意想不到的後果,因此請謹慎操作,並在進行任何更改之前對註冊表進行備份。
  3. 在登錄編輯器中,導覽至以下路徑: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
  4. 右鍵單擊“會話管理器”項,選擇“新建”,然後按一下“多字串值”。
  5. 將新建立的值重新命名為「PendingFileRenameOperations」(不含引號)。
  6. 雙擊“PendingFileRenameOperations”值並新增要替換的檔案路徑。每個文件路徑應在單獨的行中輸入,第一行是來源文件,第二行是目標文件。例如:
    C:\Path\to\source\file.txt
    C:\Path\to\destination\file.txt
    
    您可以透過新增額外的行對來指定多個檔案替換。
  7. 按一下“確定”儲存變更。
  8. 關閉登錄編輯程式。

執行這些步驟後,指定的檔案將在下次系統重新啟動時被取代。請記住,修改系統檔案可能會產生嚴重後果,因此在繼續操作之前務必小心謹慎並備份所有關鍵檔案。

相關內容