• ベストアンサー

既存のHDをマウントする方法

勉強のため家のパソコンにFreeBSDをインストールしてみました。 (ほとんど初心者です。) HD1->WindowsXP C: (普段使っているOSです。) HD2->WindowsXP D: (普段使っているOSです。) HD3->FreeBSD (今回入れてみたOSです。) という構成にしたのですが、デュアルブートにならず、試行錯誤しています。 で、MBR?変更のため、FreeBSDから、WindowsXPのドライブを操作したいのですが、どうすれば良いのでしょうか。 mount コマンドの使い方も良くわからず、デバイスとドライブを指定してもエラーが出るばかり。。 よろしくお願いします。

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

  • ベストアンサー
  • fmysh
  • ベストアンサー率79% (27/34)
回答No.1

MBR はファイルシステムの外に存在します。 ファイルの書き換えとは違い、MBR の書き換えは、ファイルシステムをマウントして行うものではないのです。 直接ディスクにアクセスするため、専用のコマンドを使います。 FreeBSD ハンドブック Chapter 12. FreeBSD の起動のプロセス http://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/boot.html 1~3節、特に3節でこの話題を取り扱っています。 ついでに「Windows のファイルシステムをマウントする方法」は、 FAT ならば mount_msdosfs、NTFS ならば mount_ntfs を使います。 http://www.jp.freebsd.org/cgi/mroff.cgi?sect=8&cmd=&lc=1&subdir=man&dir=jpman-5.4.0%2Fman&subdir=man&man=fdisk http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=mount_ntfs&dir=jpman-5.4.0%2Fman§=0

その他の回答 (2)

回答No.3

まずはmountコマンドについて。 FreeBSDではATAデバイスはadn(ad0, ad1, ad2, ad3, ...)となります。 ## mount コマンドの使い方も良くわからず、デバイスとドライブを ## 指定してもエラーが出るばかり。 ここで、1台目のディスクをHDD1という具合に書くことで説明します。 WindowsもFreeBSDも起動時動的にデバイス(ドライブ)割り当てを行い ます。BIOSの設定やHDDの設定で起動OSが変わればドライブ割り当ても 変わります。 質問でお書きになっている状態に接続していても、HDD2からWindowsを 起動すればHD2 がC:にHD1がD:になるという感じで。 (fdiskでHD1のアクティブ[起動可能]パーティションをなくすれば その接続でHD2から起動します。[BIOSの起動順設定も合わせて]) 同様に、FreeBSDでもad0, ad1, ad2 がどのHDDに割り当てられるかは 起動時に決まります。もし、1台のみ接続状態で一旦導入し、3台目の 接続に変えれば導入時と運用時のデバイス名が変わっている可能性も ありますので、その部分を設定変更してあげる必要があります。 /devの内容はFreeBSDのバージョンによって違うので、今回入れてみた OSだというFreeBSDのバージョンをお書きくださった方が具体的な 助言はされやすいと思いますよ。 mountコマンドはmountコマンドのみを実行すれば現在のマウント状況が 報告されます。 % mount /dev/ad0s2a on / (ufs, local) devfs on /dev (devfs, local) /dev/ad0s3d on /usr (ufs, local) この例では、ad0(つまり1台目のATAドライブ)のスライス2のa領域に rootファイルシステム、スライス3のd領域にusrファイルシステムが マウントされていると報告されてます。 /etc/fstabが適切に書かれていれば、 マウントされてない状態で mount / だとか mount /usr を実行すれば / や /usrがマウントされますが、そうでない場合には mount /dev/ad0s2a / mount /dev/ad0s3d /usr とデバイス名・マウント先を指定してやる必要があります。(標準 ファイルシステムの場合) mount -t ntfs /dev/ad0s1 /drv/ntfs1 などと行えばHDD1の最初のDOSパーティションがntfsとしてマウント されるはずです。 /etc/fstabに記述しておく事で起動時に自動マウントさせたり mount /drv/ntfs1 のみでマウント可能な状態になります。 /etc/fstab の内容 /dev/ad0s2a / ufs rw 1 1 /dev/ad0s2b none swap sw 0 0 /dev/ad0s3d /usr ufs rw 2 2 ntfsのパーティションを追加する場合 /dev/ad0s1 /drv/ntfs1 ntfs rw 0 0 接続変更などでデバイス(ドライブ)割当てが変わった場合には ad0をad1 やad2に変えると良いです。 また、mountコマンドによる直接指定の方が優先されますので ドライブ接続の変更などで変わってしまっても mount /dev/ad2s2a / コマンドなどを使ってマウントしてやり/etc/fstabを変更して 置けば次回からの自動起動で適切にマウントされるようになり ます。

  • ev8c
  • ベストアンサー率31% (9/29)
回答No.2

> デュアルブートにならず、試行錯誤しています。 ブートローダー(OSを選択するプログラム)は元々入っていた Windows の Ntldr を使っているのか、新たに入れた FreeBSD の boot0 を使っているのかによって設定方法が異なります。 boot0 を使っているのなら、fmysh さんの回答にあるページを参考にしてください。 Ntldr を使っているのなら、 http://docs.freebsd.org/doc/2.2.8-RELEASE/usr/share/doc/ja/FAQ/FAQ121.html を参照してください。(私はやったことがありません) boot.ini を編集するやり方は、 http://support.microsoft.com/kb/289022/ にあります。 ちなみに私は10年間参考URLにある、MBM を使っています。

参考URL:
http://elm-chan.org/fsw/mbm/mbm.html

関連するQ&A