このエントリーを含むはてなブックマークはてなブックマーク - ファイルシステムのマウントとアンマウント、「/etc/fstab」がキモ このエントリをつぶやくこのWebページのtweets Googleブックマークに追加 Bookmark this on Delicious


最近は驚くほどハードディスクが低価格化しています。
主要記憶装置として君臨してきたハードディスクも、そろそろ役割を終え、主役を新世代のメディアにここ数年でバトンタッチしていくのでしょうか?
・・・とはいえ、今日では最もコストパフォーマンスが高いメディアであることは間違いありません。
右側のディスクは、「IDE形式」、左側が比較的新しい規格である「SATA形式」のドライブ。
コネクターのインタフェース、形状が違い、本体との接続の方法もそれぞれ異なっています。

IDEの場合には、ハードディスク側では、ジャンパピンを用いて、「マスター」か「スレーブ」のモードを切り替えます。
本体のマザーボード基板上には、IDEの「プライマリ」スロットと「セカンダリ」スロットがあり、ケーブルで接続します。
以下の組み合わせで、1枚のマザーボードには、IDE機器を4台接続できます。
Linuxでは、以下のように、/dev/hdaから /dev/hddという「デバイスファイル」がそれぞれ割り当てられます。
この「デバイスファイル」とは、HD,光学ドライブなどのデバイスの入出力を扱うための特別なファイルで、IDEドライブの場合には、頭が「h」となっています。

基板上のスロット   ハードディスク側のモード
プライマリ   ←→   マスター  /dev/hda
プライマリ   ←→   スレーブ /dev/hdb
セカンダリ   ←→   マスター /dev/hdc
セカンダリ   ←→   スレーブ /dev/hdd

一方、USB接続のディスクやSATAのドライブは、旧来の規格であるSCSI(スカジー)と同等に扱われます。
この場合の「デバイスファイル」は、/deb/sdaからsdb, sdc, sdd, sde, sdfという形式で、頭が「s」となります。
ちなみに、USBで接続されるスティック型メモリーやSDカードなども、同様にこの中に混在して取り扱われます。

さて、端末で次のようにコマンドを。

df -h


dfは、マウントしているディスクの使用状況を表示するコマンドです。
-hというオプションにより、MB、GBなどの、わかりやすい単位を付けて表示してくれます。
リストには、「/dev/sda1」と表示されており、907GBのディスクがマウントされていることがわかります。

続いて、「sudo fdisk -l」としてみましょう。


このコマンドは、管理者権限で、接続されているデバイスを調べるものです。
そうすると、先ほどの「/dev/sda1」だけではなく、sda2, sda5, 「/dev/sdb1」、「/deb/sdc1」とsdc2, sdc5が存在する事がわかります。

以上により、「/dev/sda1」が「マウント」され、使用可能な状態になっている。それ以外にもドライブが接続されている・・・事を表しています。

「マウント」とは、”乗っける”というのが本来の意味。この場合には、「ディスクなどの周辺機器をコンピュータに認識させ、操作可能にすること」をさしています。

その名もズバリ「mount」としてみましょう。

このコマンドは単独でもちいれば、ファイルシステムのマウント状態を表示してくれます。

以上、端末の文字では分かりにくいかもしれません。その場合、パーティション・エディタ「gparted」を用いればビジュアルで確認できます。

標準では入っていませんので、次のコマンドで導入できます。
sudo apt-get install gparted

次に、まだ「マウント」されていないディスクを使用できるようにしてみます。
コマンドは、管理者権限で、「sudo ドライブ ディレクトリ」。
ドライブは、「/deb/sdb1」という「デバイスファイル」形式で指定します。
例として、「/home/u-bon」にマウントさせてみます。

sudo mount /deb/sdb1 /home/u-bon というコマンドになります。


コマンド実行後、ファイルブラウザで、「再読み込み」すると、ディスクの中味が表示されました。

実は、このディスク、中味は見れても、管理者権限がない限り書き込みができません。
理由は、私のログインアカウントは、「aiko」。デフォルトでは「/home/aiko」の配下しか自由に使えないからです。
また、この例では一時的にマウントさせているのですが、「/home」の直下にマウントするのは止めておいた方がいいでしょう。
もしも、「u-bon」というアカウントを作成した場合に、「/home/u-bon」とうホームディレクトリを使う際に面倒なことになります。
詳細は、次回以降の「パーミッション管理」で扱います。

さて、マウントを解除するには、アンマウントを意味する「umount」コマンドを。
管理者権限で、ドライブをアンマウントするので、「sudo umount ドライブ」、

すなわち「sudo umount /dev/sdb1」などとします。


ちなみに、この場合には、umountしなくても、システムを終了させれば解除されてしまいます。
以上、外部記憶装置を、一時的に使用する場合の方法でした。

それでは、次に、ディスクを継続して使用できるようにする方法です。
Ubuntuでは、システムが自動的に、ディスクをマウントしてくれます。USBメモリ、SDカードなどはもちろん、USB接続の外付けハードディスクも接続すると自動的に認識してマウントまでしてくれます。
とても便利なのですが、場合によっては問題が。
例えば、外付けハードディスクに音楽データを溜め込む場合です。困ってしまうのが起動のたびに「デバイスファイル」名が変わってしまうこと。
USBデバイス、SATAディスクなどは、起動時に認識した順で、sda, sdb,sdc….と順番に割り振っていってしまいます。
これを常に固定してあげないと、songbirdやrythmbox、amarokなどで音楽データの置き場所を起動のたびに毎回指定しなければならなくなってしまいます。

そこで、例として、自分のホームディレクトリ内に、「disk_sdb」というフォルダを作り、そこに常にマウントするようにしてみます。

sudo gedit /etc/fstab

・・・として設定ファイルをひらきます。ここは”静的ファイルシステム情報”を記述しておく場所です。
ここで所定の書式に従って記入をしておけば、自”動的”ではなく、指示どおりにマウントしてくれるようになります。

その最下行に、下記の要領で、記述をします。

/dev/sdb1 /home/aiko/disk_sdb ext3 defaults 0 0

1、「/dev/sdb1」のディスクを 2、ubuntuのファイルシステムの「/media/sda_disk」にマウントし、3、そのファイルシステムは ext3で、4、特にオプションは必要なく、5、dump不要のファイルシステムであり、6、システム起動時にはfsckチェックは行わない・・・という意味になります。

まとめると、書式の意味をまとめると次のとおりになります。

1番目はマウントするブロックデバイスやラベルなど
2番目にはマウントポイントを記述
3番目にファイルシステムの種類
4番目にはマウント時のオプションを記述
5番目の数字は、ファイルシステムをdumpする必要があるかどうかを指定。「0」の場合はdump不要
6番目の数字は、システム起動時にfsckチェックを行うかどうかの指定。「0」の場合はチェックを行わない。ルートファイルシステムでチェックを行う場合は「1」を指定する。また、ルートファイルシステム以外でチェックを行う場合は「2」を指定

ちゃんとマウントされるかをテストしましょう。mountに「-a」オプションを付けると「/etc/fstab」の記述どおりにマウントを試みます。

sudo mount -a


テストはOK!
/home/aiko/disk_sdbに、/dev/sdb1のディスクの中味がズラズラと現れて、読み書きもできるようになりました。

フフフ、だんだんUbuntuを自分好みに調教していく悦びがジワジワと・・・

いかがでしょ?

Related posts:

  1. ubuntuでHD(ハードディスク)の増設(改訂)
  2. パーティションの割り振りは、システム設計の重要なステップ
  3. Ubuntuを音楽サーバに: Firefly
  4. Ubuntu7.04をUSBメモリにインストールしてみた
  5. 慣れると決して難しくない! かえって便利な「端末操作」