OSをまるまるバックアップ。ddコマンドの使い方

Tips

Windows Subsystem for Linuxの普及でlinuxも大分身近になってきました。今回はOSをまるまるイメージバックアップできるツールddコマンドを使用してOSのクローンを保管しておく方法についてご紹介します。

入力するコマンド例

コマンド発行例は以下3コマンド(詳細はこれ以下の解説を読んでください)

このマニュアルでは
コマンドは青色で表示されている

lsblk
cd /media/ubuntu/USBHDD
dd if=/dev/sdx of=./windows7_backup.img ibs=10M obs=10M

OSのイメージバックアップの手順

lsblkによりディスクの確認

この場合
sda / sdbがハードディスク

接続されているハードディスク個体は、中身をみてもいいが容量から判別可能。

外付けUSBハードディスクを再接続(オプション)

マウントポイントに文字が入っていればいいが、マウントポイントに文字が入っていなければ、中身のファイルにアクセスできる状態にない。USBドライブの場合。再接続で自動的にマウントされる場合が多い

この場合HDDは
/media/zlixxxxxx/USB_HDD
にマウントされている
まれに自動マウントされない場合

mount /dev/sdb1 /kara_no_folder

のようにマウントする必要がある

マウントされている場所に移動(解説は一例)

cd /media/zlinuxuser/USB_HDD

のコマンドによりカレントディレクトリを USB の HDD のマウントポイントに移動。 コマンドラインの先頭が

/media/zlixxxxxx/USB_HDD $
のようになれば OK。以下(no.4)の手順 のコマンド指定によりここで移動したカ レントディレクトリにファイルが出力され る

dd コマンドの発行(of の指定を間違え無いこと。データの破壊に繋がる

dd if=/dev/sdx of=./windows7_backup.img ibs=10M obs=10M

(sdx=lsblk で調べたコピー元デバイス名( 末尾の数字無で指定=デバイス ))
(./windows7_backup.img=コピー先ファイル名 任意 ) (ドットはカレントディレクトリ)
(ibs,obs は一度に読み込むデータの量。この場合 10MByte)

上のコマンドをよく確認しオーケーなら発行する(Enter)
だが管理者権限が必要と大抵の場合、言われるので、
ここで初めて先頭に sudo をつける( 一度入力したコマンドは↑キーで出る )
管理者権限が必要と言われない場合もあるので確認はしっかりして下さい

sudo dd if=/dev/sdx of=./windows7_backup.img ibs=10M obs=10M

長らく待つとディスクのイメージファイル作成が終わる

別窓コンソールにて ps aux にて dd のプロセス ID を確認し
kill -USR1 プロセス ID 番号を入力すると進行状況が表示される
図の例では dd のプロセス番号は 5058

1.OSのリストアの手順(この作業はコマンド指定を間違えるとデータが破壊される)

dd if=./windows7_backup.img of=/dev/sdx ibs=10M obs=10M

イメージファイルをデバイスファイルに上書きする(of の指定が最重要)
/dev/sdx が lsblk で調べたデバイスファイル
( 間違えにくいように余計なデバイスは外しておくとよい)
/dev/sdx1 などがあるが
これはパーティションなので/dev/sdx(数字なし=デバイスファイル)とする

上書きされたデバイスは
中身が消える(イメージファイルの中身に置き換えられる)ので
要注意

なおlinuxコマンドddでのバックアップは、UbuntuライブDVDやknoppixなどのライブ起動DVDから起動してやるとOSにアクセスのないエラーの起きにくい環境で行えるのでよいと思います。

OSのまるまるバックアップは便利なのでぜひデータの消失にお気をつけながら便利にご利用ください。

GPTパーティションのバックアップ

GPTのパーティションをバックアップする場合でも、GPTヘッダに第二GPTヘッダのアドレスが含まれているために、最終セクタまでバックアップすれば書き戻した時に、ディスクサイズの異なるディスクでも問題なく動作するようです。(ただし、よりサイズの大きいものに限ります。)これは一応検証してみました

動作はするようですがgdiskを実行しwriteをかけるとエラーが検出されて問題を修正しますかと聞かれます。ここで問題を修正するを選ぶとディスクのエラーは解消されるようです。

Problem: The secondary header’s self-pointer indicates that it doesn’t reside at the end of the disk. If you’ve added a disk to a RAID array, use the ‘e’ option on the experts’ menu to adjust the secondary header’s and partition table’s locations.

問題:セカンダリヘッダーのセルフポインターが、それがディスクの最後にないことを示しています。 RAIDアレイにディスクを追加した場合は、エキスパートメニューの「e」オプションを使用して、セカンダリヘッダーとパーティションテーブルの場所を調整します。

エキスパートメニュー

上記によるとeで調整できるらしい。・・が単にWriteをかけるだけでもこのようなメッセージが表示される。

Found vaild GPT with protective MBR;using GPT
Warning! Secondary header is placed too early on the disk! Do you want to correct this problem?(警告。セカンダリヘッダがディスクの早すぎる領域に位置しています。この問題を正しますか?)

Final checks complete.About to write GPT data. This will overwrite existing partitions.(GPTデータを書き込むための最終チェック完了。これは存在するパーティションを上書きするでしょう。続けてよいですか)

英語おそらく正しいですが間違ってるかもしれません。得意な方はオリジナルを読んでください。ddによるOS書き戻しを行った後こちらから修正すれば、クローン化は完了し成功するでしょう。

年賀状の図
Tips
年賀状を簡単に。年賀状作成ツールや素材集など

皆様年賀状は作成されていますか?仕事柄お客様に年賀状を送らないといけない方や個人で作るのを楽しみにしている方。また来るのを楽しみにしている方など様々でしょう。年賀状は実は作る側も楽しかったりします。もちろん人によりけりでめんどくさいとしか思わない方もいらっしゃるかもしれません。 めんどくさい方にはお手軽に、作るのを楽しみにしている方にはより楽しくより美しくそ …

ソースコード
Tips
VBSを使ってちょっとパソコンを便利にしよう。

皆様VBSをご存知ですか?Windowsを使う上でちょっと便利なる小技です。 VBSはVisualBasicScriptの略でメモ帳やテキストエディタでコードを書けば、そのままWindowsで動かせるという便利なツールなのです。WindowsではVBSの実行エンジンが初期状態で備わっているために、何も設定をしなくともVBSはプログラムとして動きます。 プログ …

コンテンツフィルター
Tips
DNSを使って簡単にコンテンツフィルタリングを行うOpenDNS

皆様コンテンツフィルタリングに興味はありますか? お子様がいらっしゃる場合など危険なサイトにはアクセスしてほしくないと考える方も多いのではないでしょうか? 大人用コンテンツやフィッシングサイトなど危険なサイトは沢山あります。どのようにしてそのようなサイトから身を守るべきでしょうか。 今から出来るフィルタリング 今からすぐフィルタリングを始めたい場合、利用でき …