(2015-03-08) そこで、現在の2倍の8GBのSDカードへの移行をしてみることにしました。 目論見 †としては、SDカードを丸ごと読み出して、新しいSDカードへ丸ごと書き込んでしまえ、ということになります。 使用した機材。 †
作業内容 †2号機での作業その1 †まずは2号機を停止します。 $ su # poweroff 2号機が停止したら、SDカードを取り出し、念のためライトプロテクトノッチをLock側にしておきます。 1号機での作業 †ここからしばらくは1号機での作業になります。 1号機のSDカードリーダーのデバイス名を確認します。このあたりはsyslogを見つつ「勘」で行くしかないです。 # tail /var/log/syslog Mar 7 16:13:30 rasp00 kernel: [260997.720244] usb 1-1.3.1: new high-speed USB device number 9 using dwc_otg Mar 7 16:13:30 rasp00 kernel: [260997.821524] usb 1-1.3.1: New USB device found, idVendor=0cf2, idProduct=6230 Mar 7 16:13:30 rasp00 kernel: [260997.821562] usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=4 Mar 7 16:13:30 rasp00 kernel: [260997.821580] usb 1-1.3.1: Product: UB623X Mar 7 16:13:30 rasp00 kernel: [260997.821595] usb 1-1.3.1: Manufacturer: ENE Flash Mar 7 16:13:30 rasp00 kernel: [260997.821610] usb 1-1.3.1: SerialNumber: 606569746801 Mar 7 16:13:30 rasp00 kernel: [260997.826212] usb-storage 1-1.3.1:1.0: USB Mass Storage device detected Mar 7 16:13:30 rasp00 kernel: [260997.827278] scsi host4: usb-storage 1-1.3.1:1.0 Mar 7 16:13:31 rasp00 kernel: [260998.821162] scsi 4:0:0:0: Direct-Access USB2.0 CardReader CF 0100 PQ: 0 ANSI: 0 Mar 7 16:13:31 rasp00 kernel: [260998.824857] sd 4:0:0:0: [sdc] Attached SCSI removable disk Mar 7 16:13:31 rasp00 kernel: [260998.825462] sd 4:0:0:0: Attached scsi generic sg2 type 0 Mar 7 16:13:31 rasp00 kernel: [260998.828504] scsi 4:0:0:1: Direct-Access USB2.0 CardReader SM XD 0100 PQ: 0 ANSI: 0 Mar 7 16:13:31 rasp00 kernel: [260998.833365] sd 4:0:0:1: [sdd] Attached SCSI removable disk Mar 7 16:13:31 rasp00 kernel: [260998.835961] sd 4:0:0:1: Attached scsi generic sg3 type 0 Mar 7 16:13:31 rasp00 kernel: [260998.837261] scsi 4:0:0:2: Direct-Access USB2.0 CardReader MS 0100 PQ: 0 ANSI: 0 Mar 7 16:13:31 rasp00 kernel: [260998.841891] sd 4:0:0:2: [sde] Attached SCSI removable disk Mar 7 16:13:31 rasp00 kernel: [260998.844907] sd 4:0:0:2: Attached scsi generic sg4 type 0 Mar 7 16:13:31 rasp00 kernel: [260998.846167] scsi 4:0:0:3: Direct-Access USB2.0 CardReader SD 0100 PQ: 0 ANSI: 0 Mar 7 16:13:31 rasp00 kernel: [260998.849643] sd 4:0:0:3: [sdf] Attached SCSI removable disk Mar 7 16:13:31 rasp00 kernel: [260998.853186] sd 4:0:0:3: Attached scsi generic sg5 type 0 (補足:上記の出力結果は一部手動で改行を入れております) デバイス名がわかったところで、2号機から取り出した4GBのSDカードをセットして、下記のコマンドでデータを一気にHDDへ吸い出します。 # dd if=/dev/sdf of=sdf-data.dat bs=1024 3887104+0 レコード入力 3887104+0 レコード出力 3980394496 バイト (4.0 GB) コピーされました、 481.672 秒、 8.3 MB/秒 コピーにはおよそ8分ほどかかっています。 コピーが終わったら、次に、新しい8GBのSDカードをリーダーにセットして、下記のコマンドでデータを一気にSDカードへ書き込みます。 # dd if=sdf-data.dat of=/dev/sdf bs=1024 3887104+0 レコード入力 3887104+0 レコード出力 3980394496 バイト (4.0 GB) コピーされました、 1734.97 秒、 2.3 MB/秒 コピーにはおよそ28分ほどかかっています。 コピーが終わったら、SDカードを取り出して、1号機での作業はこれで終了です。 ファイルシステムのマウントなどは行っていないので、そのまま引っこ抜いても大丈夫です(たぶん)。 2号機での作業その2 †ここでおもむろに8GBのSDカードを2号機へセットして電源を入れてみます・・・ ただし、下記のコマンドを実行してみると、ルートファイルシステムの容量はまだ以前のままです(サイズが3.6Gと出ています)。 $ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 rootfs 3.6G 2.3G 1.2G 67% / /dev/root 3.6G 2.3G 1.2G 67% / devtmpfs 214M 0 214M 0% /dev tmpfs 44M 212K 44M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 88M 0 88M 0% /run/shm /dev/mmcblk0p1 56M 15M 42M 26% /boot ではこれを8GBに増やしてみます。 $ su # unset LANG # raspi-config とすると、下記の画面が表示されます。 ![]() ここで、上の画面の「1 Expand Filesystem」を選んでEnterキーを押すと、下記のような出力メッセージとともにファイルシステムの拡張が行われます(実はこの処理は、Raspberry Piを買ってきてすぐのSDカードにOSをインストールしたときに大抵の人は実行しているはずです)。 Command (m for help): Disk /dev/mmcblk0: 7969 MB, 7969177600 bytes 4 heads, 16 sectors/track, 243200 cylinders, total 15564800 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: 0x00090806 Device Boot Start End Blocks Id System /dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA) /dev/mmcblk0p2 122880 7774207 3825664 83 Linux Command (m for help): Partition number (1-4): Command (m for help): Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): Partition number (1-4, default 2): First sector (2048-15564799, default 2048): Last sector, +sectors or +size{K,M,G} (122880-15564799, default 15564799): Using default value 15564799 Command (m for help): Disk /dev/mmcblk0: 7969 MB, 7969177600 bytes 4 heads, 16 sectors/track, 243200 cylinders, total 15564800 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: 0x00090806 Device Boot Start End Blocks Id System /dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA) /dev/mmcblk0p2 122880 15564799 7720960 83 Linux Command (m for help): The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 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) Syncing disks. update-rc.d: using dependency based boot sequencing update-rc.d: warning: default start runlevel arguments (2 3 4 5) do not match resize2fs_once Default-Start values (2 3 4 5 S) update-rc.d: warning: default stop runlevel arguments (0 1 6) do not match resize2fs_once Default-Stop values (none) (備考:上のメッセージを見て今気づいたのですが、fdiskコマンドを自動運転して容量拡張しているのですね。) メッセージがずらずらと出力され、正常に処理が行われると、下記の画面に切り替わると思います。OKすると、さらにリブートしてもよいかどうか確認する画面が表示されますので、リブートします。 ![]() ![]() 再起動したら、再度下記のコマンドを実行して、ルートファイルシステムの容量を確認してみて、SDカードの最大値(実際には管理領域等で使用されるため若干少ない値)まで増えていたら、無事作業終了です。 $ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 rootfs 7.2G 2.3G 4.7G 33% / /dev/root 7.2G 2.3G 4.7G 33% / devtmpfs 214M 0 214M 0% /dev tmpfs 44M 212K 44M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 88M 0 88M 0% /run/shm /dev/mmcblk0p1 56M 15M 42M 26% /boot 応用例 †前述のようにSDカードの内容を丸ごと読み出し、そのままバックアップとして利用することが可能です。 |