resize2fsによるパーティションの拡張

resize2fsによるパーティションの拡張

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

関連情報