mytips.exblog.jp ブログトップ

タグ:修復 ( 4 ) タグの人気記事
FreeBSDのディスク修復作業(2) HDD修復不能パーティーションの強制マウントからバックアップ
不良セクタのあるパーティーションはfsck_ffsを行い検証&修復をしても正常終了しないので、通常のmountコマンドでマウントできないので、強制マウントを行う。
(たぶんないけど、システムクラッシュも覚悟)
まずは、fsck_ffs実行
-------------------
# fsck_ffs /dev/ad1s1g
* /dev/ad1s1g
** Last Mounted on /home
** Phase 1 - Check Blocks and Sizes

CANNOT READ BLK: 8020576
CONTINUE? [yn] y

THE FOLLOWING DISK SECTORS COULD NOT BE READ: 8020634, 8020641, 8020642, 8020643, 8020644, 8020645, 8020646, 8020647, 8020648,
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
8049 files, 2946572 used, 4412955 free (3195 frags, 551220 blocks, 0.0% fragmentation)

***** FILE SYSTEM STILL DIRTY *****

***** PLEASE RERUN FSCK *****


-----------------

リードオンリーで強制マウント
mount -f -o ro /dev/ad1s1g /old_hdd
df
( /old_hdd にマウントしていることを確認)

ここで救出したいファイルをマウントしたパーティーションからコピーするのだが、ディレクトリ単位で、コピーしたい対象を小分けにコピーしていく。

tar -cvf /my/old_hdd.libs.tar /old_hdd/libs
マウントしたパーティションのlibsディレクトリを /my/の中に old_hdd.libs.tar で圧縮
圧縮が完了したら安全なマシンへネットワークコピーするとか。
[PR]
by sato025 | 2008-10-10 17:39 | FreeBSD
FreeBSD ハードディスク復旧作業 HDD修復
接続されたHDD(マウントできていない)を修復するやり方メモ。
起動パーディションに不具合が発生し、起動せず、別のマシンへ接続した状態

■HDDの修復ユーティリティffs2recovをインストールする
su
cd /usr/ports/sysutils/ffs2recov
make
make install


■ボリュームラベル /dev/ad1に修復を試みる
/usr/local/sbin/ffs2recov -s /dev/ad1
--------
結果
readin: bread failed (blk 7031899 len 4096) : Input/output error
-------
修復できない

「super block」というボリューム内のファイル情報(どこに、どのファイルが格納されているか記録してある番地情報のようなもの)が、破損するとボリューム全体が読み込み不可になる。
super blockは、重要な情報が格納されている為、利用していく内に、バックアップ(コピー)を別の領域にも保存していく仕組みが自動的に行っている。

ディスクメンテナンスコマンド fsck_ffs を使って、このsuper blockの再構築を試みる。
fsck_ffs /dev/ad1

このコマンドで破損したsuper blockが再構築されると、下記のようなパーティーションもマウント可能になるはず
/dev/ad1s1
/dev/ad1s1a
/dev/ad1s1b

マウントさせるには
su root
mkdir /old_hdd
mount /dev/ad1 /old_hdd
ls /old_hdd

マウント解除は
umount /old_hdd


/dev/ad1のsuper blockが復旧できない場合、オプションで上記予備領域に複製されたsuper block情報を元に再構築を試みる
予備のsuper blockがどこに保管されているかを調べる

newfs -N /dev/ad1
(newfsコマンドはHDDのイニシャライズ、フォーマットを行うコマンドなので、-Nオプションを忘れずに)

数字の羅列が変えてくるので、その数字のブロック数指定で
fsck_ffs -b 160 /dev/ad1
のように修復を試みる
(160は、newfs -Nで表示された数字)

別のパーティーションでも同じ
newfs -N /dev/ad1s1g
fsck_ffs -b 160 /dev/ad1s1g

正常にsuper blockが認識できたパーティーションは、マウント可能状態にあるので、破損したHDDからパーティーション単位でデータの復旧が可能になる

fsck_ffs /dev/ad1s1g

fsck_ffs/dev/ad1s1c
表示例================
** /dev/ad1s1c
** Last Mounted on /old
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
3143 files, 36124 used, 479947 free (1059 frags, 59861 blocks, 0.2% fragmentation)
====================
正常終了したら(正常終了しなかった場合の方法は別途メモ)
mkdir /old_hdd
mount /dev/ad1s1g /old_hdd
du
マウントを確認

ls /old_hdd

データをバックアップ
tar -cvf /home/work/ad1s1g.tar /old_hdd
みたいに
[PR]
by sato025 | 2008-10-10 16:35 | FreeBSD
OSX 10.3 不調。
全体のパフォーマンス低下が顕著になったので、ディスクユーティリティで、ハードディスクメンテナンスを実施。
一度同じことをしたが、今ひとつ改善が見られなかったので、今回は、コマンドラインから、

sudo update_prebinding -root  /
も合わせて実施。
これは、アプリケーションインストール後などに自動的に実行される「最適化」を、マニュアル操作で、システム(HDD)に適用するコマンドだ。

これにて、しばらく様子見
[PR]
by sato025 | 2005-02-25 18:02 | Mac & Setup
OSX システム最適化コマンドupdate_prebinding
10.3以降では、無効だとか、効果があっただとか、Web上の情報ではまちまち。

sudo update_prebinding -root /
[PR]
by sato025 | 2005-02-23 16:13 | Mac & Setup
|
検索
タグ
カテゴリ
以前の記事
最新のコメント
最新のトラックバック
Tool
from adgj.net wiki ..
Googleウェブマスタ..
from i yahoo i.com:..
[Mac] NAV fo..
from あるネットワーク管理者(よっ..
ライフログ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧


var gaJsHost = (("https:" == doc ument.loc ation.protocol) ? "https://ssl." : "http://www.");doc ument.write(unesc ape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));var pageTracker = _gat._getTracker("UA-103429-5");pageTracker._trackPageview();