Raspberry Pi 2 SDカードのバックアップ その2 (失敗)
この記事の概要
- W32DiskImagerで作成したimgファイルを縮小しようとしましたが、うまく出来ませんでした。
W32DiskImagerで作成したimgファイルを縮小する準備
Linuxのコマンドを使って、Linuxのパーテション/ファイルシステムを編集するため、Virtual Boxをインストールしました。Virtual BoxでUbuntuをエミュレートし、Ubuntuへimgファイルを渡し、その中でファイルを縮小する考えです。
Virtual Boxについてはこちらをどうぞ。Ubuntuについてはこちらをどうぞ。
インストールには特別必要なことはありません、インストールする位置、ショートカットの作成等を指示するだけです。
次にVirtual Boxの仮想HDDへUbuntuのインストールですが、こちらも求められた内容を入力するだけです、アカウント設定やキーボードの種類、住んでいる地域等です。Windowsとファイルの受け渡しをするため、Guest Additionsもインストールします。
Virtual BoxでWindows側のファイル共有の設定を行い、Ubuntuのターミナルで次のコマンドを入力すれば、imgファイルが確認できます。
sudo mount -t vboxsf windos側の共有フォルダ名 ubuntu側の共有フォルダ名
ここまで作業できれば準備完了です。
Ubuntuでimgファイルを縮小する手順 (出来ませんでした)
Ubuntuのターミナルで次のコマンドを入力して、imgファイルをloopデバイスとして制御出来るようにします。
sudo losetup imgファイルパス /dev/loop0
次にパーティションの情報を変更します(サイズを小さくする)
sudo fdisk /dev/loop0
コマンド:pで情報確認、パーティション2のcylinder位置を後で入力します
コマンド:dでパーティション2を削除
コマンド:nで新規作成
パーティション2、primary、cylinder位置はコマンド:pで確認した時と同じ、サイズは適当に小さく
コマンド:wで書き込み
ワーニングが表示される(再読み込みされた時に反映されます、と書いてあった気がします)
次に、パーティション情報を変更したimgファイルをデバイスのように接続します。
sudo kpartx -a /dev/loop0
ファイルシステムのチェックを行います。しかし、ここでパーティションの変更が確認されませんでした。
sudo e2fsck -f /dev/mapper/loop0p2
ファイルシステムのリサイズを行います。しかし、何もリサイズされませんでした。e2fsckで変更が確認されなかったので、当然と言えば当然ですが。。。
sudo resize2fs /dev/mapper/loop0p2
ここでリサイズは完了し、次のコマンドで接続を終了します。
sudo kpart -d /dev/loop0
sudo losetup -d /devloop0
ここで紹介した作業は残念ながら成功しませんでした。成功した場合は別記事で改めて紹介するつもりです。