HDDマウントとgrub resucue

とある事情でFedora OSの入ったHDDをUbuntu OSの入ったHDDにマウントしようとした。
もう少し詳しく言うと、Ubuntu HDDの/homeにFedora HDDをマウントしてデータ置き場にしようとした。
Ubuntu HDDを起動し、Fedora HDDの/dev/sdbをマウントする(自分のUbuntu HDDは/dev/sdaだった)
$sudo mkdir /home/fedorahdd
$sudo mount /dev/sdb1 /home/fedorahdd

しかし/home/fedorahddの中身を見ても何も入っていなかった。
実はここからあと一歩進めばやりたいことができていたのだが、遠回りしてしまった。
紆余曲折を見ずに答えを見たいのであれば下記の以降を見てください。

直接Fedora HDDを見ようとBIOS setupでFedora HDDから起動するようにし、
(PC起動直後にファンクションキーを押してBIOS画面に入ります。ファンクションキーはメーカー等によって変わります。 ブートタブに入って起動の順番を切り替えました)
Fedora HDDを起動させると
error: file '/boot/grub/i386-pc/normal.mod' not found
grub resucue >

が表示された。普段使うコマンドだとlsくらいしか反応がない。
lsをしてみると
grub rescue > ls
(hd0), (hd0,msdos2), (hd0,msdos1), (hd1), (hd1,msdos5), (hd1,msdos1)

の表示。調べてみると
--デュアルブートでのGrub2の復旧と再インストール--
--grub rescue が表示されても慌てずに.--
--再起動したらgrubメニューが表示されずgrub rescueが登場したときの話--
など多くで解説されていた。
setで確認すると
grub rescue > set
prefix=(hd0,msdos1)/grub2
root=hd0,msdos1

と出た。参照ページによるとこれが間違っている可能性があるらしい。…しかし
grub rescue > ls (hd0,msdos1)/

で見てみると中身が何もない。
(キーボードが英語配列なので打ち間違いが多かった)
grub rescue > ls (hd1,msdos1)/

で見るとこちらはUbuntu HDDのようだ。
ちなみに
grub rescue > ls (hd0,msdos2)/
をすると
error: unknown filesystem.

の表示だった。
なので普通はここからgrubを
grub rescue > set prefix=(hd0,msdos1)/grub2
grub rescue > set root=hd0,msdos1

のように設定するらしい(grub2ではなくgrubの場合もある)。
つまり元の設定であっているはずだった。
しかし中身が何もないのでどうしようもない。
当然これではgrub rescueなどできない。
諦めて再度Ubuntu HDDを起動させた。


BIOSを再度切り替えUbuntu HDDを起動。
やはりFedora HDDの中身は見えないので、ここのページ --自宅ubuntuサーバーが起動しなくなった-- を参考に
$ sudo parted -l

をしてみると(数値はざっくりとしか覚えていないが…)
番号  開始      終了       サイズ    タイプ        ファイルシステム      フラグ
 1    1000kB    1GB        1GB       primary     ext 4                   boot
 2    1GB         1999GB  1999GB  primary                               lvm

となっていた(Fedora HDD情報だけ載せています)。
/dev/sdb2は2TBほどの容量があるはずなのにファイルシステムが何もない…。
参考サイトでは壊れたHDDに対しfsckコマンドで修復を試みていたが、いきなりは使いたくない…。
試しに/dev/sdb2をmountしてみる。
mount: unknown filesystem type 'LVM2_member'

lvm2とか知らないし、と返される。僕も知りませんでした。
このエラーで調べると
--FedoraのLVM2管理されたHDDを、ubuntuでマウント--
--— ubuntuでLVM2をmountする--
などで対処法が紹介されていた。
どうやらフラグにもついていたLVM2関連をinstallすればいけるらしい。
一縷の望みにかけ、参考サイトを真似て
$ apt-get install lvm2
$ modprobe dm-mod
$ sudo vgscan

とすると、〜〜〜"fedora"〜〜〜とか言われる。
次には参考サイトでは
$ (sudo) vgchange -ay VolGroup00

としていたが今回は
$ sudo vgchange -ay fedora

とした。
$ sudo parted -l

をしてみると一気にパーティションが増えた!
そして/devにfedora/なるものが増えた。
そいつを/home/fedorahddにマウントしてみる
$ mount /dev/fedora/home /home/fedorahdd

見事中身が見れるようになった。
あとは一度アンマウントして再度ほしいディレクトリだけ再度マウント、 lnコマンドで自分の$HOMEにリンクを貼って終了。
見事解決しました。

初めからpertedで確認してlvm2について深追いしておけばすぐ解決できたのだと思うが、まぁ解決したのでいいでしょう。 勉強になりましたし。

ちなみに、この問題と合わせて こんな問題 も起きていました。
一気に問題が起きて一気に解決した。
問題の分離をする練習になったかな。

追記
久しぶりにこの問題が出た。
今度は元SLCのHDDと元FedoraのHDDを現Fedoraにマウントする話。
今回はparted -lをしてもext4が見えないのは同じ。
ただ、今回はlvscanをしてみたら/dev/の下にACTIVEになったものが既に見えてました。
なのでparted -lでext4がないとか不安がらなくても、 そのまま/dev/~~~をmountすれば普通に使えるようになります。
楽ですね。
ただし!
同じOSのHDDをマウントすると面倒なことになるので
lvscan実行時にFound volume group "~~~"と出てくる名前の内、マウントするHDDの名前をvgrenameというコマンドを使って
vgrename 元の名前 新しい名前
として別名に変えておく必要があります。
(マスターになってるHDDの名前は変えてはいけません。)