fdisk -i
」で、最後の書き込み以外はそのまま、「bsdlabel -w
」「bsdlabel -e
」して、d partitionだけ有効にした。
35.7% … 6/12(22時頃まで), 12.6% … 6/11, 3.7% … 6/10, 0.1% … 6/9, 0.1% … 6/8
ifconfig wlan0 list scan
」して回ってみる。
うわ。
普段、私がいる部屋では4つぐらいしかスマホでAPを認識しなかったので意識していなかったが、40以上広う場所がある…
sort -n +2
」を眺めるぐらいでは訳がわからないので、ifconfig wlan0 list scan | perl -e 'while(<>){@_=split;if(\!defined($m{$_[2]})||$_[4]>$m{$_[2]}){$m{$_[2]}=$_[4]." ".$_[0];}}foreach $i(keys %m){print $i," ",$m{$i},"\n";}'|sort -nといったことをして、歩き回って調査。
newfs
して、fsck
して、1/4縮小済のものを書き出し開始。
zero-fillとかの書き読み試験はいらないと判断。
227GBほどあったので、3時間弱で終る見込み。
newfs
して、fsck
で結構もうダメか。
なんか、いろいろいじった後だったかな?
fdisk -i
」「bsdlabel -w
」「bsdlabel -e
」して最初からやり直してみる。
fsck
で引っかかるなぁ。
もう一度fsck
したら通ったのでいいことにする。
dd if=da0s1d of=null bs=32m conv=noerror,sync
」。
badsect
でどういう数字を指定すべきなのかよくわからんのだよな。
filesystemで対応するということで何か数字がずれていそうだし。
昔、実際に運用中のHDについては何かした覚えがあるんだけど。
OSじゃなくて、S.M.A.R.T.の方で、reallocated sectorで対応してくれると嬉しいのだが。
dd conv=sync,noerror
」で出てきた入力recordを指定したのでそれでよいのかな。
ここでは、1 sector単位の入力なので、一体時間がどれだけかかるかわからんな。
32MB単位とかでやって2分探索する方法はなくはないが、人間的手間がかかるし。
newfs
しなおして、既に1/4縮小済のものを書き出し。
bsdlabel
で全てを1 partitionにして、newfs
して、fsck
したら…
変なseek音がしたかと思ったら、なんかread errorを起こした。
とりあえずcontinueしていたが、怪しい状態が継続。
あきらめて0 fillしようとしたら…
operation not permittedとか怒られる。
firewireをresetしたが変化なし。
とりあえずfirewireの方を電源off/onしたら、0 fillを開始できた。
これで、読めない不良セクタの再配置が行なわれ復活するとよいのだが。
mount
して、ちょっと中身を見て…
おや?
なんでここで固まる?
fdisk -i
」「bsdlabel -w
」「bsdlabel -e
」「newfs -m 0 -o space
」して、fsck
も無事通った。
んで、1/4縮小ファイルの書き出し。
(ada1:ata2:0:0:0): READ_DMA48. ACB: 25 00 40 d1 62 40 2d 01 00 00 00 01がーん。 なんか嫌だなぁ。 いま、外付HDの整理も続けているので、あんまりディスク的に余裕がないし。 内蔵HDのうち、一番新しい奴なのに… とりあえず勝手に復旧したので、様子を見るかな。 ちょっと問題が起きたファイルを触るのはしばらく止めておこう。
(ada1:ata2:0:0:0): CAM status: ATA Status Error
(ada1:ata2:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 40 (UNC )
(ada1:ata2:0:0:0): RES: 51 40 00 d2 62 2d 2d 01 00 00 00
(ada1:ata2:0:0:0): Retrying command
g_vfs_done():ada1p1[READ(offset=2588885024768, length=131072)]error = 5
本ページの主張等は著者の所属組織に全く関係なく、個人としてのものです。