ファイルのバックアップは楽チンなフリーソフトがたくさんありますが、システムバックアップとなると有償ツールを使うことが多いです。自動化する必要がったり同時にテープにダンプするなど管理自体を求める場合はやはりそれなりに高額なソフトウエアでシステム化する必要があります。
今回はWindowsXPのノートパソコンをiMacの仮想環境に移行することを目的としています。その途中段階ということでWindowsのシステムバックアップと位置付けています。
LinuxのLive版というのはいろいろなディストリビュート(Redhat系/Debian系など)がありますが、選ぶポイントは
アプリのパッケージ管理方法の違いやコマンドの違いです。私はRedhatを業務で使っていますのでデスクトップユースにアドバンテージのあるDebian系は滅多に使っていません。基本的なコマンドラインはどのLinuxでも同じなのでbashにするか、tcshにするかは都度ターミナルで変更します。
今回バックアップする対象のパソコンはPanasonicのLet’s Note CF-Y5 本当はバックアップというよりVirtual Boxへのシステム移行が目的です。こちらについえてはまた後ほど。
CDブートさせたLinuxではデフォルトでUSB接続したハードディスクが /dev/sdb1 としてmount済み。逆にWindowsシステムはマウントされていないのでmountします。
では、Linuxでどのようにハードウエアが認識されているかを知る必要があります。たいていは内蔵ハードディスクは/dev/sda なんですが。稀にコントローラーによっては /dev/sdb sdc の場合があります。
確認は dmesgコマンドで起動時の認識情報を読みます。grepコマンド(フィルタリング)で
# dmesg | grep sda
そうすると内蔵ハードディスクの容量などが見えればOKですね。見えていない場合はSCSIコントローラ経由のRAIDが組まれている場合などの可能性あり。 別にRAIDコントローラーの識別から進みます。
マウントポイントの作成
#mkdir /mnt/sda1
マウントポイントはどこでもいいんですが、UNIXのお作法としてデバイスは/mnt配下にマウントポイントを作ります。
マウントポイントの確認はmount コマンドです。無事/mnt/sda1 が表示され、容量などが出ていれば大丈夫です。
以上で下準備は完了。
バックアップはddコマンドで物理的(物理層)ダンプを取得します。 この物理的に対する概念としてはファイルシステムがあります。コマンドでいうとcp です。ここでは説明を割愛しますが、システム系のバックアップは物理的コマンドのdd を使います。
#dd if=/dev/sda of=/media/usb/rawimage.raw
WindowsのCドライブは/mnt/sda1 で確認しますが、dd コマンドでバックアップ取得するのは/dev/sda 全体です。MBRなどのブートセクタもシステム起動に必要だからです。
topコマンドできちんとddコマンドが走っているかをたまに見守りながらしばし待ちます。バックアップ対象のハードディスクが1TBあるよ!とかの場合は延々待つことになるだけでなく、ふとしたことでターミナルのセッションが切れてしまうことがあります。そんな時は初めからdd コマンドをやり直す? いえ、nohup コマンドを併用してバックグランドで実行してあげるといいです。 nohupはただ単にバックグランドで実行するだけでなくtelnetやssh接続にもhupをコールしないのでリモート環境での長時間コマンド発行には必須でしょう。
次回は取得したバックアップファイルをVirtual Boxで稼働させていく手順を記載していく予定です。
