バックアップとリストア
バックアップとリストアを行うソリューションは各種存在しますが、そうはいってもお金はかけられないという場合もあると思います。本記事では、USBメモリと外付けHDDのみでバックアップとリストアを行う方法を解説します。この方法はWindowsやLinuxが動作する環境であれば、ほぼ実施可能と思います。ただし、大量のマシンのバックアップやリストアを行うには不適切です。なお、フォレンジックにおける保全技術の延長上にある手法であることから、空き容量も含めてバックアップします。これにより、バックアップに必要なディスク容量が大きくなります。
準備
まず、USBメモリと外付けHDDを準備します。USBメモリは4GB程度あれば十分です。外付けHDDは、バックアップしたいマシンの内蔵HDD/SSDのサイズより大きいものを準備してください。
上記に加えて、Tsurugi Linuxを使用します。以下から「tsurugi_acquire_2019.1.iso」をダウンロードします。
https://tsurugi-linux.org/downloads.php
USBメモリの準備
Tsurugi LinuxのisoファイルをUSBメモリに書き込みます。ISO形式なので、当然ファイルコピーではなく、ISOイメージとして書き込む必要があります。以下のようなソフトを使用します。
https://rufus.ie/ja_JP.html
USBメモリからブート
作成したUSBメモリからブートします。通常ブート順は内蔵HDD/SSDとなっていることが多いため、変更する必要があります。変更手順はPCのメーカーごとに異なりますが、F2、F10、F12、Delのいずれかのキーを起動時に連打すればだいたいうまくいくと思います。
USBメモリからの起動に成功すると、以下のような画面になります。F3を押して、キーボードをJapaneseにしておくと良いでしょう。
作業自体はGUIでもテキストモードでもどちらでも問題ありません。ここではGUIで起動します。
GUIが起動したら、ターミナルを起動します。デスクトップにあるterminatorをクリックします。
デバイスの確認
最初にfdisk -lを実行します。以下のように、内蔵HDD、ブートしたUSBメモリがデバイスとして認識されます。
以下の場合は、/dev/loop0がUSBメモリ、/dev/nvme0n1が内蔵HDDです。これは仮想マシンであるためデバイス名が通常と異なります。物理マシンであれば、内蔵HDDは/dev/sdaと表示されることが多いです。
続いて、外付けHDDを接続します。再度fdisk -lを実行すると、/dev/sdaが追加されました。物理マシンであれば、/dev/sdcと表示されることが多いと思います。
書き込みロックの解除
Tsurugi Linuxでは、内蔵、外付けHDDともにデフォルトでは書き込みが禁止されています。今回はバックアップを行うため、外付けHDDの書き込み禁止を解除します。以下のコマンドを実行します。
blockdev --report
出力のうち、一番左にあるroというのがReadOnlyの意味です。現在はすべてのデバイスが読み取り専用になっています。外付けHDDである/dev/sda、/dev/sda1を書き込み可能にします。以下のコマンドを実行します。
blockdev --setrw /dev/sda /dev/sda1
blockdev --report
コマンドの実行前後で比べると、/dev/sda、/dev/sda1がrwとなっていることがわかります。
外付けHDDのマウント
以下は外付けHDDがFAT32でフォーマットされている場合の例です。お使いのファイルシステムに合わせて適宜変更してください。
mount -t vfat -rw /dev/sda1 /mnt
バックアップ実行
準備ができたのでバックアップを実行します。以下のコマンドを実行します。
ftkimager --frag 4000M /dev/nvme0n1 /mnt/backup.dd
上記はFAT32の制限である1ファイルあたり4GBまでに合わせてファイルを分割しています。ファイルシステムによっては--fragは不要です。
サイズによりますが、数時間程度で完了します。
応用編
ftkimagerコマンドでは、保存するイメージファイルをE01に変更できます。E01は圧縮することができるので、ディスク容量を節約できます。
詳しくはftkimagerコマンドのヘルプを参照してください。
リストア
ブートして書き込みロックの解除を行うところまでは同じです。書き込みロックの解除対象が内蔵ディスクになるだけです。
その後、以下のコマンドを実行します。なお、前述した手順でバックアップを取得している場合、/mnt/backup.dd.001.txtが作成されているはずです。以下のコマンドでは、このテキストファイルまでcatの対象になってしまうため、backup.dd.001.txtは、_backup.dd.001.txtにでもリネームしておく必要があります。
cat /mnt/backup.dd.*| dcfldd of=/dev/nvme0n1
この方法の利点
Bitlockerで暗号化したままバックアップとリストアが可能です。そのため、Bitlockerのパスワードおよび回復キーさえ厳重に保管できていれば、情報漏洩のリスクを低減できます。なお、Bitlockerはパーティションごとに設定します。ディスク全体の暗号化ではない点に注意が必要です。
また、複数のリストアした場合は、すべてのマシンの暗号鍵が同じ=回復キーが同じになります。そのため通常以上に回復キーを厳重に保管する必要があります。リストア後にパスワードを個々に設定し直した方が良いですね。