我做了我的隨身碟在sudo dd if=/dev/zero of=/dev/sda
哪裡。此後全為零。然後我在隨身碟上用GParted建立了一個分區表。我沒有做其他改變。現在這是輸出:/dev/sda
/dev/sda
sudo dd if=/dev/sda bs=512 count=1|hexdump -C
00000000 fa b8 00 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |................| 00000010 fb 是 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..| 00000020 00 是 07 38 04 75 0b 83 c6 10 81 fe fe 07 75 |....8.u........u| 00000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b |.........|...t..| 00000040 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00 |L.....|.........| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001b0 00 00 00 00 00 00 00 00 fd 5c ba 4c 00 00 00 00 |.........\.L....| 000001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |........................U.| 1+0 筆記錄 1+0記錄輸出 複製 512 位元組 (512 B),0.00183447 秒,279 kB/秒 00000200
我試了兩次。我的問題是為什麼會發生這種情況。據我了解,分區表在第 446 個位元組之後開始,並且沒有理由簽名55 aa
在那裡。
如果不是惡意軟體,它會是什麼?
答案1
GParted 始終將 55AA 簽名寫入 MBR,即使並非嚴格需求。 (如您已經提到的,只有可啟動 MBR 才需要它。)
原因就在於歷史相容的原因。
某些 MBR 處理程式碼實作不當的系統,如果沒有簽名,就會直接認為 MBR 無效。
為了防止這個問題,GParted(以及大多數其他可以建立 MBR 的軟體)會將虛擬/安全開機載入程式程式碼放入 MBR 中,並為其賦予「可啟動磁碟」簽章。