スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

マスターブートレコードの破壊に備えるその2

ちょっと思ったんだけど、このブログ、ふと見れば「ググら」「ググり」「ググる」「ググれ」「ググれ」…

情報元、全部インターネットかよ?

存在意義、あるんでしょうかね。



ひさびさのLinux導入記

以前、マスターブートレコードの破壊に備えるにおいてDebianインストール前のマスターブートレコードの復元方法について書いたが、Debianインストール後、windowsとデュアルブートになった状態のマスターブートレコードの復元方法については後回しにしていた。のでまたググってみた

真っ先にヒットしたページはそのものズバリ@IT:MBR(マスターブートレコード)をバックアップするにはというページ。じゃあ、読んでみましょうか…



分かりません。人の事言えないけど、コマンドだけ書いてあってもその意義が分からんととてもとても実行する気にはなれないよね。管理者権限で作業する分システムに深刻なダメージを与えてしまう危険だってあるんだから…。



とりあえず、ddコマンドがどうとかこうとか言っていますんで、調べてみましょ

ヒットした@IT:システム・バックアップを基礎の基礎から(3/3)とかUNIXコマンド [dd]とかを見ると、

# dd if=/dev/hda of=~/mbr bs=512 count=1

これは@IT:MBR(マスターブートレコード)をバックアップするにはに書いてあったバックアップのコマンドですが…。

ddコマンドは、if=に指定したファイルやデバイスを、bs=に指定したサイズだけ、of=に指定したファイルやデバイスにそっくりそのままコピーしてくれるというものだということがわかった。たとえば、if=に/dev/cdromを指定して、of=にハードディスク上の適当な所にcdrom.isoと指定、bs=を指定しなければcdrom.isoというCDイメージファイルができあがることになる。



上のコマンドを解説すると、if=には/dev/hdaつまりデバイスのハードディスク一台目を指定、of=には/rootに"mbr"というファイルを作成するよう指定、MBRはハードディスクの先頭512バイトまでにあるためbs=に512と指定するわけだ。

リストアする場合はif=とof=の指定を入れ替えてやれば良いのだろうと思ったが…

@IT:MBR(マスターブートレコード)をバックアップするにはのリストアのコマンドはちょっとおかしい。bs=の指定する値が446となっている。なんだよこれ。意味わかんねー。



と、自暴自棄になりそうになったが、MBRの構造に関連のある話だろうと思い直し、MBRについて調べてみることに。wikipediaのMBRの記事によると、MBRのさらに先頭446バイトはブートローダとよばれる部分であり、次いで64バイトパーティションテーブル情報が書き込まれ、最後の2バイトにはブートシグニチャという署名のようなものが入っているとのこと。

つまり、446バイトを指定する意味はブートローダだけを復元することである。パーティションテーブル情報を復旧させるならば512バイトを指定してあげればいいってことね。



じゃあ、コマンドの意味を理解したところで、とりあえずバックアップだけでもしておきましょ。復旧は失敗が怖いので必要なときだけにしておきます。

$ su
# dd if=/dev/hda of=/home/ユーザー名/mbr20071204.img bs=512 count=1

…うんともすんともいわない。ユーザーフォルダにそれらしいファイルが作成されもしない。



てやんでえバーローめ!おいらは寝るぞい!とまたしても自暴自棄になりかけたが、確か"su"と入力しただけでは完全な管理者権限は手に入らず一部のコマンドで制限がかかる、回避するには"su -"というコマンドで管理者権限を取得する、というのをどこかで見た気がしたのでもう一度。

$ su -
# dd if=/dev/hda of=/home/ユーザー名/mbr20071204.img bs=512 count=1

今度はうまくいった。後はこれで作成したファイル"mbr20071204.img"を他のメディアにコピーしておき、MBRを復旧したいときは

# dd if=mbr20071204.imgを保存した先 of=/dev/hda bs=512 count=1

ブートローダだけを復元する場合は

# dd if=mbr20071204.imgを保存した先 of=/dev/hda bs=446 count=1

これをKNOPPIXか何かで実行してやればいいだろう。やってないからうまくいくかどうかは保証は出来ないけど。



ちなみにこのddコマンド、ハードディスクのデータ抹消にも使えるようです。これもやったことがないので保証できないが、とりあえずリンクだけ。
Linux(UNIX)標準コマンドによるデータ抹消

関連記事

テーマ : ハードウェア
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

ざっぱー

Author:ざっぱー
(この画像について)

当ブログについて
メール
(このメールアドレスへの特定電子メール (迷惑メール) の送信はお断りします)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。