SA1F内蔵ディスクのバックアップメモ(暫定版)
['07/05/17]Source codeへのlink作成
['07/02/25]初出
○はじめに
本ドキュメントは,slax-fwrecover-hpa を使用してSA1Fの内蔵ディスクを
バックアップ/リストアする方法に関するメモの暫定版です.追々正式版をまとめる
予定にしておりますが,「とりあえず版」をリリースしておきます.
○何が出来るのか?
SA1Fでは,内蔵HDD内のHPA(Hidden Protected Area)に書き込まれているデータ・
プログラムを使用し,工場出荷時と同じ状態にリカバリすることが可能です.しかし,
SA1Fには,リカバリ用の CD/DVD が同梱されておらず,また,リカバリ CD/DVD を
作成するプログラムもバンドルされていません.そのため,内蔵ディスク上のデータ
が深刻なダメージを受けた場合は,リカバリが行えなくなり,修理扱いになる可能性が
あります.そして,HPAの仕組みにより,既存のディスク全体をバックアップするような
ユーティリティソフトを用いても,一旦HPAを解除しなければ,完全なバックアップを
行うことは出来ません(詳細な解説は省略).
そこで今回,SA1FをCDブートし,内蔵ディスクのフルダンプ(*)およびリストア,工場
出荷時の状態に戻すために必要なファイルのDVD/CDへの書き出し(*2),shell操作等を
行うことが可能な一式を作成しましたので,公開することにしました.また,Windows
環境を諸々整備した後に,本プログラムを使用してダンプを行えば,構築した環境ごと
バックアップすることも可能です.
なお,SA1F以外のPCでも,(linuxから/dev/hdaと認識される)プライマリのマスタに接続
されたIDE HDDの内容を,(同じくlinuxから/dev/sdaと認識される)ドライブへフル
ダンプする際にも,基本的には利用できると思います.
(*)MBRおよびリカバリに必要なHPA領域等,全ての領域をダンプします
(*2)オリジナルのslax-fwrecoverでは,作成したDVD/CDでブートし,リカバリまで行えるように
なっています.しかし,SA1FのようにCD/DVDドライブがUSB接続の場合は細工が必要です.また,私
はまだ本機能を実機検証していません.
今すぐに試してみたい方は,本機能で書き出したデータを使用し,「DOS用USBドライバを組み込
んだブートイメージ」を準備してブータブルDVD/CDを作成し,その上で,書き出したデータを用いて
ImageCastのエンジン(client.exe)を手動で動かす必要があります(ただし,リカバリ領域までは
作成されません.また,全ての機能が正常に動作することを保証するものではありません).
○使い方
○準備
利用手順は,以下の通りです.
- 内蔵ディスクよりも大容量のUSB接続のディスクを用意してください.内蔵未満または同容量
のディスクは使用できません
- 本ページからISOイメージをダウンロードし,CDに焼いてください
- SA1FにUSB CD/DVDドライブを接続し,作成したCDからブートしてください.なお,
ブートの順番は,USB-CDを優先させるよう,BIOSで設定しておく必要があります
- slaxがブートし始めたら(isolinux...のようメッセージが出たら),USB HDDを接続してください
- CDの内容を全てメモリ上に展開し終わった後にCDがイジェクトされますので,取り出して下さい
以上で,作業の準備は終了です.
以下,画像クリックで画像拡大表示
図1.今回用意した機材一式.CD/DVDドライブは I/OのDVRP-UN8PL2をバスパワーで使用
図2.isolinux起動中の画面
図3.slaxの起動中画面
○フルダンプを行う場合
- フルダンプを行う場合は,「D」を入力してください
- (a) 最初に使用する場合は,USB HDDをフォーマットする必要があります.フォーマットを
行うか聞いてきますので,「Y」と答えてください.すると,次に本当にフォーマットして良いか
を聞いてきますので,良い場合は「Y」と答えてください.最後にプレーンな領域としてフォーマット
するかを聞いてくるので,良い場合は「y」と答えてください.一通り答え終わると,フォーマット
が開始されます.
この作業を行うと,USB HDDはフォーマットされ,中身は全て消去されます.
注意深く操作するようにしてください.
なお,フォーマット後は,(パーティション分けされていない)/dev/sdaというプレーンなext2
領域となります.
- (b)同一USB HDDを使用し,2回目以降にフルダンプを行う場合(*3)は,フォーマットを行
うかの問いに「N」と答え,フォーマットを行わないでください.
- USB HDDの現在のファイル一覧が表示されます.その後に,フルダンプのイメージファイル名
を入力してください.存在するファイルと同じファイル名にすると上書き
しますので,注意してください.
(*3)つまり,容量が許す限り,同一USB HDD上に複数世代のダンプファイルの作成が行えるということです.
図4.(a)フルダンプ&USB HDDのフォーマットを選択した画面.赤枠が入力した文字.画面はフォーマットの実行中
図5.(b)フォーマットを行わずに進み,ファイル名を入力した画面(USB HDDはフォーマット済で,
中身は空の状態)
- ファイル名を入力し,ENTERを押すと,フルダンプを開始します
- フルダンプが終了すると,ダンプしたサイズが表示された後に,「Complete!」と,表示されます.
ここで,何もエラーが出ていないことを確認してください.また,ダンプした
容量と内蔵ディスクの容量が同じであるかも確認してください(なお,80GBの場合は,156301488 recordになります).
何かエラーが出ている場合は,ダンプされたファイルは壊れたものになってい
ますので,リストアに使用できません.
ちなみにダンプに要した時間は,80GBで約100分でした.
- ここでENTERを押すと,自動的に電源が落ちて終了です.
図6.フルダンプの終了画面
○リストアを行う場合
- リストアを行う場合は,「R」を入力してください
- USB HDDの内容を表示しますので,リストアを行うファイル名を入力してください
- リストアには,ダンプ時の倍近くの時間がかかりました(80GBで約174分).気長に待ちましょう.
- リストアが終了すると,リストアしたサイズが表示された後に,「Complete!」と,表示されます.
ここで,何もエラーが出ていないことを確認してください.また,リストアした
容量と内蔵ディスクの容量が同じであることも確認してください.何かエラーが出ている場合は,
リストア失敗です...X-< .USB HDDか内蔵HDDが故障している可能性があります.
図7.ファイル名を指定して,リストアを開始した画面
図8.リストア終了画面
○ImageCastのデータをバックアップする場合
質問をよく読み,答えて&案内に従ってください.メディアが焼き上がったら,自動的にイジェクト
されて終了します.(詳しい説明は省略します)
図9.ImageCastのデータのバックアップ中の画面
○ダウンロード
slax-fwrecover-hpa-20070225.iso (56,391,680 byte)
○注意事項
あくまでも,自分で使いやすいように仕上げたツール+αなので,あまり過大な期待はしない
で下さい :-).また,うまくダンプ/リストア出来なかった場合に,何ら保証があるわけではありません.
不安を感じる場合は,商用のツールを使用するようにしてください.
注意事項として特に明記しておく必要を感じているのは,以下の4点です.
- ダンプ,リストアは同じ型番のディスクに対して行うこと
- ディスク上のリストア領域(より具体的には,beerエントリ)には,書き込まれている
ディスクの型番等の情報が含まれています.そのため,仮に同容量のディスクへのリストア
であっても,型番が異なる場合は,何らかの問題が発生する可能性があります(未検証)
- エラー処理は十分ではない
- 最低限のエラー処理は行っておりますが,完全ではありません
- CTRL+Cが利かない
- shellに降りた際にも利きません.強制的に中断したいときや,「あうっ!」と,
なったときには,CTRL+ ALT+ DELキーを同時に押し,再起動プロセスに入ってください.
- キーボードレイアウトは101キーボード
- 英語配列として設定されていますので,shellに降りたときは特に気を付けてください.
○内容物の簡単な解説
- slax-fwrecover.iso
- 本ページで公開しているブートイメージは,
こちらに投稿され
ているslax-fwrecoverをベースにしています.
- fwrecover
- オリジナルのfwrecoverスクリプトを修正し,各機能の追加および拡張を行っています.
- fwfind_hpa
- オリジナルのfwfindはHPAに対応していないため,Paul Bolle氏作のhpafsの一部を
使用して作成しました.出力フォーマットは,オリジナルのfwfindと同じです(PSAの
"Factory Restore"および"Factory Data"の位置を標準出力へ出力).スタティックリンク
しているため,別のLinux環境へ持って行っても利用可能だと思います.
- setmax
- setmax.cをスタティック
リンクして作成しました.ただし,本スクリプトの中では使用していません.HPA領域を見え
るようにディスクを設定したい場合は,shellに降りて実行してみて下さい.(実行する場合
は,どのような影響があるかを理解した上で行ってください)
○免責事項等
本ページで解説している内容およびプログラムは無保証です.本ページで公開
しているプログラムを使用する場合は,あくまでも自己責任で行うようにして
ください.
○ライセンス等
オリジナルのファイル等に関しては,オリジナルのライセンス条項に従ってください.
また,私の方で作成/修正を行った,fwfind_hpaおよびfwrecoverに関しては,自由に改良,
コピー等を行っても構いません.fwfind_hpaはソースを同梱しておりませんが,必要な方は
御連絡下さい.
なお,バグを発見したり,より良い物が出来た場合は,連絡を頂けると助かります.
また,一部プログラムはα品質の部分もあるため,頻繁にアップデートを行う可能性があり
ます.リンクを張る際には,ISOイメージファイルへの直リンではなく,本ページに張るように
してください.
○Source download
2007.02.25
by T.Adachi
TOPページへ 戻る