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 ext4align-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 /
コメント