LANDISK HACKING DIARY | ||
Since2005/8/17 | ||
TOPへ戻る | ||
INDEX | |||||||||||||||||
1. LANDISKのバックアップ概要 2. LANDISKの分解 3. ハードディスクの取り付け 4. dd でイメージバックアップ 5. USB HDDケースを使った復元 6. 参考文献 |
|||||||||||||||||
LANDISKのバックアップ概要 | |||||||||||||||||
まず、LANDISKを改造する前にLANDISK内に入っているOSのイメージバックアップを行うことにする。LINUXはちょっとの操作ミスでも重大な損害を被ることがある。その上、筆者自身がなんちゃってリナクサーともなれば最低限必要なことはバックアップに他ならない。バックアップだけではない。バックアップしたそのイメージからいつでも工場出荷状態に復旧できるような環境を構築しておく必要がある。LANDISK内には、debian がインストールされており、Red Hat Linux、Turbo Linux、Fedora Core しか触ったことのない筆者に大いなる期待を抱かせてくれると同時に不安感もまとわりつく。debian を一度だけインストールしたことならあるが、操作方法がRed Hat とは結構異なっており、面倒くさくなってすぐに捨ててしまった記憶はある…。 LANDISKはブートローダがMBR(Master Boot Record)に書き込まれているため、ハードディスクごとバックアップする必要がある。HDDのまるごとバックアップに関しては、環境によって様々な方法があると思うが、筆者はできるだけ安全且つお金をかけない方針でいくことにした。250GBをそのまま同容量の別HDDにバックアップするのが1番手っ取り早いのだが、残念ながら250GBのHDDはLANDISK 以外には所持していないし、バックアップのためだけに250GBのHDDを買ってくるのもなにか納得がいかない。それなら、新しく玄箱や外付けHDDを買ったほうがコストパフォ-マンスの面でまだマシな気がするのだ。また、TelnetやSSHをLANDISKにインストールし、ログイン後にHDDごと別のHDDにバックアップするという方法もあるが、そのTelnet やSSH のインストールパッケージを当てて不具合がでても面白くないのでとりあえず工場出荷状態を保存しておきたかった。 そこで取った方法は、LANDISK の/dev/hda1 と/dev/hda2だけイメージバックアップしておき、250GB のうち9割の容量を占める/dev/hda3に関してはデフォルトで格納されている初期ファイル(計1.8MB)だけをtar で固めて部分バックアップしておき、後からmke2fs をしてフォーマットしたパーティションに戻しておけば問題ないだろう。/dev/hda1 は約70MB程度、/dev/hda2 は512MB程度あるが、スワップ領域なので実は保存しておく必要はない。後からmkswap するなりしてスワップ領域を作成してあげればいいだけである。以下のコマンドは、自作マシンのFedora CoreにLANDISKから取り外したHDDをPrimary Slave に装着し、fdisk -l を実行した結果である。見てもらえばわかるとおり、デフォルトではパーティションは3つに分かれており、/dev/hdb1 に /(ルート)、/dev/hdb2 にスワップ、/dev/hdb3 が実際にデータを格納するパーティションといった構成になっている。ファイルシステムは、ext2 となっている。
|
|||||||||||||||||
LANDISKの分解 | |||||||||||||||||
バックアップのために、さっそくLANDISKからHDDを取り出すわけだが、さほど難しい作業ではない。ハードウェアに関する知識がなくとも取り外せるようにはなっている。なにせハードウェア音痴の筆者にとりはずせたのだから。自作パソコンを作ったことがあるレベルならばきっと簡単に感じるだろう。それでも、1回目の取り外しはそれなりに苦労するかもしれない。特にLANDISKのネジは非常にきつく閉められており、かなりの力を必要とする。筐体を開けることを想定されていないかのような固さなので、ネジを取り外す際はきちんと下方向へ押しながら回転させていくと良いだろう。以下に取り外しの手順を画像とともに順を追って見ていくこととする。 |
|||||||||||||||||
ハードディスクの取り付け | |||||||||||||||||
ここから先は人によって作業内容が変わって来るだろう。Windows でブートしてPartition Magic やDriveCopy などのソフトウェアでまるごとコピーする場合には1台のマシンに3台のHDDを取り付ける必要があるし、Linuxでブートしてdd やdump でバックアップする場合は、2台のHDD、もしくは3台のHDDを取り付ける必要がある。バックアップする手段によってマシンに取り付けるHDDの台数も変わってくる。筆者の場合は、とりあえず1台のマシンに対して3台のHDDを接続してみることにし、正常に起動できるかどうかためしてみることにした。IDEケーブルを見てもらえばわかるとおもうが、タバコのヤニで犯された状態と、新しく買ってきた新品のIDEケーブルの色の違いが恐ろしいほどに見て取れる。タバコを止めて良かったと思える瞬間である。
だが、唯一の不安であった137GBの壁に見事にぶつかった。筆者が使用している自作パソコンは5年以上前のものでマザーボードはいまだに440BXであるため、137GB以上のHDDを正常に認識してくれないのである。BIOSのアップデートも過去に1度もしたことがなく、その必要性も特に感じていなかった(外付けHDDを買うことがほとんどだったため)。とりあえず、遠回りになるがBIOSのアップデートをしてみることにしたが、GigabyteからダウンロードしたBIOSアップデータファイルをGUI 上から実行すると、「fail-Due to EMM386 or QEMM!」というエラーが発生してアップデートすることができない。なので、OS起動時に「セーフモードとコマンドプロンプト」を選択し、EMM が使われていない状況でDOSプロンプトからアップデートを実行するが、それでも同様のエラーが発生する。ひょっとしたら、起動ディスクを作成してフロッピーから起動しないとダメなのか!?と思い、仕方なくフロッピードライブを買ってくることにした。長い間、フロッピーディスクがなくても耐えてきたのにまさかこんなことで買いに行くハメになるとは・・・。勿論、壊れたフロッピードライブの原因はタバコのヤニである。
起動用フロッピーディスクを作成し、いよいよBIOSのアップデートができると思ったのも束の間、次々とわけのわからないエラーが発生し、アップデートすることができない。主なエラー内容は以下の通りである。 「The Program File's Part Number does not match with your system」 「Unknown Flash Type」 「Source File not Found!」 BIOSのアップデートに格闘すること3時間。インターネットを調べていると、BIOSには、FLASH ROMライトプロテクション(書き込み保護)なる機能があることがわかった。さっそく、BIOSの設定画面でそれらしきものを探してみたところ、「BIOS Flash Protection」という項目をみつけた!だが、残念なことにデフォルトで「disabled 」と設定されていたので書き込み保護が原因でないことを知りガックリ。さらに調べていくと、どうやらマザーボードのジャンパーにも、ライトプロテクションなるものがあるらしいことを知った。Gigabyte のマザーボードにそんなジャンパーがあるわけない・・・とか思いながら説明書を見てみるとなんとちゃんと載っていた。さっそくジャンパーピン22番を確認してみると「Closed」(書き込み保護)になっていました!22番を「Open」にしてからフロッピーディスクを挿入し、BIOSのアップデートを行ったところ、なにも手を加えることなく勝手にアップデートを始めてくれました。原因がわかればなんてことないですが、知らないとこれはハマリますね~。ひとつ勉強になりました。
|
|||||||||||||||||
dd でイメージバックアップ | |||||||||||||||||
HDDもようやく認識し、あとはバックアップするのみ。以下の説明では、/dev/hda をFedora Core が入ったマシン、/dev/sda をLANDISK、/dev/hdd を空HDD27GBとする。LANDISKが /dev/sda となっているのは外付けのUSBハードディスクケースを使用しているためである。HDD換装を始める前に、LANDISK と同じサイズで空HDDにパーティションを切っておく事。 /dev/hda -> Fedora Core (作業用マシン) /dev/sda -> LANDISK HDD(コピー元) /dev/hdd -> 空のHDD(コピー先)
■MBR のコピー
■パーティション3「/dev/hdd3」の再作成 次に、サイズの調整とパーティションテーブル再読み込みのために、コピー先のHDDである /dev/hdd3 を削除し、再度作成しておく。なお、上記でMBRをコピーしたことで/dev/hdd2
には、「Linux Swap 」と表示される。
■パーティション1のコピー
■スワップ領域の作成
■パーティション3の先頭を削除
■パーティション3をext2 でフォーマット
■パーティション3 のデータをコピー先HDDへ移動
■コピー元とコピー先のHDD容量が同じ場合 同容量のHDDどうしの場合は移行が簡単だ。以下のコマンドを実行するだけである。ただし、バックアップ用途でLANDISKのシステムそのものを保存しておくならば、250GBのHDDの複製はあまりにも意味がなく、もったいないような気がするので、上述したようにMBR
と/dev/hda1、/dev/hda3 を保存しておくだけの方が幸せになれるでしょう。これなら全てあわせても100MBもありません。
|
|||||||||||||||||
USB HDDケースを使った復元 | |||||||||||||||||
LANDISK筐体からハードディスクを取り外さなくても、バックアップできる方法があります。USB HDDケース(勿論、HDDも入れてください)をLANDISKのUSB端子に接続し、LANDISKからHDDケースへとデータを移し変えます。データのバックアップは、上記の手順を経て既にイメージバックアップしてあるものとして、ここでは、復元方法のみ説明する。 ■バックアップ環境 /dev/hda ---> LANDISK(コピー元) /dev/sda ---> USB接続されたHDD(コピー先) ■既にバックアップしてあるイメージ landisk-MBR.img landisk-hda1.img landisk-hda3.img.tar.gz USB HDD(コピー先)にLANDISKのデータ(コピー元)をコピーする方法を以下に説明する。まず、「landisk-MBR.img 」をコピーする。
/dev/sda3 を消去し、新たにパーティションを作り直す。
次に、「landisk-hda1.img」をコピーする。
swap を作成する。
/dev/sda3 の先頭を消去する。
mke2fs で /dev/sda3 をフォーマットする。
あとは、tar で固めた 「landisk-hda3.img.tar.gz」を /dev/sda3 に移動するだけです。/mnt/tmp の直下には、「share」と「spool」ディレクトリがコピーされている状態になるはずである。また、ドットで始まるファイルの「.landisk」と「.landisk-update」の2つのファイルもきちんとコピーしておこう。
あとは、出来上がった複製LANDISKをLANDISK筐体にとりつけ、正常に起動するかどうかを確認するだけである。
|
|||||||||||||||||
参考文献 | |||||||||||||||||
■wizd on LANDISK |
TOPへ戻る | ||
Copyright © KORO All Rights Reserved. |