Raspberry Pi のSDカードのパーティションを拡張する
2017/01/31
64GBのSDカードを用意したはずが・・・
Raspberry Pi 2 を購入したので、遊ぼうとSDカードにOSを入れるとフォーマットの関係からか、3GBまでしか読み取れない。モジュールをインストールするとこれだけでディスクフルとなってしまうのでなんとかしたい。
ディスクの拡張にfdiskコマンドを使います。
fdiskコマンドを入力するとメッセージで「Be careful before using the write command.(書き込みコマンドを使う前は慎重に)」って書かれてますね。失敗したらデータを失いますからね。慎重に行きましょう。
1 2 3 4 5 |
pi@raspberrypi:~ $ sudo fdisk /dev/mmcblk0 Welcome to fdisk (util-linux 2.25.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. |
pコマンドで現在の状態を確認
1 2 3 4 5 6 7 8 9 10 11 |
Command (m for help): p Disk /dev/mmcblk0: 59 GiB, 63383273472 bytes, 123795456 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 Disklabel type: dos Disk identifier: 0xea0e7380 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 8192 131071 122880 60M c W95 FAT32 (LBA) /dev/mmcblk0p2 <strong>131072</strong> 7684095 7553024 3.6G 83 Linux |
dコマンドで隠し部分のパーティションを削除。
1 |
Command (m for help): d |
2番目のパーティションが対象なので2を選択する。
1 2 3 |
Partition number (1,2, default 2): 2 Partition 2 has been deleted. |
pコマンドで今の状態を確認。
1 2 3 4 5 6 7 8 9 10 |
Command (m for help): p Disk /dev/mmcblk0: 59 GiB, 63383273472 bytes, 123795456 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 Disklabel type: dos Disk identifier: 0xea0e7380 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 8192 131071 122880 60M c W95 FAT32 (LBA) |
nコマンドで新規パーティションを作成
1 2 3 4 |
Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) |
p(primary)を選択
1 |
Select (default p): p |
2番目のパーティションを選択
1 |
Partition number (2-4, default 2): 2 |
最初のpコマンドで表示されていた2番目のパーティションのstartの値を入力(今回の場合は131072)
1 |
First sector (2048-123795455, default 2048): 131072 |
何も入力せずにエンター
1 |
Last sector, +sectors or +size{K,M,G,T,P} (131072-123795455, default 123795455): |
pコマンドでパーティションの領域が大きくなっていることを確認する。59GB!最高だ!
1 2 3 4 5 6 7 8 9 10 11 |
Command (m for help): p Disk /dev/mmcblk0: 59 GiB, 63383273472 bytes, 123795456 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 Disklabel type: dos Disk identifier: 0xea0e7380 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 8192 131071 122880 60M c W95 FAT32 (LBA) /dev/mmcblk0p2 131072 123795455 123664384 59G 83 Linux |
pコマンドで値が変わっていますが今の段階はあくまで「今の設定値にしたら、こういう状態になるよ」と教えてくれているだけで、値が書き換わっているわけではありません。
問題なさそうならwコマンドで書き込み。(書き込むと元には戻れません)
問題がありそうならqコマンドでキャンセルしてfdiskを終了することができます。
1 2 3 4 5 6 |
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8). |
反映には再起動が必要なのでrebootします
1 |
pi@raspberrypi:~ $ sudo reboot |
再起動後の確認
まずはdfで確認。98%使用中とぎりぎりです。
1 2 3 4 5 6 7 8 9 10 |
pi@raspberrypi:~ $ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 3651636 3370992 75436 98% / devtmpfs 469748 0 469748 0% /dev tmpfs 474052 0 474052 0% /dev/shm tmpfs 474052 6440 467612 2% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 474052 0 474052 0% /sys/fs/cgroup /dev/mmcblk0p1 61384 20296 41088 34% /boot tmpfs 94812 0 94812 0% /run/user/1000 |
次にresize2fsコマンドで領域をリサイズ
1 2 3 4 5 |
pi@raspberrypi:~ $ sudo resize2fs /dev/mmcblk0p2 resize2fs 1.42.12 (29-Aug-2014) Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 4 The filesystem on /dev/mmcblk0p2 is now 15458048 (4k) blocks long. |
再度dfコマンドで確認。98%から6%へと変わりました。これでapt-get installし放題ですね。
1 2 3 4 5 6 7 8 9 10 |
pi@raspberrypi:~ $ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 60801628 3375436 54899800 6% / devtmpfs 469748 0 469748 0% /dev tmpfs 474052 0 474052 0% /dev/shm tmpfs 474052 6440 467612 2% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 474052 0 474052 0% /sys/fs/cgroup /dev/mmcblk0p1 61384 20296 41088 34% /boot tmpfs 94812 0 94812 0% /run/user/1000 |