디스크의 어디에 바이트 플래그가 기록됩니까?

디스크의 어디에 바이트 플래그가 기록됩니까?

저는 제가 담당하고 있는 임베디드 Linux 장치용 업데이트 유틸리티를 작성 중입니다.

업데이트가 스테이징 파티션에 적용된 다음 부트로더가 스테이징 파티션으로 전환하여 기본 파티션을 새 스테이징 파티션으로 변경하는 기본 병렬 설정을 만들고 있습니다.

그러나 임베디드 장치는 CF 카드를 사용하는데, CF 카드가 가끔 데이터를 순서대로 쓰지 않는 경우가 있는 것으로 알려져 있습니다. 따라서 파일 시스템을 읽기/쓰기로 마운트하면 손상될 가능성이 있습니다. 따라서 새 파티션을 가리키도록 부트로더 파티션 RW를 마운트할 수 없습니다.

단일 바이트를 쓰는 것이 안전한 디스크 위치가 있습니까?, 여기서 바이트는 첫 번째 파티션의 경우 0을 나타내고 두 번째 파티션의 경우 1을 나타냅니다. CF 카드라도 단일 바이트 쓰기를 망칠 수는 없습니다. 이는 원자적으로 발생해야 합니다.

일반 DOS MBR 형식 디스크를 사용하고 있습니다.

답변1

데이터를 보관할 세 번째 작은 파티션을 만듭니다. 파일 시스템을 실제로 사용할 수 없는 경우 디스크의 다른 위치로 인해 조만간 문제가 발생할 수 있습니다.

때로는 디스크의 마지막 몇 개의 클러스터를 FAT 항목에서 주소 지정할 수 없는 경우도 있습니다. 이는 옵션일 수 있지만 장치의 정확한 크기에 따라 크게 달라집니다.

임베디드 CPU/장치에 EEPROM이 있습니까? 이는 단일 바이트에 이상적인 위치입니다.

관련 정보