2011-04-22 64 views
0

我打印了我的Pentium M筆記本電腦硬盤驅動器的MBR。這裏是我使用的命令:讀取硬盤驅動器時的字節順序MBR

$ sudo od -N 512 -x /dev/sda 

我希望在輸出中按順序獲得字節,但似乎每一對字節都是相反的。

例如,下面的16個字節描述第二分區:

 
0000700 .... .... .... .... .... .... .... 0080 
0000720 0601 fe07 ffff 7886 0001 1990 0353 

這是一個可引導分區。因此,此分區條目中的第一個字節應爲80.第5個字節應具有文件系統代碼,對於NTFS爲「07」。然而,這些分別出現在第2和第6位。

另一個例子 - 最後4個字節應該是分區的大小。這是有道理的,如0x03531990(28.5GB)。但是,上面的輸出顯示爲1990 0353.

它看起來像是在反轉每對字節。由於這是一個小小的endian芯片,我可以看到它首先放置了最不重要的字節,但是它不能從字大小開始工作嗎?那將是4個字節。上面的輸出似乎是每2個字節反轉一次。

由此非常困惑,任何幫助將不勝感激。謝謝!

回答

1

odman page

「-X」輸出爲十六進制兩字節 單元。相當於'-t x2'。

可以指定的字節數到 使用在通過用十進制 整數繼 類型指示符字符解釋在 給定數據類型的每個號碼。

因此,也許你更喜歡-t x1(或-t x4)來代替。

+0

哎呀!這很有道理 - 感謝您的幫助。 – 2011-04-22 02:54:43

4

顯然,這是正常的。請參閱:

在所有IBM PC,PC兼容或任何 其他小端電腦, 的兩個或兩個以上 字節十六進制數總是存儲在介質上或以相反的順序 內存(更多 高效CPU處理)。因此, MBR簽名(十六進制數0xAA55(或 AA55h))將按順序顯示在磁盤編輯器 中:55 AA。

http://en.wikipedia.org/wiki/Partition_table_%28master_boot_record%29