mkdosfs는 운전 레코더 SD 카드를 FAT32로 포맷하며 클러스터 크기는 32kb입니다.

mkdosfs는 운전 레코더 SD 카드를 FAT32로 포맷하며 클러스터 크기는 32kb입니다.

제조업체의 권장 사항에 따라 블랙박스 SD 카드를 다시 포맷하는 스크립트를 작성하려고 합니다. 간단한 Python 스크립트를 사용하여 Windows 시스템에서 이 작업을 수행할 수 있습니다. 다음은 코드 조각입니다.

...
fm = windll.LoadLibrary('fmifs.dll')
FMT_CB_FUNC = WINFUNCTYPE(c_int, c_int, c_int, c_void_p)
FMIFS_UNKNOWN = 0
clustersize = c_int(32768) # 32K cluster size
fm.FormatEx(c_wchar_p(Drive), FMIFS_UNKNOWN, c_wchar_p(Format),
            c_wchar_p(Title), True, clustersize, FMT_CB_FUNC(myFmtCallback))
...

따라서 이것은 일부 Windows DLL 및 형식을 사용하고 있으며 작동합니다. 전체 스크립트를 찾을 수 있습니다여기

이제 Ubuntu 시스템에서도 동일한 작업을 수행하고 싶습니다. mkdosfs를 사용하려고 하는데 시스템 호출을 사용하는 경우 명령줄은 다음과 같습니다.

mkdosfs -f 2 -F 32 -s 64 -S 512 /dev/sdb1

이렇게 하면 SD 카드가 포맷되지만 노트북에서 카메라를 분리하고 켜서 녹화를 시작하면 충돌이 발생하는 것 같습니다. 아마도 SD 카드의 예상 파일 시스템이 올바르지 않기 때문일 것입니다.

물론 MS windows와 ubuntu의 경우 예상되는 디렉터리("/DCIM/100MEDIA")를 추가했고 카메라의 타임스탬프가 있는 "time.txt" 파일도 추가했습니다. 시작 시 데이터가 읽혀집니다. 비디오에 타임스탬프로 추가된 내부 시계를 재설정합니다.

제가 사용하고 있는 카메라는 "Roadhawk Bullet Ride"이며 사양에는 클러스터 크기가 32k인 FAT32 파일 시스템만 사용한다고 나와 있습니다. Windows 및 우분투에서 카드를 포맷한 후 dosfdsk에서 얻은 출력을 비교했는데 큰 차이를 볼 수 없습니다. 섹터당 512바이트, 클러스터당 32768바이트, 2 FAT, 32비트를 얻었는지 잘 모르겠습니다. "예약된 섹터"와 같은 숫자와 dosfdsk에서 제공하는 기타 모든 정보가 중요합니다.

제공할 수 있는 도움이나 팁에 감사드립니다.

관련 정보