シェルスクリプトマガジン

第2回 パソコンのストレージをバックアップする

 ここまで分かれば、パソコン内蔵ストレージをddコマンドでバックアップできます。ddコマンドは、次のような書式で実行します。

 「sudo」はLubuntuの管理者(rootユーザー)権限でddコマンドを実行するためのコマンドです。sudoを付けないと、バックアップ対象のストレージをddコマンドから参照できません。

 「if=」の後には、入力元となるバックアップ対象のストレージのデバイスファイル名を指定します。Linuxでは、ほとんどのデバイスをファイルとして扱い、ファイルを読み書きするようにデバイスに対してリードやライトを実行します。デバイスファイルは、「/dev」ディレクトリの下に格納されています。この/devというパスも含めてバックアップ対象のストレージのデバイスファイル名を指定します。

 「of=」の後には、出力先となるファイルを指定します。ファイル名は任意で構いませんが、拡張子に「.img」を指定しておけば何らかのイメージが保存されているファイルと分かるでしょう。このファイルは外付けストレージに保存するので、ファイル名には、先ほど調べた割り当て先のディレクトリのパス(ここでは「/media/lubuntu/703A-692E」)も一緒に指定します。

 「bs=」の後には、読み出しと書き込みのブロックのサイズを指定します。ストレージへの読み書きは時間がかかる重たい処理です。よって、できるだけ読み出しと書き込みの回数を減らした方がバックアップの時間も短くなります。ただし、読み出したブロックは、メモリー上に一時的に保存するので、メモリーを圧迫しないくらいのサイズを指定します。
 以上のことから、ここでは次のようにddコマンドを実行しました。「$」は端末に表示されているプロンプトです。英語キーボードの設定になっているため、日本語キーボードで「=」を入力するには[^]キーを押します。

 入力元には「/dev/mmcblk0」を、出力先には「/media/lubuntu/703A-692E/windowsbak.img」を、ブロックサイズには「100MB」を指定しました。実行後、バックアップが終わるまで端末上には何も表示されません(図12)。

図12 ddコマンドの実行

 終了するまで我慢強く待ちます。ちなみに、32Gバイトの内蔵SSDを、USB3.0で接続している128GバイトのUSBメモリーへバックアップしたら、約24分かかりました。
 動作しているか心配な場合は、まず[Ctrl]キーと[Alt]キーを押しながら[T]キーを押してもう一つ端末を起動します。その端末上で、

を実行すると、パソコン上で実行している処理の一覧が表示されます(図13)。

図13 実行中の状態を確認する「top」コマンド

 「COMMAND」という項目に「dd」があり、それが上位に表示されていれば動いています。なお、「COMMAND」項目が表示されない場合は、マウスを使って端末を横に広げてください。それから、topコマンドを終了するには[Q]キーを押してください。

 図14のように表示されたら、バックアップ完了です。保存先のストレージにはバックアップファイルが作成されています。

図14 バックアップ完了