다양한 시스템에서 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
"올바른" 동안(일명 -구글 검색) 파티션, 디스크 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 |[email protected]..|
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
답변1
운이 좋으면 파티션 사용을 포함한 더 많은 정보를 볼 수 있습니다.
file -k # Don't stop at the first match, keep going.
내 시스템에서는 파티션 테이블도 표시되지 않습니다. (문서 5.15 및 5.19).
그런데 왜 파일이 파티션 테이블을 인쇄해야 하는지 알고 싶습니다. IMO 파일은 전체 내용이 아닌 어떤 종류의 데이터인지 표시해야 합니다. 더 나은 신뢰 fdisk -l
또는 기타 잘 알려진 디스크 유틸리티.