OSとして使っていたハードディスクが壊れた場合は
内部データが完全に逝ってしまう場合、 内部データの一部が逝った場合、OS関連のデータのみが逝った場合の
およそこの3つで区分されます。OS関連のみというのはどちらかと言うと人為的な原因が高い気もしますが、
そういう場合も多分あるかと。全データが飛んだ場合は諦めもつくかもですが、一部だけならどうにか
戻したいと考えるのは普通でしょう。貴重だったり、個人情報に関するデータなど、消えたらまずいものが
色々あると思います。 そういった場合に対して、どうにか残っているデータを取り出す為の方法に関して
研究していきました。


先のLVMの説明でも記述しましたが、現在ほぼ全てのLinuxにLVMという機能が実装されています。
LinuxのハードディスクをLinuxでマウントする場合、このLVMのVolumeGroup名が問題となってきます。
基本的に、VGはインストール時に変更を加えない限りデフォルトのVolGroup00という名称が
割り当てられます。これに関しては、どの種類のLinuxを使用しても同じようです。
OSとして使用しているハードディスクのVG名、取り出したいデータの入ったハードディスクのVG名が
同じだと取り出したいデータのある方のハードディスクのマウントができません。
(誰でも一度は目にしたことがあると思いますが、同じ場所に同じ名前のファイルは存在できません。
それと同じような理屈ではないかと思われます。 )
よって、CD、USBフラッシュメモリ等を手動でマウントするのと同じようにはできない訳です。

ではどうすれば良いのか?
とどのつまりVG名が互いに違えば認識できるはずなのです。従って、どうにかしてVG名を
変更してやる必用があります。

まず始めに、取り出すデータのあるハードディスクのみを接続しておき、レスキューモードを
起動します。 レスキューモードを起動するにはOSが起動する前にインストールディスクの
1枚目を読み込ませます。起動すると、GNOMEやterminalのようなコマンドを打ち込める画面が出てきます。
ここで、

 boot : Linux_rescue

と入力することで、レスキューモードを起動させることができます。
起動すると、キーボードの設定を聞かれるので、p12を選択しておけば良いはずです。
無事起動できたら、以下のコマンドを入力してください。

# lvm
# lvm> vgscan (VG名の確認)

# lvm> vgchange -an Volgroup00 (VG無効化)
# lvm> vgrename VolGroup00 VolNewGroup00

(『lvm>』 は 一度『lvm』と入力した後表示されます。)
vgscan で一応VG名を確認します。デフォルトのままだとVolGroup00となっているはずです。
ここでは一応VGを無効化していますが、必要ないかもしれません。
vgrename で元のVG名から変更したいVG名に変更させます。なお、便宜上変更する名前を
VolNewGroup00としましたが、他の名前でも問題ないと思います。

# lvm > vgchage -ay VolNewGroup00

VG名を変更したら、新しい名称に変更したVG名を一度有効化します。
この状態で各論理ボリュームのactiveを確認できれば名称の変更は完了です。
電源ボタン長押しなりコマンドなりでレスキューモードを終了します。
ここで注意しなければならないのは、データ用のハードディスクではなくOSとして使用しているハードディスクの
VG名を変更してはならないという事です。確証は得ませんが、どうもシステム起動の際VG名が変更されている事を
認識していないのではないかと思われます。単純にデータの移動を行う場合、つまり別にOSが起動しないという訳ではない
ハードディスクでVG名を変更した場合は、元のVG名に変更しておかなければ再びOSを起動させる事はできないと思います。

普通にOS用のハードディスクを接続し、抽出するデータのあるハードディスクをUSBケーブル、
もしくはSecondary側に接続します(OS用の方は通常Primaryに接続しているはず)。
Gnomeを起動して、VGの確認をします。

# lvm
# lvm > vgscan
# lvm > vgchange -ay VolNewGroup00

# lvm > lvscan (lvの確認)

# lvm > exit

一応vgscanでVG名の確認をしておいてください。前述した状態ならば、
VolGroup00とVolNewGroup00の二つを確認できていると思います。

名称を変更するとどちらも認識させる事ができるようになるので、この状態まで来てようやくマウントできるようになります。

認識できている事を確認したら、次にマウントポイントを作成してからマウントを行います。

# mkdir /mnt/usb
# mount /dev/VolNewGroup00/LogVol00 /mnt/usb/

# umount /mnt/usb/

mkdirで フォルダを作成、ここをマウントポイントとします。名前はusbじゃなくても
全く問題ありません。 マウントするのは、ボリュームグループ内の論理ボリュームになるので、
lvscanで確認しておく必要があります。適当にパーティションを複数作成していると、マウントするとき
どこに何があるのか分からなくなる場合があるのでその度マウントしていく羽目になるかもしれません。
アンマウントする時は、マウントポイント先だけ指定してやれば良いようです。

一連の作業は全てbootで行ったものとしております。
もし別アカウントで入ったのであれば、lvmコマンドを扱う際に /sbin/lvm
と入力してやらないと扱えないので注意を。

 

使用頻度は高くないと思いますが、フラッシュメモリ等の手動マウントについて記載します。

# mount -d /dev/cdrom  (cd)
# mount -t vfat /dev/sda1 /mnt/usb (USBフラッシュメモリ)

# mount -t iso9660 /dev/cdrom-sr0 /mnt/usb/ (外付CDドライブ)

下二つに関しては、マウントポイントが必要です。
USBフラッシュメモリ等は、一度 dmesg というコマンドを使って
デバイス名を確認しないとわからないかもしれません。なお、FAT32形式でフォーマットして
ある物だったので、それ以外の物に関しては適用できない可能性があります。
外付DVDドライブは試した事が無いので分かりません。