ddコマンドでの引越し後のdisk領域の拡張の方法

1.はじめに

以前 dd コマンドでバックアップてな記事を書いたが、これだとサイズの大きいディスクに引っ越しが楽ちんなはずだが、dd コマンド + parted コマンドで残りの領域を拡張しなければならず、その時の記録。

2.現況

$ lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 29.2G 0 disk
|-sda1 8:1 1 256M 0 part
-sda2 8:2 1 28.9G 0 part

mmcblk1 179:0 0 14.9G 0 disk
|-mmcblk1p1 179:1 0 200M 0 part /boot
-mmcblk1p2 179:2 0 14.7G 0 part /

現在、16Gの SDカードでRaspberry piを運用していますが、容量が少なすぎて心配。だから32Gの SD カードにシステムを移行させようとしています。

3.dd コマンドでの複写

まず dd コマンドで複写します。

$ sudo dd if=/dev/mmcblk1 of=/dev/sda

31268864+0 records in
31268864+0 records out
16009658368 bytes (16 GB, 15 GiB) copied, 2353.35 s, 6.8 MB/s

できあがったカードの容量を確認。

$ lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 29.2G 0 disk
|-sda1 8:1 1 200M 0 part
-sda2 8:2 1 14.7G 0 part
mmcblk1 179:0 0 14.9G 0 disk
|-mmcblk1p1 179:1 0 200M 0 part /boot
-mmcblk1p2 179:2 0 14.7G 0 part /

全く同じ容量のディスクが出来上がりました。

4.空き領域の拡張

でも、sdaは 32 Gだからsda2 の領域が使われずに残っています。そこでこれを拡張します。

$ sudo parted

GNU Parted 3.4
Using /dev/sda
Welcome to GNU Parted! Type ‘help’ to view a list of commands.

(parted) print all

Model: USB Mass Storage Device (scsi)
Disk /dev/sda: 31.3GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number Start End Size Type File system Flags
1 1049kB 211MB 210MB primary fat16 lba
2 211MB 16.0GB 15.8GB primary ext4
Model: SD SD16G (sd/mmc)
Disk /dev/mmcblk1: 16.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number Start End Size Type File system Flags
1 1049kB 211MB 210MB primary fat16 lba
2 211MB 16.0GB 15.8GB primary ext4

この中から /dev/sdaを選択

(parted)select /dev/sda

Model: USB Mass Storage Device (scsi)
Disk /dev/sda: 31.3GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 211MB 210MB primary fat16 lba
2 211MB 16.0GB 15.8GB primary ext

/dev/sdaの2番めの領域を100%拡張します。

(parted) resizepart 2
End? [16.0GB]? 100%

確認します。

(parted) print /dev/sda

Model: USB Mass Storage Device (scsi)
Disk /dev/sda: 31.3GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 211MB 210MB primary fat16 lba
2 211MB 31.3GB 31.1GB primary ext4

align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkpart PART-TYPE [FS-TYPE] START END make a partition
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular
partition
quit exit program
rescue START END rescue a lost partition near START and END
resizepart NUMBER END resize partition NUMBER
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
disk_set FLAG STATE change the FLAG on selected device
disk_toggle [FLAG] toggle the state of FLAG on selected device
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted

思うように拡張できました。ここで終了。

(parted) q

Information: You may need to update /etc/fstab.

本来ならば /etc/fstab を書き換えなければなりませんが、Raspberry piでは不要。

新しく拡張できたSDカードで立ち上げて、容量を確認しました。ちょっと足りない気もしますが、良しとします。

$ lsblk

mmcblk1 179:0 0 29.2G 0 disk
|-mmcblk1p1 179:1 0 200M 0 part /boot
`-mmcblk1p2 179:2 0 29G 0 part /

コメント

タイトルとURLをコピーしました