Windows(Macも可)のデータを救う、復旧用USB版 Knoppix(6.2)の作り方

最近、友達のWindows7のラップトップが突然立ち上がらなくなった。

Windowsのシステムファイルが壊れたようで、直すことが出来るかもしれないがその前にデータのバックアップをすることに。しかしそのラップトップはネットブックなのでドライブがない。そこでKnoppixならUSB bootが出来た気がしたのでやってみました。

Knoppixはversion6以上から標準でboot可能なflash-drive(USBメモリ)を作る機能があるらしい。
CD版とDVD版があるけど、データ復旧用であれば容量の少ないCD版(700MB強)の方がいい。DVDは2400MBもあるので不向き。macを使用。またknoppixはUSB版を作る前にCD版を用意する必要があるけど、 焼くのが面倒だったのでparallelsで起動。

以下、手順。

1. Knoppixをダウンロード

KnoppixはTorrentファイルで配布されているので本家の以下ページに行く。

http://torrent.unix-ag.uni-kl.de/

この時(2010年8月11日)versionは6.2.1が最新版。 以下をダウンロード。

KNOPPIX_V6.2.1CD-2010-01-31-EN

そしてTorrentソフトを使用してKnoppixをダウンロード。

macはTransmissionがおすすめ。

2. ダウンロードしたisoからparallelsで新規仮想マシンを作成

ファイル ->新規仮想マシン を選択し、指示に従って進む。

以下画面のようにファイルを選択のところでダウンロードしたisoファイルを指定。

3. USB版Knoppixの作成

Knoppixが立ち上がったらUSBを挿す。自動で認識。

preference -> flash bootを選択。

※この際、フォーマットするか聞かれるので既存ドライブをフォーマットしないよう注意。USBデバイスを選択

4. boot設定を変更してUSBから起動可能に

OSの起動が通常はHDDが優先になっているのでUSBを優先に変更。

起動時にF2を押して(マザーボードメーカによる)BIOS設定画面に移動して設定。

5. Knoppix上でファイルを他メディアにバックアップ

USBからbootしてKnoppixが立ち上がったら普通に操作して外付けHDDかUSBメモリにでもバックアップ。

これでおしまい。結構めんどくさい。普段から事前に準備しておくのがいいがなかなかその気にはなれないのであった。

 

おまけ

この他にも、ubuntuから作られたubuntu-rescue-remixというのもあり、 こちらもUSB起動版を作れるようです。興味ある方はどうぞ。

http://ubuntu-rescue-remix.org/

http://www.linuxliveusb.com/

[CakePHP]自動でip addressやホスト名を保存する方法

[CakePHP 1.2.7]

昔からCakephpは結構使っているのでノウハウを休憩中にでもすこしずつ公開。

CGM型のWebサービスだとユーザーがなにかしらのアクションをしてDBに保存することが多いわけですが、
その際に、ユーザーを追跡出来るようにip addressを保存しておくのが普通。
Cakeでそれをやるとき、全てのmodelにipを保存するコードを書くのは面倒なので、以下のようにするとラクチン。

この場合、ip addressを保存したいテーブルにip_addressフィールド、ホスト名を保存したい場合はhost_nameフィールドを入れておく。
そしてapp_model.phpのbeforeSaveにいれておけばフィールドを追加しておいたテーブルは全て勝手に保存してくれるのであった。

app_model.php

[php]
/* fieldにip_addressがある場合は自動でipを保存 */
function afterSave($created) {
if ($created) {
if ($this->hasField(‘ip_address’)) {
$this->saveField(‘ip_address’, env(‘REMOTE_ADDR’));
}
if ($this->hasField(‘host_name’)) {
$this->saveField(‘host_name’, @gethostbyaddr(env(‘REMOTE_ADDR’)));
}
}
}
[/php]