Raspberry Pi Perlスクリプトによる SDカードの縮小

Raspberry Pi 運用・管理
Perlの スクリプトによる SDカードの縮小
 
Raspberry Pi のSDカードを、バックアップのためにコピーする場合、記載が同じ容量のSDカードでも製品やロットが違うと、バイト単位で容量が異なりコピーできない場合がある。
 
SDカードを容量の小さなSDカードにリサイズ
 
Raspberry PiのSDカードを、容量の小さなSDカードにリサイズする方法は、Web上に数多く紹介されているがどれも上手くいかないケースがある。
私自身も、先だってまではうまく縮小できていた方法が、最近になって実行すると上手くゆかなくなったりする。
 
スポンサー リンク
 
 
数ある方法の中で、成功した最適解。
Perl のスクリプトを使って imgファイルを縮小 
 
 
1. resizeimage.pl の作成
 
Raspberry Pi のホームディレクトリに、Perl のスクリプトを保存する。
 
下記の例は、ホームディレクトリの直下に「work」フォルダーを作成し、その中に「resizeimage.pl 」を作成した例。
ホームディレクトリの直下に「work」フォルダーを作成し、その中に「resizeimage.pl 」を作成
 
「resizeimage.pl 」の内容は、RPiフォーラムの『Reducing Raspbian File System Image Size』より、コードをコピーして貼り付ける。
 
スクリプトのパーミッションを変更する。
chmod 755 /home/pi/work/resizeimage.pl  

 

 
2. 縮小したいSDカードの imgファイルを作成する
 
縮小したい Raspberry PiのSDカードから、【 Win32DiskImager 】で imgファイルを作成する。
【 Win32DiskImager 】で imgファイルを作成する
 
Windows 10の環境で、SDカードのバックアップを行う。
 
 
3. imgファイルをSSDにコピーする
 
バックアップした imgファイルを、SSD(USBメモリーやHDDでもよい)にコピーする。
imgファイルを、SSD(USBメモリーやHDDでもよい)にコピーする
 
SSDは、Windowsの【 NTFS 】フォーマットで良い。
 
 
4. Raspberry Piで imgファイルを縮小する
 
Raspberry Pi のUSBに、SSDを接続する。
Raspberry Pi のUSBに、SSDを接続する
 
縮小スクリプトの実行。
cd /home/pi/work
sudo perl ./resizeimage.pl /media/ssd/raspi.img
 
 
「/media/ssd」は、SSDのマウントポイント。
 
実行結果。(10分程度で終了。)
pi@pi:~/work $ sudo perl ./resizeimage.pl /media/ssd/raspi.img
 
raspi.img:
===========
Old size – 61119 MB (59.69 GB)
New size – 10521 MB (10.28 GB)
Image file was reduced by 50598 MB (49.41 GB)
 
64GBのSSDが、10GB余りに縮小された。
 
これで、容量の小さいSDカードにも書き込めるようになった。
容量の小さいSDカードにも書き込めるようになった
 
※:SDカードの領域拡大は、『Gparted』で簡単に行える。
 
 
5. SSDのマウント要領
 
NTFSフォーマットの、外付けSSDをマウントするには、パッケージのインストールが必要。
sudo apt install ntfs-3g 
 
認識されているデバイスを調べる。
sudo fdisk -l  ・・・ 以下、sda1 で認識されたとして記述
 
マウントさせるディレクトリーを作る。
sudo mkdir /media/ssd  
 
作成したディレクトリーに、マウントする。
sudo mount /dev/sda1 /media/ssd 
 
マウントポイントの確認。
df -h 
 
120GBのSSDが【 /media/ssd 】でマウントされている。
Filesystem Size Used Avail Use% Mounted on
/dev/root 29G 4.8G 23G 18% /
devtmpfs 460M 0 460M 0% /dev
tmpfs 464M 0 464M 0% /dev/shm
tmpfs 464M 13M 452M 3% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 464M 0 464M 0% /sys/fs/cgroup
/dev/mmcblk0p1 42M 22M 20M 54% /boot
tmpfs 93M 0 93M 0% /run/user/1001
/dev/sda1 120G 60G 60G 51% /media/ssd
 
 
6. SSDの所有権と権限
 
所有権と権限の確認。
ls -l /media/ssd 
 
所有権の変更。
chown -R pi:pi /media/ssd 
 
権限の変更。
chmod 777 /media/ssd 
 
以上。
(2019.07.14)
 
スポンサー リンク

 

             

にほんブログ村 IT技術ブログ Raspberry Piへ にほんブログ村 IT技術ブログ Webサイト構築へ にほんブログ村 IT技術ブログ WordPressへ にほんブログ村 IT技術ブログへ ブログランキング・にほんブログ村へ

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください