- PR -

Linuxの復旧方法

1
投稿者投稿内容
339
常連さん
会議室デビュー日: 2005/05/21
投稿数: 34
投稿日時: 2005-07-03 17:50
OS:RedHatLinux9
HDD:20GB 

最近HDDにエラーがでてくるようになったため現在の容量と同じ20GBのHDDを買ってきて
USBで接続しddコマンドでコピーを実施いたしました。
しかし下記エラーがでてきてうまく行きません。

[root@localhost floppy]# dd if=/dev/hda of=/dev/sda
dd: reading `/dev/hda': 入力/出力エラーです
読み込んだブロック数は 360976+0
書き込んだブロック数は 360976+0

また、/var/log/messagesには下記内容のエラーが出力されてしまいます。

localhost kernel: hda: dma_intr: error=0x04 { DriveStatusError }
localhost kernel: hda: dma_intr: error=0x04 { DriveStatusError }
localhost kernel: hda: dma_intr: error=0x04 { DriveStatusError }
localhost kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=360996, sector=360976
localhost kernel: end_request: I/O error, dev 03:00 (hda), sector 360976
localhost kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=360996, sector=360978
localhost kernel: end_request: I/O error, dev 03:00 (hda), sector 360978
localhost kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=360996, sector=360980
localhost kernel: end_request: I/O error, dev 03:00 (hda), sector 360980
localhost kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=360996, sector=360982
localhost kernel: end_request: I/O error, dev 03:00 (hda), sector 360982
localhost kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=360996, sector=360984
localhost kernel: end_request: I/O error, dev 03:00 (hda), sector 360984
localhost kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=360996, sector=360986
localhost kernel: end_request: I/O error, dev 03:00 (hda), sector 360986
localhost kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=360996, sector=360988
localhost kernel: end_request: I/O error, dev 03:00 (hda), sector 360988
localhost kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=360996, sector=360990
localhost kernel: end_request: I/O error, dev 03:00 (hda), sector 360990
localhost kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=360996, sector=360992
localhost kernel: end_request: I/O error, dev 03:00 (hda), sector 360992
localhost kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=360996, sector=360994
localhost kernel: end_request: I/O error, dev 03:00 (hda), sector 360994
localhost kernel: EXT2-fs error (device sd(8,0)): ext2_read_inode: bad inode number: 11
localhost kernel: EXT2-fs error (device sd(8,0)): ext2_write_inode: bad inode number: 2

KNOPPIXを利用しても同じ結果でした。
init 1(シングルユーザーモード)で実施しても同じ結果です。

hdaハードディスクがもう限界なのでしょうか?
とにかく新しいHDDにうまく内容をコピーしたいのですが
うまく行くやり方等ございましたらご教授ください。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-07-03 20:46
・元のHDDはPIOで読み出すようにしておいたほうがよいかも。
・ddに conv=sync,noerror オプションをつける。
・bs= は 512 にする。
・noerrorを付けるとディスクの末尾まで行っても止まらなくなるので
 count= を指定しておく。値はdmesg等に出ているCHS値から計算する。
 # 計算しなくても値がそのまま出てたかも?
 # 手元にLinux環境がないのでわかりません。
・ddが終わったら、コピー先に対してfsckをかける。

[ メッセージ編集済み 編集者: ぽんす 編集日時 2005-07-03 20:47 ]
339
常連さん
会議室デビュー日: 2005/05/21
投稿数: 34
投稿日時: 2005-07-03 21:05
「・元のHDDはPIOで読み出すようにしておいたほうがよいかも。」
とはどのように設定するのでしょうか?基本的なことかもしれませんが
教えていただけませんでしょうか?
また、ddを実施するにあたってマルチユーザモードでも可能でしょうか?
今現在init 3 の状態です。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-07-03 21:28
引用:

339さんの書き込み (2005-07-03 21:05) より:
「・元のHDDはPIOで読み出すようにしておいたほうがよいかも。」
とはどのように設定するのでしょうか?


BIOSの設定でやります。他にも方法(FreeBSDのatacontrolのような)が
あるかもしれませんが、私は知りません。

引用:

また、ddを実施するにあたってマルチユーザモードでも可能でしょうか?
今現在init 3 の状態です。


元のHDDに書き込みが生じないようにしておいたほうが無難です。
要はマウントしないほうがよい、ということで。
# 読み取り専用でならマウントしてもいいですが。
その手段はKNOPPIXを使うなりなんなり、やりやすい方法で。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-07-04 00:33
こんばんわ.
引用:

ぽんすさんの書き込み (2005-07-03 21:28) より:
引用:

339さんの書き込み (2005-07-03 21:05) より:
「・元のHDDはPIOで読み出すようにしておいたほうがよいかも。」
とはどのように設定するのでしょうか?


BIOSの設定でやります。他にも方法(FreeBSDのatacontrolのような)が
あるかもしれませんが、私は知りません。


Linux なら hdparm でできるのでは?
1

スキルアップ/キャリアアップ(JOB@IT)