ファイルシステムのマウント


Last Update: 2005/01/04
36303 th Visitor

ファイルシステムのマウント

FreeBSDをインストールした時に、/とか/usrとか/varなどに分けたと思います。
これはスライスをパーティションに区切り、それを/などにマウントして使えるようにしているわけですが、これはFreeBSDのファイルシステムだけではなく、他のファイルシステムでフォーマットされている領域でも自由マウント可能です。
例えばFAT32やNTFSでフォーマットされた領域をFreeBSD上から使う場合も、やはりマウントして使用します。

> df

としてやると、現在FreeBSDで使用できる状態にある領域の一覧と、その使用容量、残り容量、マウントされている場所が表示されます。
これらはOSの起動時に自動的にマウントされていますが、起動中に随時追加(マウント)、削除(アンマウント)することができます。
なお、マウントはmountコマンド、アンマウントはumountコマンドで可能です。

CD-ROMのマウント

まずCD-ROMをマウントしましょう。

> su
# mount /cdrom

としてやると、/dev/acd0c(1番目のCD-ROMドライブ)に入っているCDが/cdromにマウントされ、使用できる状態になります。

# cd /cdrom
# ls

としてやれば、CDの中身が見れるようになっていることが確認できるはずです。

CDを取り出す時はアンマウントします。

# umount /cdrom

これでアンマウントできました。

Windows領域(FAT16、FAT32、NTFS)のマウント

FreeBSDがインストールされているPCに、Windowsも入っていてWindowsとデータをやりとりしたい場合は、Windowsの入っているFAT16 / FAT32 / NTFS領域をマウントします。
このとき、あらかじめWindows領域をマウントするディレクトリを作成して、そこにmountコマンドでマウントする必要があります。

まず、マウントするディレクトリを作成します。
ここでは例として、/mnt/dosというディレクトリを作成して話を進めます。

# mkdir mnt/dos

これで準備はできました。
次にmountコマンドで領域をマウントすれば良いわけなんですが、Windowsの入ってる領域のデバイス名(/dev/ad0s1など)がわからないと目的の領域をマウントできません。
ので、表を使ってちょっと説明したいと思います。

例では、基本MS-DOS領域と拡張MS-DOS領域、拡張領域内の論理ドライブ、そしてFreeBSDの各スライスが存在してる状態です。

基本MS-DOS領域
Cドライブ(FAT16)
/dev/ad0s1
拡張MS-DOS領域
/dev/ad0s2
FreeBSD領域
/dev/ad0s3
論理ドライブ
Dドライブ(FAT32)
/dev/ad0s4
論理ドライブ
Eドライブ(NTFS)
/dev/ad0s5

dfを見ればFreeBSD内のパーティションの事は解ると思いますので、ここでの説明は省きます。
まず、CドライブとかDドライブ等はWindows上から見たドライブ名の事です。
あと、IDEの1番目のディスク(ad0)であることを前提にして話を進めていますので、自分の環境に合わせて解釈してください。

まず、HDDの基本領域を区切ってある順に番号が振られます。
最初の基本領域である、基本MS-DOS領域が1番目のスライスとなるため「ad0s1」という名前が付きます。
同様に2番目の基本領域である拡張MS-DOS領域に「ad0s2」、3番目のFreeBSD領域に「ad0s3」という名前が付きます。
FreeBSD領域は「ad0s3」なので、この場合「/」は/dev/ad0s3aになっていれば考え方としては正解です。

基本領域が終わった後は、拡張領域の中の論理ドライブに番号が振られます。
1番目の論理ドライブ(Dドライブ)が「ad0s4」、2番目(Eドライブ)が「ad0s5」といった感じです。
拡張領域は論理ドライブを入れるための器だがスライス番号を取ることに注意すれば、各領域のデバイス名は容易にわかるかと思います。

それでは、ファイルシステムがFAT16であるCドライブを/mnt/dosにマウントしてみましょう。
Cドライブは/dev/ad0s1なので、

# mount -t msdos /dev/ad0s1 /mnt/dos

といった感じで、-tでファイルシステムを指定し、その後はマウントするデバイス名、マウント先を指定します。
-tの後に続くmsdosというファイルシステムは、FAT16、FAT32をサポートする名前です。

エラーメッセージが出なければマウント成功です。
ちゃんとマウントされているか確認するにはdfコマンドを使います。
ちゃんと/dev/ad0s1の行があれば成功です。

アンマウントする時は、

# umount /mnt/dos

の様に、マウントした場所をumountコマンドで指定することによってアンマウントできます。

同様にFAT32のDドライブ(ad0s4)をマウントするには、

# mount -t msdos /dev/ad0s4 /mnt/dos

で、NTFSのEドライブ(ad0s5)をマウントするには、-tオプションのファイルシステムをNTFSに変えて

# mount -t ntfs /dev/ad0s5 /mnt/dos

のようにマウントします。
ただ、同じディレクトリに2つ以上の領域をマウントすることは不可能なので、マウントする領域を変えるにはumountするか、マウントするディレクトリを別に作り、そこにマウントする必要があります。

他のファイルシステムをマウントする方法については、mountのマニュアルを参照してください。

起動時に自動的にマウントするように設定する

上の方法ですと、使用したい時に随時マウントする形式なのでFreeBSDを終了させてしまうとマウントが解除されてしまいます。
毎回起動時にマウントするように設定するには、/etc/fstabというファイルを編集します。

# vi /etc/fstab

/dev/ad0s3b   none   swap    sw   0   0
/dev/ad0s3a   /        ufs      rw    1   1
/dev/ad0s3f   /usr    ufs      rw    2   2

のように書かれているので、これに追加します。
msdosなファイルシステムの/dev/ad0s1を/mnt/dosに起動時にマウントする時は、Deviceを/dev/ad0s1に、MountPointを/mnt/dosに、FStypeをmsdosに、Optionを読み書きできるrwに、Dumpを2に、Passをファイルシステムのチェックをする2に指定します。
これを一番下の行に追加します。

/dev/ad0s1   /mnt/dos   msdos    rw   2   2

設定を有効にするには、再起動しても良いですが

# mount -a

を行うとfstabに記述されている領域を全てマウントしますので、この方法で使用可能に出来ます。。
ちゃんとマウントできているかはdfを使って確認してください。

なお、FreeBSDはNTFSの読み込みはサポートしてますが、書き込みはサポートしてないので、rwと指定しても結果的にroとなりますので、注意してください。


設定


もどるにゅ

トップにもどるにゅ