Raspberry Pi의 하드 드라이브로 사용되던 4GB SD 카드를 지우려고 하다가 Mac OS X 디스크 유틸리티*에 들어가서 Erase
전체 디스크를 삭제하고 전체 디스크를 하나의 대형 FAT-32 파티션으로 지정했습니다.
출력 fdisk /dev/disk2
:
Disk: /dev/disk2 geometry: 975/128/63 [7866368 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: 0B 1023 254 63 - 1023 254 63 [ 8192 - 7858176] Win95 FAT-32
2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
내 질문은,첫 번째 파티션이 섹터 8192에서 시작되는 이유는 무엇입니까?, 부트 섹터 바로 뒤가 아닌?
*죄송합니다. 내 fdisk
능력은 정확히 그랜드마스터 수준은 아니다.
답변1
이는 SD 카드의 기본 물리적 섹터와 관련이 있습니다. 간단히 말해서, 첫 번째 "블록"은 1개의 vfat 파티션이 있는 MS 하드 드라이브의 구조를 설명하는 파일 할당 테이블을 호스팅하도록 최적화되어 있습니다.
이는 잘못된 가정이지만 많은 장치, 카메라, 휴대폰 등은 단일 파티션에서 vfat 저장소를 사용합니다. 이 카드는 이 시장을 위해 만들어졌습니다. 다른 블록은 대규모 연속 파일(이미지, 비디오 등)을 작성하는 데 최적화되어 있습니다.
SD 카드는 여러 유형의 논리 블록을 사용하며, 그 중 가장 중요한 것은 한 번에 지울 수 있는 가장 작은 데이터 양인 "삭제 블록"입니다. 카드에 무엇이든 쓰려면 카드 컨트롤러(SD 내부)가 먼저 전체 삭제 블록을 읽고 지운 다음 업데이트된 내용으로 써야 합니다.
저는 1M 블록의 오래된 4G 카드를 가지고 있는데, 대부분의 최신 카드에는 4M 블록이 있습니다.
이는 8192개의 512바이트 섹터입니다.
따라서 카드에 파일을 쓰면 추가 블록 1개가 지워지지 않도록 파티션을 정렬해야 합니다. 그렇지 않으면 작은 파일을 쓸 때 쓰기 속도가 느린 카드를 사용하게 됩니다.
자세한 내용은 lwn.net을 참조하세요.
저렴한 플래시 드라이브로 Linux 최적화
Mac OS X 디스크 유틸리티에 대해 잘 모릅니다. 아마도 안전한 기본값일 수도 있고 마법처럼 작동할 수도 있습니다. 바라보다플래시 테스트 벤치카드에 대한 자세한 정보.