え~
開発に使ってたDebianマシンが起動しなくなりました。(T_T)
まぁ、重要なデータは別サーバで管理しているので問題はないのですが、開発環境はDebianマシンに組んでいたのでショックです。
とりあえず、必要なデータが入っていないかの確認用に1CD-Linuxをダウンロードして起動してみたのですが、なんと!!
ほとんどの1CD-LinuxがLVMを扱えるようになっていません……orz
試してみた1CD-Linuxは
Knoppix
BerryLinux
DebianLive
で、siduxも試したかったのですが、手元に700MBCD-Rが無くて断念!!
仕方がないので、HDDを抜いてSATA-USB変換機に接続し、実験用のDebianマシンに接続してサルベージという方法をとりました。
まずは、LVMが使えるように必要なパッケージをインストールします。
# apt-get install lvm2 lvm-common
モジュールが使用できるようになっているか確認
# lsmod | grep dm dm_snapshot 15552 0 dm_mirror 19152 0 dm_mod 50232 2 dm_snapshot,dm_mirror
SATA-USB変換機をサルベージマシンに接続し
# modprobe usb-storage # cat /proc/partitions major minor #blocks name 3 0 160086528 hda 3 1 979933 hda1 3 2 979965 hda2 3 3 158119762 hda3 8 0 244197527 sda 8 1 248976 sda1 8 2 1 sda2 8 5 243946993 sda5
USBに接続したHDDのパーティション(sda*)が見えていることを確認出来たので、VG Nameを確認します。
# pvdisplay /dev/sda5 --- Physical volume --- PV Name /dev/sda5 VG Name development PV Size 232.64 GB / not usable 0 Allocatable yes (but full) PE Size (KByte) 4096 Total PE 59557 Free PE 0 Allocated PE 59557 PV UUID gqzXpY-do40-W1uC-2uLP-CbfN-0vmt-qjhuch
VG Nameが"development"と言うことがわかりました。
VGの内容は下記のようにすることで確認できます。
# vgdisplay development --- Volume group --- VG Name development System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 232.64 GB PE Size 4.00 MB Total PE 59557 Alloc PE / Size 59557 / 232.64 GB Free PE / Size 0 / 0 VG UUID Y7UvBZ-z1gX-DNsP-W49J-Tx2B-22UY-anSdly
上記でLVが2個あることがわかったので、LVの内容を確認しましょう!
# lvdisplay development --- Logical volume --- LV Name /dev/development/root VG Name development LV UUID D8Tt9n-0d9V-LdOb-wrab-qkVZ-nRx3-9zH239 LV Write Access read/write LV Status NOT available LV Size 231.19 GB Current LE 59185 Segments 1 Allocation inherit Read ahead sectors 0 --- Logical volume --- LV Name /dev/development/swap_1 VG Name plextor LV UUID bGnZpX-c2WP-d2ut-MDXq-62gQ-qbfO-HJUJFI LV Write Access read/write LV Status NOT available LV Size 1.45 GB Current LE 372 Segments 1 Allocation inherit Read ahead sectors 0
LVとして、"root"と"swap_1"が有る事がわかりました。
今回は、必要なデータが有るかどうか知りたいだけなので、ターゲットは"/dev/development/root"と言う事がこれでわかります。
下記コマンドで、ボリュームを有効にします。
# vgchange -a y 2 logical volume(s) in volume group "development" now active
後は、"dd"コマンドでバックアップを取っておいてからマウントしてみます。
(バックアップを取るときは、空き容量に気をつけてください)
# mount /dev/development/root /media/usbdisk
重要なデータが無いことを確認出来たので、原因を調べてみました。
原因は、なぜかEmbedded Debianのパッケージが起動に必要なパッケージを上書きしていることがわかりました。(ーー;)
たぶん、Emdebianをいじって遊んでいるときに何かをしてしまったのかもしれません……
しっかし、結構な量のEmdebianパッケージがインストールされています。
アーキテクチャが違うからインストールできないと思ってたけどな~
パッケージを削除して、再インストールするのは面倒なのでここはHDDが壊れていないことを確認して再インストールしました。
HDDが壊れていないかの確認は、umountして
# umount /media/usbdisk
HDDをチェックします。
# e2fsck -c -c -C -f /dev/development/root
HDDを外す時は、ボリュームを無効化し
# vgchange -a n
次に、USB-HDDを抜ける状態にします。
# modprobe -r usb-storage
HDDがはずせるようになったかは、"dmesg"コマンドで下記メッセージが出ていれば問題ないと思います。
usbcore: deregistering driver usb-storage