最近のWindows PCはDtoDリカバリー領域を備えていることが多い。
そういう場合、たいていはリカバリー用のメディア(DVDとか)は付いていないことが多い。
じゃあというのでプリインストールのユーティリティーを使ってリカバリー領域のバックアップを取ろうとしたら、なんとまあDVD-Rが8枚だそうで。
「仕方ないなあ」と心を決め作業を始めてみたものの、メディアのエラーとかで終わらないよ(>_<)
これって結局、MBRとリカバリー用のパーティションのデータがあればいいんでしょ?
だったらLinuxのddでいいよね? そういうときってKNOPPIXだよね?
ということで、手持ちのUSB接続外付けHDDにバックアップを取ろうとしたら、外付けHDDがFAT32だった! つまり4GB以上のファイルが作れないので、4GB以上のサイズのパーティションはこれではバックアップできないよ(>_<)
ということで2GBずつに別けてddするスクリプトを組もう! おー!
以下、作業メモ。
- KNOPPIX起動用のCD-Rを作成
KNOPPIX日本語版公式サイト http://www.risec.aist.go.jp/project/knoppix/ だとDVD用ISOファイルはすぐ見つかるが、欲しいのはCD用ISOファイル。http://www.dnsbalance.ring.gr.jp/archives/linux/knoppix/iso/ を覗いたがCD版はちょいと古いのしかない。結局、http://ftp.riken.go.jp/Linux/simosnet-livecd/knoppix/ から KNOPPIX_V7.2.0CD-2013-06-16-JA-LCR.iso をダウンロードしてCD-Rを焼く。 - KNOPPIX起動用CD-RでPCを起動
- バックアップ用の外付けHDDを接続
- 端末を開いてsu
- dfして外付けHDDを認識していること、内蔵ハードディスクは/dev/sdaであることを確認
- fdisk /dev/sdaして、pして現状のパーティション情報を調査
バックアップが必要なパーティションはsda1、sda3、sda4であることを確認。(パーティションが3つも必要だとは意外。1つだと思ってた)
あと、この情報はリストアする時にも必要なので、fdisk.txtとしてファイルに保存。 - MBRをバックアップ
dd if=/dev/sda out=sda bs=512 count=1 - sda1をバックアップ
dd if=/dev/sda1 out=sda1 bs=512 - sda3をバックアップ
dd if=/dev/sda3 out=sda3 bs=512
ここでエラーが起こった。調べてみると/dev/sda3は8GBなので、FAT32の外付けHDDではファイル1個に収まらないことが判明。
仕方ないので2GBずつに別けることにした。dd if=/dev/sda3 out=sda3-0 bs=2M count=1024
dd if=/dev/sda3 out=sda3-1 bs=2M count=1024 skip=1024
dd if=/dev/sda3 out=sda3-2 bs=2M count=1024 skip=2048
dd if=/dev/sda3 out=sda3-3 bs=2M count=1024 skip=3072
...これ、面倒だね。skipの計算、間違えそうだし。
ということでこんな↓感じのシェルスクリプトを書いた。i=0 while [ 1 ] do of=sda3-$i skip=`expr $i \* 1024` dd if=/dev/sda3 of=$of bs=2M count=1024 skip=$skip if [ ! -f $of ] ; then break fi if [ ! -s $of ] ; then rm $of break fi ls -l $of i=`expr $i + 1` done
- sda3と同じようにしてsda4もバックアップ
スクリプトは2箇所のsda3って部分をsda4に変更する必要がある。
2GBのバックアップが45秒ほど。
さて。
たぶん、これでいいはず。
リストアは未経験なので、実はこれじゃだめかも?
たぶん、大丈夫だと思うけどなあ。
リストアする時には、MBRの512バイトを一旦書き込んでから、fdiskでパーティションをいい感じに割り当て直して、sda1、sda3、sda4を書き戻してやればよいはず。はず。
追記。
こんなことしなくてもsplitを使えば一撃だったのかもしれない。
dd if=/dev/sda3 | split -b 2G - sda3.
あるいは
dd if=/dev/sda3 | split -b 2G -a 1 - sda3.
とか。
こっちの方が100万倍綺麗。