Partition
為什麼 BOOTMGR 在 MBR 內部?
根據我找到的 MBR 結構定義,分區表數據應該在磁碟第一個塊的 446 到 510 字節範圍內。但是,當我執行時:
sudo xxd -g 1 -u -l 512 /dev/sda1
我看到這些字節中有一些與 BOOTMGR 相關的文本,而不是分區定義。為什麼是這樣?分區在哪裡定義?
以下是上述命令的輸出:
0000000: EB 52 90 4E 54 46 53 20 20 20 20 00 02 08 00 00 .R.NTFS ..... 0000010: 00 00 00 00 00 F8 00 00 3F 00 FF 00 00 08 00 00 ........?....... 0000020: 00 00 00 00 80 00 80 00 F8 17 03 00 00 00 00 00 ................ 0000030: C0 06 00 00 00 00 00 00 78 06 00 00 00 00 00 00 ........x....... 0000040: F6 00 00 00 01 00 00 00 40 3C CD 9B 25 88 CF 01 ........@<..%... 0000050: 00 00 00 00 FA 33 C0 8E D0 BC 00 7C FB 68 C0 07 .....3.....|.h.. 0000060: 1F 1E 68 66 00 CB 88 16 0E 00 66 81 3E 03 00 4E ..hf......f.>..N 0000070: 54 46 53 75 15 B4 41 BB AA 55 CD 13 72 0C 81 FB TFSu..A..U..r... 0000080: 55 AA 75 06 F7 C1 01 00 75 03 E9 D2 00 1E 83 EC U.u.....u....... 0000090: 18 68 1A 00 B4 48 8A 16 0E 00 8B F4 16 1F CD 13 .h...H.......... 00000a0: 9F 83 C4 18 9E 58 1F 72 E1 3B 06 0B 00 75 DB A3 .....X.r.;...u.. 00000b0: 0F 00 C1 2E 0F 00 04 1E 5A 33 DB B9 00 20 2B C8 ........Z3... +. 00000c0: 66 FF 06 11 00 03 16 0F 00 8E C2 FF 06 16 00 E8 f............... 00000d0: 40 00 2B C8 77 EF B8 00 BB CD 1A 66 23 C0 75 2D @.+.w......f#.u- 00000e0: 66 81 FB 54 43 50 41 75 24 81 F9 02 01 72 1E 16 f..TCPAu$....r.. 00000f0: 68 07 BB 16 68 70 0E 16 68 09 00 66 53 66 53 66 h...hp..h..fSfSf 0000100: 55 16 16 16 68 B8 01 66 61 0E 07 CD 1A E9 6A 01 U...h..fa.....j. 0000110: 90 90 66 60 1E 06 66 A1 11 00 66 03 06 1C 00 1E ..f`..f...f..... 0000120: 66 68 00 00 00 00 66 50 06 53 68 01 00 68 10 00 fh....fP.Sh..h.. 0000130: B4 42 8A 16 0E 00 16 1F 8B F4 CD 13 66 59 5B 5A .B..........fY[Z 0000140: 66 59 66 59 1F 0F 82 16 00 66 FF 06 11 00 03 16 fYfY.....f...... 0000150: 0F 00 8E C2 FF 0E 16 00 75 BC 07 1F 66 61 C3 A0 ........u...fa.. 0000160: F8 01 E8 08 00 A0 FB 01 E8 02 00 EB FE B4 01 8B ................ 0000170: F0 AC 3C 00 74 09 B4 0E BB 07 00 CD 10 EB F2 C3 ..<.t........... 0000180: 0D 0A 41 20 64 69 73 6B 20 72 65 61 64 20 65 72 ..A disk read er 0000190: 72 6F 72 20 6F 63 63 75 72 72 65 64 00 0D 0A 42 ror occurred...B 00001a0: 4F 4F 54 4D 47 52 20 69 73 20 6D 69 73 73 69 6E OOTMGR is missin 00001b0: 67 00 0D 0A 42 4F 4F 54 4D 47 52 20 69 73 20 63 g...BOOTMGR is c 00001c0: 6F 6D 70 72 65 73 73 65 64 00 0D 0A 50 72 65 73 ompressed...Pres 00001d0: 73 20 43 74 72 6C 2B 41 6C 74 2B 44 65 6C 20 74 s Ctrl+Alt+Del t 00001e0: 6F 20 72 65 73 74 61 72 74 0D 0A 00 00 00 00 00 o restart....... 00001f0: 00 00 00 00 00 00 00 00 80 9D B2 CA 00 00 55 AA ..............U.
那不是MBR。
您發布的命令也不會列印 MBR。它要求第一個磁碟分區的引導扇區,而不是 MBR。
/dev/sda
如果您想查看 MBR,請嘗試檢查前 512 個字節。
邁克爾漢普頓提供的答案是正確的。/dev/sda 的前 512 個字節與 /dev/sda1 的前 512 個不同的磁碟位置。您可以通過使用
dd
提取每個並cmp -l
比較它們來親自看到這一點。磁碟有一個 MBR;每個分區都有自己的 PBR;它們是不同的。您提取的是分區的 PBR,而不是磁碟的 MBR。