mieki256's diary



2006/01/17(火) [n年前の日記]

#5 [pc][linux][windows] メインPCのダメHDDを新HDDにコピー

以下のページを参考にさせてもらいつつ。

_void GraphicWizardsLair( void ); // H原外付けHDDの復旧作業
_2002/11/07 自宅(1) 「復活の日: FreeBSD ディスククラッシュ事件総括」
_2004/01/22 三田(2) 「ディスクが BIOS から認識しなくても諦めるな!」

  1. knoppix 3.7 を「knoppix noswap」で起動。
  2. root shell を開く。
  3. dmesg | grep hda で、HDD の CHS(シリンダ/ヘッダ/セクタ) をメモ。
  4. CHS を掛算しておく。
  5. hdparm で HDD の DMA を変更。入力側は DMA off。出力側は DMA on にした。どちらも off の場合より、半分の時間で済むらしい。
  6. dd if=/dev/hda of=/dev/hdb bs=512 count=CHSをかけ算した数値 conv=sync,noerror でコピー開始。
さて、終わるのは何時間後だろうか。

補足 : knoppix :

knoppix の起動時に noswap をつければ、HDDにswap、つまりは書き込みをしなくて済むらしい。復旧作業時などは noswap をつけて動かしたほうが安全なのだろう。たぶん。

root shell は、画面下部ツールバー(?)のペンギンアイコンを押せばメニューの中に見える。管理者権限で操作ができる。らしい。

補足 : dmesg :

dmesg | grep hda
dmesg は、起動時のログを表示してくれるコマンド。…コマンドなのかツールなのかわからんけど。それを grep という「文字列を検索」するツールに丸々渡して、「hda」が含まれている行だけを表示する。

linux の場合、HDD は、
  • hda
  • hdb
  • hdc
  • hdd
といった感じで指定できる。

補足 : CHSの掛算 :

今回は、CHS(シリンダ/ヘッダ/セクタ) = 9964/255/63 だったので、9964 x 255 x 63 = 160071660。

補足 : HDDのDMA :

hdparm というコマンドを使えば確認・変更できる。

hdparm /dev/hda
HDDの設定状況が表示される。

hdparm -d0 /dev/hda
DMAを無効に。

hdparm -d1 /dev/hda
DMAを有効に。

壊れたHDDは、DMA on だと変なデータを返す可能性もあるとどこかで見かけたので、壊れたHDD側は DMA 無効にして作業してみたり。でも、利用時間が長いとどんどん壊れていく場面もありそうな。そういう場面では、DMA on にして、できるだけ短時間で吸い出したほうがいいのだろうか。いや、しかし、壊れたデータを吸い出しても無意味だしなぁ。

補足 : dd :

dd if=/dev/hda of=/dev/hdb bs=512 count=かけ算した数値 conv=sync,noerror

_Manpage of DD
dd はファイルを指定された入出力ブロックサイズで (デフォルトでは標準入力から標準出力へ) コピーする。

Manpage of DD より


if は、転送元。(Input)。
of は、転送先。(Output)
bs は、一度に読み書きするbyte数。

conv=sync,noerror は、下記の指定。
sync
エラーが出たところを詰めないで、代りに 0 で埋める。
noerror
読み込みエラーが出ても継続する。
壊れたHDDの場合、えてして読み込みエラーが発生するので、conv=sync,noerror をつけないと作業が途中で止まる・変な詰め方をされてしまうらしい。

conv=sync,noerror をつけると、HDDの終わりをチェックしてくれなくなるので、count=〜 で作業回数を指定しておくのだとか。回数は、HDD の CHS(シリンダ/ヘッダ/セクタ) を掛算した値。その回数分コピーをすれば、HDDを丸々コピーしたことになるはず。

ちなみに、CHSを掛算した値に、bsで指定した 512 byte を掛けてやれば、HDDの容量になってくれる、ということらしい。

以上です。

過去ログ表示

Prev - 2006/01 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project