4GB SD 카드가 있습니다. 이미지가 로드되기 전에
root@ubuntu# fdisk -l
Disk /dev/sdb: 3965 MB, 3965190144 bytes
49 heads, 48 sectors/track, 3292 cylinders, total 7744512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 8192 7744511 3868160 b W95 FAT32
2GB SD 이미지를 카드에 로드했습니다 dd if=2gbsd-noeclipse-latest.dd of=/dev/sdb bs=4M conv=fsync
. 출력 fdisk -l
:
root@ubuntu# fdisk -l
Disk /dev/sdb: 3965 MB, 3965190144 bytes
122 heads, 62 sectors/track, 1023 cylinders, total 7744512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 16063 8031+ b W95 FAT32
/dev/sdb2 16064 20158 2047+ da Non-FS data
/dev/sdb3 20162 24257 2048 da Non-FS data
/dev/sdb4 24260 3678207 1826974 83 Linux
그래서 2GB가 사용되지 않았습니다. sdb4
포함되지 않은 2GB의 공간을 사용할 수 있도록 확장하고 싶습니다 .
(7744512-3678207)*512= 2081948160 byte
그래서 사용하지 않은 공간을 sum 으로 계산합니다 2081948160 / 1048576 = 1985.50048828 MB
. 그래서 아마도 1900MB까지 확장할 것입니다. 나는 종종 resize2fs
이렇게 합니다:
resize2fs /dev/sdb4 1900M
그러나 출력
resize2fs 1.42.5 (29-Jul-2012)
open: No such file or directory while opening /dev/sdb4
위 명령을 어떻게 사용해야 하는지, 아니면 어떻게 확장할 수 있는지 말해 줄 수 있는 사람이 있나요 sdb4
?
답변1
/dev/sdb4
블록 장치(여기서는 )의 크기 조정과 파일 시스템의 크기 조정을 구별해야 합니다 . 파일 시스템은 기본 블록 장치보다 작을 수 있지만 기본 블록 장치보다 클 수는 없습니다.
파티션 테이블을 백업해야 합니다.
sfdisk -d /dev/sdb > ~/sfdisk_sdb.txt
그런 다음 파일을 복사하고 다음과 유사한 줄을 조정합니다.
/dev/sdb4 : start=24260, size=3653948, Id= 83
파티션이 장치의 마지막 섹터(즉, 7744511, 첫 번째 섹터는 1이 아니라 0임)에서 끝나기를 원합니다. 크기는 해당 숫자에서 시작 섹터를 뺀 값에 1을 더한 것입니다(시작 및 끝 섹터 개수). 그런 다음 파티션 테이블을 교체합니다.
sfdisk /dev/sdb <~/sfdisk_sdb.mod.txt
resize2fs
그런 다음 크기 매개변수 없이 사용할 수 있습니다 . /dev/sdb4
그러면 전체 크기가 사용됩니다 . e2fsck -f /dev/sdb4
사용 직전에 실행 해야 합니다 resize2fs
.