Partition
MBR中的分區在哪裡?
我在各種系統上發現了很多 MBR 記錄的範例,它們都具有相同的結構,例如 - 如此處。
所以 - 前 512 個字節必須有一個程式碼區域、磁碟簽名和分區表。
我的磁碟佈局是:
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 596,2G 0 disk ├─sda1 8:1 0 2G 0 part /boot ├─sda2 8:2 0 16G 0 part [SWAP] ├─sda3 8:3 0 500G 0 part │ ├─kubuntu_vg-root (dm-0) 252:0 0 30G 0 lvm / │ └─kubuntu_vg-home (dm-1) 252:1 0 470G 0 lvm /home └─sda4 8:4 0 78,2G 0 part /media/setevoy/4A50CF6C50CF5D77 sr0 11:0 1 1024M 0 rom
可啟動設備在
sda4
這裡:/dev/sda4 * 1086326784 1250260991 81967104 7 HPFS/NTFS/exFAT
和
sda1 = /boot sda2 = swap sda3 = LVM physical volume with /home
現在,如果我做:
$ sudo dd if=/dev/sda of=/tmp/mymbr bs=512 count=1
並執行
file
它 - 我看不到任何類似於另一個 MBR 的Google搜尋:$ file /tmp/mymbr /tmp/mymbr: x86 boot sector
雖然“正確”(又名 - googled)範例顯示分區、磁碟 ID 等:
# file mbr.bin mbr.bin: x86 boot sector; partition 1: ID=0×83, active, starthead 1, startsector 63, 40949622 sectors; partition 2: ID=0×82, starthead 254, startsector 40949685, 2088450 sectors; partition 3: ID=0x8e, starthead 254, startsector 43038135, 74172105 sectors, code offset 0×48
尺寸正確:
$ ls -lh /tmp/mymbr -rw-r--r-- 1 root root 512 жов 6 11:18 /tmp/mymbr
使用
hexdump
- 我可以在文件中看到一些數據,包括分區(466 + 16 字節):$ hexdump -C -s 446 /tmp/mymbr 000001be 00 20 21 00 83 35 70 05 00 08 00 00 00 00 40 00 |. !..5p.......@.| 000001ce 00 35 71 05 82 df 72 2d 00 08 40 00 00 00 00 02 |.5q...r-..@.....| 000001de 00 df 73 2d 83 b6 12 24 00 08 40 02 00 00 80 3e |..s-...$..@....>| 000001ee 80 fe ff ff 07 fe ff ff 00 08 c0 40 00 70 c5 09 |...........@.p..| 000001fe 55 aa
但是有什麼問題
file
呢?也許版本?
$ file --version file-5.14 magic file from /etc/magic:/usr/share/misc/magic
更新 1
$ sudo fdisk -ls /dev/sda Disk /dev/sda: 640.1 GB, 640135028736 bytes 255 heads, 63 sectors/track, 77825 cylinders, total 1250263728 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x6fa60981 Device Boot Start End Blocks Id System /dev/sda1 2048 4196351 2097152 83 Linux /dev/sda2 4196352 37750783 16777216 82 Linux swap / Solaris /dev/sda3 37750784 1086326783 524288000 83 Linux /dev/sda4 * 1086326784 1250260991 81967104 7 HPFS/NTFS/exFAT
您可能有幸看到更多資訊,包括使用的分區
file -k # Don't stop at the first match, keep going.
雖然在我的系統上它也沒有顯示分區表。(文件 5.15 和 5.19)。
但我想知道為什麼文件應該列印分區表。IMO 文件應該顯示它是什麼類型的數據,而不是全部內容。更好的信任
fdisk -l
或其他眾所周知的磁碟工具。