Possible Locations for the Superblock


思わず fsck_ffs/setup.cを見て superblocksの位置を確かめて、fsck_ffs -b 32 /dev/adXなどとしたが、やっぱダメポ。

/* * Possible locations for the superblock. */ static const int sbtry =
SBLOCKSEARCH; /* locations the 1st alternate sb can be at */ static const int
altsbtry
= { 32, 64, 128, 144, 160, 192, 256 };

これまでのあらすじ

HDD二台持ち込まれ、何とかマウント出来ないかというご依頼。


常道はこれDO台だけど、先方に貸し出したままのがあったので、それでトライしてもらったけど、どうも上手く逝かない模様。
HDDが二台あるっつーことでミラー構成を疑い、アレイ構成の有無やら OSについて尋ねたものの情報が取れず。


これDO台でコピーしたディスクを PCに繋ぎ直してみたが、やっぱり OSが Bootしない由。

前提
  • BIOSから認識されない子 1台
  • これ DO台でコピー出来る子 1台
  • OSは多分 Windows

という前提。

基本方針

HDD1-> Copy of HDD1 -> Copy of Copy of HDD1という風に二世代コピーをして、作業用HDDを作る。
マウントしたりあーだこーだするときは Copy of Copy of HDD Xをいじり、壊したら Copy of HDD Xから再度クローンを作る。

適当な OSから suspicious HDDをマウントして健全そうな HDDにコピーする。

作業

これDO台で、HDD1-> Copy of HDD1 -> Copy of Copy of HDD1という風に二世代コピーをして、作業用HDDを作る。


作業用に別 HDDに FreeBSD7を入れる。

BIOS的に認識されない子を、FreeBSDの atacontrolを繰り返して認識されるまで頑張る。

  • atacontrol list
  • atacontrol attach $CHANNEL
  • atacontrol detach $CHANNEL

FreeBSD的に認識されたら、HDD2-> Copy of HDD2 -> Copy of Copy of HDD2も作る。

一世代目の copyを作るのは 1-10時間くらいかかるので気長にやる。
copyから孫コピーを作るのはエラーが無いことが期待されるので 1時間程度。


HDD1、HDD2ともにテキトーに繋いでも Boot Loaderが出てこないので、他の OSからマウントしてディレクトリ、ファイルをコピーする作戦に移行する。


FreeBSD fdiskで見たら、HDD1は Linux ( sysid 142 (0x8e),(unknown) ), HDD2は FreeBSD ( sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) )ということがわかる。

FreeBSD Partitionの方

superblockが壊れているエラーが出るので fsckにトライしてみたがやっぱダメポ←いまここ

Linux Partitionの方

別HDDに Debian sidのシステムを入れてみたところ、Linux ext2/ext3ではなく、LVMだと分かるので、LVM的にマウントしようとしたがパーティション見えない←いまここ

今後

FreeBSD Partitionはディスクエディタでチマチマ見ると改善されるかもしれないが工数でかい。

Linux Partitionの吸い出しはまた今度、、、と