하드 디스크에는 4 개의 기본 (MBR) 파티션이 있으며 모두 NTFS로 포맷됩니다. 그 중 하나에 부팅 가능한 운영 체제가 포함되어 있습니다 (Windows XP, Windows Vista, Windows 7, Windows 8 또는 Windows 10). 부트 로더 프로그램은 어떤 파일 시스템이 부팅 가능한지 어떻게 알 수 있습니까? 파일 시스템의 부트 섹터 (즉 처음 512 바이트)를 읽는 것만으로 가능합니까?부팅 가능한 NTFS 파일 시스템을 검색하는 방법은 무엇입니까?
파티션 테이블의 활성 비트가 손실되었습니다.
바이트 0이 0xeb 또는 0xe9이고 바이트 510이 0x55이고 바이트 511이 0xAA인지 확인하는 것만으로는 충분하지 않습니다. Linux의 mkfs.ntfs 도구로 만든 부팅 가능하지 않은 NTFS 파일 시스템이이 테스트를 통과하고 예상되는 이 경우 필요한 출력은 부팅 할 수 없습니다.
내 프로그램 파일이나 디렉토리 내가 (NTLDR)를 찾고해야 NTFS 파일 시스템의 루트 디렉토리에있는 파일을 나열 할 수 있다면? 내 프로그램이 모든 파일 시스템의 첫 번째 40960 바이트 인 경우 파티션이 부팅 가능한 경우
, 아직 결정할 수 있습니다? (. 바람직하게는 단순한 논리를 최대한으로)
이 올바른인가 : 파일 \ BOOTMGR 또는 \ NTLDR는 NTFS 파일 시스템에있는 경우, 다음은 (아마도) 부팅합니다.
참조 : http://wiki.osdev.org/Partition_Table – Caramiriel
@Caramiriel : 어떻게 그 링크 도움이 NTFS 파일 시스템 부팅 여부를 검출 하는가? 나는 거기에서 아무 것도 찾을 수 없었다. – pts
파티션 테이블 레코드 (바이트 오프셋 0)는 파티션이 부팅 가능한지 여부를 알려줍니다. 그 외에도 [NTFS 부트 섹터] (https://technet.microsoft.com/en-us/library/cc977221.aspx)를 사용할 수 있는지 확인할 수 있습니다. 부팅 가능의 정의에 달려있다. – Caramiriel