如何將 MBR 的引導代碼清零?

如何將 MBR 的引導代碼清零?

我的 Windows 系統中有兩個磁碟機:

  • 驅動器 1、系統和引導。
  • 驅動器2、資料儲存。

之前一段時間,我在第二個磁碟機上安裝了 Windows。現在我已經有了當前的設置,我想從驅動器 2 上的引導扇區中刪除 Windows 的引導代碼。小段程式碼。

有沒有軟體或指令可以做到這一點?

答案1

對於 DOS 風格的分割表,MBR 始終作為磁碟機開頭的一個非常小的磁區集合出現在磁碟機上。

它不是一個可以刪除的東西,因為除了引導程式碼之外,它還包含磁碟機的分割區表。遺失這意味著磁碟上的資料雖然完好無損,但突然變得更難獲取(我見過的大多數作業系統都會報告格式錯誤,如果不格式化,Windows 會詢問您是否要格式化磁碟機)以了解分割區表)。

更多資訊:http://technet.microsoft.com/en-us/library/cc976786.aspx

編輯:既然您編輯了問題,我將更新我的答案; dd可以擦。啟動進入 Linux livecd 並在未安裝的資料磁碟機上運作;

dd if=/dev/<path to data drive> of=/dev/<somewhere safe on windows drive>/mbr.img bs=512 count=1

這將為您提供 512 位元組的 MBR 備份,包括分割表,以防萬一出現問題。

要擦除 446 位元組引導程式:

dd if=/dev/zero of=/dev/<path of data drive> bs=446 count=1 seek=0

根據您想要實現的目標,您可能只想擦除 MBR 的前 440 個位元組。前 440 個位元組後面的 4 個位元組包含您可能想要保留的 Windows 唯一磁碟簽章。若要僅擦除前 440 位元組,請使用下列命令:

dd if=/dev/zero of=/dev/<path of data drive> bs=440 count=1 seek=0

答案2

在磁碟管理中將其標記為不活動應該足以滿足您的情況。

答案3

我提前請您原諒這個複雜的答案,但我不太明白您想要做什麼(或更好: 為什麼)。

我認為您正在尋找FDISK /CMBR命令。還有執行相同任務的實用程序,例如 Paragon Partition Magic 或 Boot/Partition Editor。

你要做的就是重寫MBR將 D: 分割區設定為非系統(不活動、不可啟動、無 B 標誌等)。

請注意,FDISK /CMBR 只能作用於非系統磁碟;許多引導程式安裝的程式碼是需要然後“查看”具有正確格式或幾何形狀的磁碟;用庫存載入器替換它們(這就是 /CMBR 所做的)可以使磁碟無法訪問,直到恢復先前的程式碼為止。

如果您需要讓磁碟無法開機,因為它會幹擾開機順序或其他原因(例如,顯示「NTLDR not found」錯誤而不是開機),更好的選擇是修改開機裝置順序的 BIOS 參數或使用類似FDISK 的實用程式將該磁碟機上的所有分割區標記為非系統分割區。在緊要關頭,交換兩個硬碟應該可以達到相同的結果。

另外,還有「選擇性開機載入程式」(例如 GRUB)可以幫助您實現靈活的開機選項(例如從啟動選單畫面引導 Linux、Windows 或另一個 Windows)。

相關內容