vfat 파일 시스템의 크기를 포함하는 파티션의 크기와 정확히 일치하도록 어떻게 늘릴 수 있습니까?

vfat 파일 시스템의 크기를 포함하는 파티션의 크기와 정확히 일치하도록 어떻게 늘릴 수 있습니까?

이후 추가 질문입니다이것.

구글링을 해보았지만 대부분의 검색 결과는 파티션과 파일 시스템을 동시에 늘리는 방법에 관한 것이었습니다.

내 파티션이 이미 파일 시스템보다 크기 때문에 문제가 이보다 더 간단하다고 생각하는데 파일 시스템을 확장하여 파티션을 채우고 싶습니다.

내 파일 시스템이 파티션보다 작은 이유는 mkfs파티션을 포맷하지 않고 cat파일 시스템 이미지를 파티션에 쓰기 때문입니다. 그리고 이미지는 대상 파티션보다 작습니다.

파티션을 완전히 채우기 위해 파일 시스템을 늘려야 하는 이유는 간격이 있으면 임베디드 SoC가 부팅되지 않기 때문입니다.이 위키 마지막에 설명.

답변1

휴대폰에서 microSD 카드의 크기를 업그레이드하는 동안 이 문제가 발생했습니다. 한번은 dd기존 카드를 새 카드에 복제한 적이 있습니다. 새 파티션은 더 크지만 파일 시스템의 크기는 여전히 이전 microSD와 동일합니다. 이 문제를 해결하기 위해 나는 fdiskfatresize. 또한, 나는 파티셔닝을 사용하고 /dev/mmcblk0p1있는데 fatresize어떤 이유로 파티셔닝이 마음에 들지 않는다는 점을 언급해야 합니다 (오류가 발생합니다: ) Could not stat device /dev/mmcblk0p - No such file or directory.. 따라서 언급된 해결 방법을 사용해야 합니다.https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=810735그리고 소프트 링크를 추가하세요 sudo ln -s /dev/mmcblk0p1 /dev/tmp.

어쨌든 vfat 파티션의 크기를 조정하려면( /dev/tmp특정 파티션 교체):

  1. sudo fdisk -s /dev/tmp파티션 크기를 kB 단위로 결정하는 데 사용됩니다 . 내 경우에는 이렇다244244480
  2. sudo fatresize -s 244244480k /dev/tmp(1단계에서 파티션 크기를 교체합니다.)

언제나 그렇듯, 이 작업을 시도하기 전에 파티션을 백업하세요!

해결 방법을 사용해야 하는 경우 임시 장치 소프트 링크를 삭제해야 합니다.

답변2

내가 아는 유일한 방법은 파티션을 약간 축소하거나 늘리는 것입니다 gparted(또는 이전 버전에서도 parted여전히 이 작업을 수행함). 어떻게든 크기 조정 코드는 vfat이 파티셔너(또는 해당 문제에 대해)에 숨겨져 있으며 이를 직접 수행하거나 더 많은 옵션을 제공하는 libparted유사한 도구는 없는 것 같습니다 .resize2fs

이러한 크기 조정이 임베디드 SoC에 충분한지 여부 - vfat가 임의의 파티션 크기에 얼마나 잘 적응할 수 있는지 잘 모르겠습니다. 테스트할 수 있는 프로그램에 연결했습니다. 값이 일치하도록 파티션을 약간 더 작게 만들어야 할 수도 있습니다.

관련 정보