Fedora 10 に VMware Tools を導入したら起動しなくなった(後編)
この記事は前回の記事の続きです。要約すると、VMware上の起動しないゲストOSのファイルを救出するというお話。
では、以下続き
6. LVMを利用できるようにする。
Ubuntu上で以下のコマンドを実行し、まずLVMが利用できるようにします。
$ sudo apt-get install lvm2
これで、もともとFedoraじゃないと扱えなかったLVMが利用できるようになります。簡単。
7.LVMのボリュームをマウントする
続いて、必要なモジュールを読み込み、マウント可能なLVMボリュームをスキャン、実際にマウントの順に行います。
root@ubuntu-vm:~# sudo modprobe dm-mod
root@ubuntu-vm:~# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
root@ubuntu-vm:~# sudo vgchange -ay VolGroup00
2 logical volume(s) in volume group "VolGroup00" now active
root@ubuntu-vm:~# sudo lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
LogVol00 VolGroup00 -wi-a- 18.75G
LogVol01 VolGroup00 -wi-a- 1.00G
root@ubuntu-vm:~# sudo mkdir /mnt/fcroot
root@ubuntu-vm:~# sudo mount /dev/VolGroup00/LogVol00 /mnt/fcroot -o ro,user
これで、無事/mnt/fcrootに目的のパーティション(/dev/sdb2)がマウントされました。
8. 救出完了
以上のようにして、無事データを吸い出すことに成功しました。めでたしめでたし。
参考ページ:「Accessing a Fedora Logical Volume from Ubuntu」
Fedora 10 に VMware Tools を導入したら起動しなくなった(前編)
VMware上のFedora 10 でプログラミングをしていました。
ホストOSとの間でファイルを便利に共有したり、クリップボードを共有したりするために、VMware Toolwをインストールすることに。実は、Fedora 10 の 64bitで一度失敗していたのですが、今回は32bitなので、うまくいくだろうと軽い気持ちでインストール。
→めでたく起動しなくなりました。。。
今回のテーマというか、目標は、この起動しなくなったVMware上のゲストOS Fedora 10 (i386)から、自分で作ったプログラムのソースコードを救出することです。つまり、起動しなくなったゲストOSのインストールされていたHDDイメージファイル(.vmdkファイル)から、データを取り出すということです。
1. .vmdkファイルって何?
私も、こんな拡張子のファイルのことなど知りませんでしたが、ようするにVMwareがゲストOS上で利用するHDDの実体。つまり、データやら、プログラムやらが格納されているファイルです。今回は、この中からファイルを吸い出したいということです。
2. 起動しなくなったHDDイメージをマウントするため、あらたなゲストOSを用意する。
この、.vmdkファイルですが、あくまでVMware用のファイルなので、VMwareで利用することが前提となります。というわけで、起動しなくなったOSとは別に、ゲストOSを用意します。今回利用したのは、Ubuntuです。
なぜUbuntuかというと、VMware用仮想マシンを本家が提供しているから。つまり、すぐ利用できるということ。今回は、「ubuntu-ja-8.04-vmware-i386.zip」をダウンロードして利用しました。
3. UbuntuをゲストOSとして起動する
VMware Serverの場合(VMware Playerでもたいして変わらないはず)、「File>Open...」で、「Open Virtual Machine」ダイアログを表示し、「Browse...」から先ほどダウンロードしたzipを解凍した中にある「Ubuntu.vmx」を選択し、VMwareに認識させます。
で、続いて、対象の.vmdkファイル(私の場合はOther Linux 2.6.x kernel-000001.vmdk)をUbuntuが起動したときにHDDとして認識するように設定します。
「VM>Settings...」から、「Virtual Machine Settings」を表示させ、Hardwareタブの左下の「Add...」をクリック(OSが起動中だとグレーアウト)。あとは、ダイアログに従って、Hard Diskを追加し、.vmdkを利用するように選択し、実際に認識させたい.vmdkファイルを指定してください。
UbuntuをVMware上で起動させます。ログイン名とパスワードなど、ほんの少しの設定をしたら導入完了です。ちなみに、rootパスワードが未設定なので、「su -」を利用してrootユーザになりたい人は、「$sudo passwd root」でパスワードを新規に設定してください。
4. あとはUbuntu上でマウントするだけ(ここでは、失敗します)
追加で認識させたHDD(.vmdk)ファイルは、/dev/sdbとして、認識されています。
#mount /dev/sdb1 /mnt
で、/mntディレクトリへ素早くマウント。しかし、sdb1はブートディレクトリ(/boot)なので、救出したいデータはありません。マウントすべきは/dev/sdb2です。
#mount /dev/sdb2 /mnt
としてみると、
mount: unknown filesystem type 'LVM2_member'
と表示され、マウントに失敗します。
5. 困った!
マウントできない。LVM2_memberって何だろう。ファイルを救出したい!
解決編となる後編は次の記事です。