LPICレベル2の取得を目指して学習中のものです。Linuxの知識はほぼテキストベースの初心者ですので、質問のための情報に過不足があるかもしれませんが、ご指摘願えれば幸いです。よろしくお願いいたします。

<やりたいこと>
一つのパソコンにCentOS3.6を2つインストールし、1つめのCentOS3.6のLILOからそれぞれの/をルートパーティションとし、それぞれのカーネルを読み出せるようにしたいです。

<困っていること>
一つ目のCentOS3.6(以下便宜上CentOS1とします)に二つ目(CentOS2とします)の/をマウントし、CentOS1からCentOS2を認識できる状態にした上で、CentOS1の/etc/lilo.confを書き換え、「それぞれの/をルートパーティションとし、それぞれのカーネルを読み出せるように」しました。(つもり)
しかし、CentOS1からはCentOS2の/boot配下に何もないように見えてしまいます。(よって、CentOS1の/etc/lilo.confにCentOS2のカーネルイメージを記述しても無効になってしまいます)
詳細は下の<やったこと>にて。

<やったこと>
80GBのSATAハードディスクが1つ搭載されているパソコン(真っ白)にCentOS1をインストールしました。
パーティション構成は以下のとおりです。
/dev/sda1 /boot 100M
/dev/sda2 /   残り全部
このドライブ(ドライブA)のMBRにはLILOをインストールしました。

…長くてすいません。続きます。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

mountという処理の概念を理解できていないようですね。



原因は、
/dev/sdb2 はmount済み
/dev/sdb1 はmountしていない
ためです。

JF(Linux Howto Documents)は参照したことがありますか?

参考URL:http://www.linux.or.jp/JF/JFdocs/Multi-Disk-HOWT …

この回答への補足

CentOS1として立ち上げれば、CentOS2の/etc/fstab(つまり、CentOS1から見れば/mnt/lpic2/etc/fstab)は機能しないから、CentOS2の/にCentOS2の/bootがマウントされていないのは当たり前ですね。
mountの概念の前にこの当たり前のことに気付いていませんでした。お騒がせしました。

補足日時:2006/10/10 19:40
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
おっしゃるとおり、/dev/sdb1をマウントしたら、CentOS1からでもCentOS2の/boot以下が見えるようになりました!

(質問内容に書いてないのですが、)CentOS2の/bootパーティションはCentOS2のルートファイルシステムから(/etc/fstabの設定で)マウントされているので、CentOS1(の/mnt/lpic2)にCentOS2の/をマウントすれば、/配下としてCentOS2の/boot以下も見えるものと考えておりました。

参考URLにあげてくださったページをざっと見てみたのですが、まだ本当の意味で理論的な理解はできていません。時間をかけてじっくり見てみたいと思います。
(よろしければ、教えてくださった参考URL以下のどのページが特に理解の助けになるか…をご教示いただけると嬉しいです)

ともかく、操作的には全く望みどおりの状態にすることができました。ありがとうございます。

また、真に理解していないので何とも言えないのですが、ひょっとしたら、とてつもなく意味のない(初歩的な)質問をしてしまったのかもしれませんね。
…だとしたら、大変申し訳ありませんでした。

お礼日時:2006/10/10 00:11

質問者です。

続きを書かせていただきます。

82GBのSATAハードディスクを増設し(ドライブB)、CentOS2をインストールしました。
パーティション構成は以下のとおりです。
/dev/sdb1 /boot 100M
/dev/sdb2 /   1G 
/dev/sdb3 /var  4G
/dev/sdb5 /usr  4G
/dev/sdb6 /home 1G
ブートローダとしては、/dev/sdb1の先頭セクタにLILOをインストールしました。

CentOS1の/etc/fstabの最下行に以下のとおり追記し、CentOS2の/をCentOS1の/mnt/lpic2にマウントしました。
/dev/sda2 / ext3 defaults 1 1
/dev/sda1 /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/sda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/sdb2 /mnt/lpic2       ext3  defaults    1 1

CentOS1の/etc/lilo.confの記述を以下のようにしました。
prompt
timeout=500
default=linux
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear

image=/boot/vmlinuz-2.4.21-47.EL
label=linux
read-only
initrd=/boot/initrd-2.4.21-47.EL.img
root=/dev/sda2

image=/mnt/lpic/boot/vmlinuz-2.4.21-37.EL
label=lpic2
read-only
initrd=/boot/initrd-2.4.21-37.EL.img
    root=/dev/sdb2

liloコマンドを実行したところ、「/mnt/lpic/boot/vmlinuz-2.4.21-37.EL」なんてファイルはない…と言われてしまいました。
実際に「cd /mnt/lpic2/boot」後「ls」を実行してみたら、/mnt/lpic2/boot以下には一つもファイルが見当たりませんでした。
ちなみに/mnt/lpic2/etc以下などのファイルは普通にCentOS1からも確認できます。


(以下、確認のための操作)
CentOS1の/etc/lilo.confの記述を下のように変えました。
prompt
timeout=500
default=linux
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear

image=/boot/vmlinuz-2.4.21-47.EL
label=linux
read-only
initrd=/boot/initrd-2.4.21-47.EL.img
root=/dev/sda2

image=/boot/vmlinuz-2.4.21-47.EL
label=lpic2
read-only
initrd=/boot/initrd-2.4.21-47.EL.img
root=/dev/sdb2

これで、CentOS1のカーネルでCentOS1の/をルートパーティションとした立ち上げとCentOS2の/をルートパーティションとした立ち上げができるようになりました。
その上で、CentOS2の/をルートパーティションとして立ち上げ、/boot以下を確認したところ、ちゃんとカーネルイメージファイルがありました。

なぜ、CentOS1からはCentOS2の/boot(CentOS1から見ると/mnt/lpic2/boot)以下に何もないように見えてしまうのでしょうか。
ネットで調べながらやったので、手順としては大きく間違っていないと思っています。何か根本的な設定を見落としているのか…ご教示願います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング