できるかな?できるかな?

ちょっと難しそうだなと思うことに挑戦します。

Raspberry Pi 2 SDカードのバックアップ その2 (失敗)

この記事の概要

  1. 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

ここで紹介した作業は残念ながら成功しませんでした。成功した場合は別記事で改めて紹介するつもりです。