GParted가 플래시 디스크를 부팅 가능하게 만드는 이유는 무엇입니까? 악성 코드가 아니라면 무엇입니까?

GParted가 플래시 디스크를 부팅 가능하게 만드는 이유는 무엇입니까? 악성 코드가 아니라면 무엇입니까?

내 플래시 디스크가 sudo dd if=/dev/zero of=/dev/sda어디에 있는지 확인했습니다 . 이 이후에는 모두 0이었습니다. 그런 다음 플래시 디스크에 GParted를 사용하여 파티션 테이블을 만들었습니다. 다른 변경은 하지 않았습니다. 이제 이것은 다음의 출력입니다 ./dev/sda/dev/sdasudo 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 be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..|
00000020 00 be be 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바이트(512B) 복사, 0.00183447초, 279kB/s
00000200

나는 그것을 두 번 시도했다. 내 질문은 왜 이런 일이 일어 났는지입니다. 내가 이해하는 바에 따르면 파티션 테이블은 446번째 바이트 이후에 시작되며 55 aa서명이 거기에 있을 이유가 없습니다 .

악성 코드가 아니라면 무엇일까요?

답변1

GParted는 꼭 필요하지 않은 경우에도 항상 55AA 서명을 MBR에 씁니다. (이미 언급했듯이 BOOTABLE MBR에만 필요합니다.)

그 이유는 역사적 호환성 이유에 있습니다.
MBR 처리 코드가 잘못 구현된 일부 시스템에서는 MBR에 서명이 없으면 MBR이 유효하지 않은 것으로 간주합니다.
이 문제를 방지하기 위해 GParted(및 MBR을 생성할 수 있는 대부분의 다른 소프트웨어)는 MBR에 더미/안전 부트로더 코드를 넣고 "부팅 가능한 디스크" 서명을 제공합니다.

관련 정보