• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:linux2つのデュアルブート環境を構築したいが、1つめのlinuxから2つめのlinuxの/boot以下が見えない)

Linuxデュアルブート環境構築で/boot以下が見えない

このQ&Aのポイント
  • Linuxをデュアルブート環境で構築したいが、1つ目のLinuxから2つ目のLinuxの/boot以下が見えないという問題が発生しています。
  • 具体的には、1つ目のLinuxに2つ目のLinuxの/をマウントし、1つ目のLinuxから2つ目のLinuxを認識できるようにした上で、lilo.confを書き換えましたが、2つ目のLinuxの/boot配下に何もないように見えてしまいます。
  • 詳細は以下の手順で説明します。まず、80GBのSATAハードディスクに1つ目のLinuxをインストールし、パーティション構成は/bootと/に設定しました。その後、1つ目のLinuxから2つ目のLinuxをマウントし、lilo.confを書き換えましたが、問題が発生しました。

質問者が選んだベストアンサー

  • ベストアンサー
  • onosuke
  • ベストアンサー率67% (310/456)
回答No.2

mountという処理の概念を理解できていないようですね。 原因は、 /dev/sdb2 はmount済み /dev/sdb1 はmountしていない ためです。 JF(Linux Howto Documents)は参照したことがありますか?

参考URL:
http://www.linux.or.jp/JF/JFdocs/Multi-Disk-HOWTO.html
hiroshi_dog
質問者

お礼

ご回答ありがとうございます。 おっしゃるとおり、/dev/sdb1をマウントしたら、CentOS1からでもCentOS2の/boot以下が見えるようになりました! (質問内容に書いてないのですが、)CentOS2の/bootパーティションはCentOS2のルートファイルシステムから(/etc/fstabの設定で)マウントされているので、CentOS1(の/mnt/lpic2)にCentOS2の/をマウントすれば、/配下としてCentOS2の/boot以下も見えるものと考えておりました。 参考URLにあげてくださったページをざっと見てみたのですが、まだ本当の意味で理論的な理解はできていません。時間をかけてじっくり見てみたいと思います。 (よろしければ、教えてくださった参考URL以下のどのページが特に理解の助けになるか…をご教示いただけると嬉しいです) ともかく、操作的には全く望みどおりの状態にすることができました。ありがとうございます。 また、真に理解していないので何とも言えないのですが、ひょっとしたら、とてつもなく意味のない(初歩的な)質問をしてしまったのかもしれませんね。 …だとしたら、大変申し訳ありませんでした。

hiroshi_dog
質問者

補足

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

その他の回答 (1)

noname#24999
noname#24999
回答No.1

質問者です。続きを書かせていただきます。 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)以下に何もないように見えてしまうのでしょうか。 ネットで調べながらやったので、手順としては大きく間違っていないと思っています。何か根本的な設定を見落としているのか…ご教示願います。

関連するQ&A