• ベストアンサー

パーティションとディレクトリの違いについて

mitonekoの回答

  • ベストアンサー
  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.4

 物理的なハードディスクが一つある時に、その中をいくつかに分けて、あたかも複数のハードディスクがあるように「見せかける」のがパーティーションです。  ディレクトリは、ファイルを区分して分けるための「特別なファイルの一種」です。  ファイルを整理するためだけなら、ディレクトリで充分です。  いくつかの目的で、パーティーションを区切りますが、その根底にあるのは、別のハードディスクに見せかけているという点です。別のハードディスクですから、当然、個々のパーティーションごとにフォーマットを行うことになります。ディレクトリとパーティーションの最大の差がここにあります。もう一つは、別のハードディスクなので、容量は個々のパーティーションごとに管理されるということです。  事例としてよく上がるのは、swap領域。常にHDD上の連続した領域を確保する目的で、この領域は専用のパーティーションとすることがよくあります。(swapファイルというファイルにすることもできますが、こうすると、領域が分断され効率が落ちることがあります。)  後、システムアーキテクチャの関係で、/bootに関しては、bootパーティーションとして分けることが要求されることがあります。ブートプロセスの関係で、この領域に関しては、FAT形式でフォーマットしなければならないという制約があるものがあるためです。パーティーションは単独でフォーマットできるので、boot領域以外は、他の好きなフォーマット形式でフォーマットできるということになります。  後は、システムとユーザーのデータ領域を分けるためにパーティーションで区切り、例えば、/homeの下を別のパーティーションにすることもよく行われます。この動機は、システムをフォーマットして再構築するという事態に追い込まれた時に、ユーザーのデータを気にせずにシステム領域「だけ」フォーマットすることができるようにするためです。  同じような動機で、データバックアップ用の領域をパーティーションで分けることも往々にして行われます。システム領域のフォーマットに踏み切っても、パーティーションを分けておけば、バックアップデータは守れるという発想です。(理想的には、本当に物理的に別のHDDにすべきです。唯一の物理HDDが物理的に壊れたら、バックアップはシステムと一緒にあの世行きになりますから。)    HDDのパーティーションは、linuxでは、任意の場所にマウントできます。マウントした後のパーティーションは、事実上、ディレクトリと同じように見えます。ですから、使う上では、ディレクトリと大差ありません。ただ、唯一気にすべきは、ディスクの容量は、パーティーションごとに管理されるということです。例えば、/homeの下を単独のパーティーションでつないだ場合、ユーザーファイルは、このパーティーションの容量内でしか使うことができません。これを利用して、ディスク使用量の制限のために、このような運用をする事例も多いです。  これを利用して、/varの下を別のパーティーションにする事例もあります。その動機は、ログファイルでHDDが溢れかえり、システムすら動かなくなり・・・というのを防止しようという発想です。/varパーティーションがいっぱいになったら、ログが取れなくなるだけです。(まぁ、その前に、管理すべきなのですが・・・)  パーティーションと言うのは、こういうものです。  一覧は、言われているdfやfdiskで見られます。fdiskはルート権限が必要な点に注意してください。他に、lsblkというコマンドもあります。dfより、若干整理されて見やすいかもしれません。

AXEL1987
質問者

お礼

詳細にご回答頂き、ありがとうございました。 大変参考になりました。 また、コマンドも教えて頂きありがとうございました。lsblkというコマンドは初めて聞きました。

関連するQ&A

  • Linuxに新規のパーティションを作りたい。

    LinuxにOracleを入れたいと思っています。 Linuxをインストールしたときに / /usr /usr/local を作って、空領域がまだ3GB程あるので /oracle を新たに作りたいのです。 何のコマンドを使うのか分からなかったのですが、とりあえず cfdiskで新規作成してみました(/dev/hda8)。FSタイプを83にして書き込みをした のですが、「書き込みましたが、再読込みに失敗」となってしまいます。 再起動し、cfdiskとすると作成した/dev/hda8が表示されます。 fdiskで見てみると、やはり表示されてます。 質問としては、 これで作成されているのか? 作成したパーティションにいつ、/oracle という名前を付けるのか? です。 もしも、てんで見当違いなことをしているのなら 正しい方法を教えてください。よろしくお願いします。

  • CentOS 4でパーティションの切り直し

    ディスクが2本ささっており、それぞれにLinuxがインストールされていましたが (デュアルブート構成)、片方のLinux(/dev/sdbにインストール)が不要となったので、 2本とももう片方のLinux(/dev/sdaにインストール)で使えるようにしようとしています。 /dev/sdbはLVMが構成されていましたが、/dev/sdaにインストールを起動して、 fdiskでバッサリ削除して、1パーティションを作成しました。 # fdisk /dev/sdb このディスクのシリンダ数は 8924 に設定されています。 間違いではないのですが、1024 を超えているため、以下の場合 に問題を生じうる事を確認しましょう: 1) ブート時に実行するソフトウェア (例. バージョンが古い LILO) 2) 別の OS のブートやパーティション作成ソフト (例. DOS FDISK, OS/2 FDISK) コマンド (m でヘルプ): p Disk /dev/sdb: 73.4 GB, 73407820800 bytes 255 heads, 63 sectors/track, 8924 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sdb1 1 8924 71681998+ 83 Linux <<★全てのブロックを/dev/sdb1に。保存(w)もOK。 # mke2fs -i 4096 -j /dev/sdb1 # tune2fs -c0 -i0 -Odir_index -ouser_xattr,acl /dev/sdb1 # mount /dev/sdb1 # df -k Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 66410160 57557976 5478720 92% / /dev/sda1 101086 14863 81004 16% /boot none 1027152 257952 769200 26% /dev/shm /dev/sdb1 101086 5664 90203 6% /home1 <<★ なぜか、72GB全てを/dev/sdb1に割り当てたのに、100MB程度しか使えないことになっています。 これは、fdisk前に、/bootに割り当てられていた容量と同じです。 なぜでしょうか? どのようにしたら72GB全て認識するようになるでしょうか? よろしくお願いいたします。

  • fdiskとdfのパーティションサイズの差の理由

    CentOS5.5を使用中です。 /dev/sda1のパーティションサイズですが、 fdiskでは、40957686 blocks dfでは、39674192 blocks となっています。 この差は、何処から来ているのでしょうか。 [root]# fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sda1 * 1 5099 40957686 83 Linux /dev/sda2 5100 17847 102398310 83 Linux /dev/sda3 17848 18867 8193150 82 Linux swap / Solaris /dev/sda4 18868 60801 336834855 5 拡張領域 /dev/sda5 18868 31615 102398278+ 83 Linux /dev/sda6 31616 60801 234436513+ 83 Linux [root]# df Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda1 39674192 3850444 33775864 11% / /dev/sda5 99188468 641536 93427020 1% /home /dev/sda6 227093556 851940 214519792 1% /home2 /dev/sda2 99188500 1122216 92946372 2% /var tmpfs 4155208 8 4155200 1% /dev/shm

  • fdisk -l

    # fdisk -l Device Boot Start End Blocks Id System /dev/hdb1 * 1 13 104391 83 Linux ↑● ●の部分の意味がよくわからないのですが、ブートのときになにか使われるパーティションという意味なのでしょうか? しかし、dfをとると/dev/hdb2というパーティションが「/」でマウントされており、その配下に/boot/があるのでそちらがLinuxのブートのときに使用されると思います。とするとこの/dev/hdb1はなんのために 使用されるのでしょうか? ご存知の方、宜しくお願いします。

  • Linux上からWindowsのパーティションを参照する方法

    Linux上からWindowsのパーティションを参照する方法 Linuxを勉強中です。LinuxとWindowsをデュアルブート環境で使おうと思っています。 160GのハードディスクをパーティショニングしてLinuxからWindowsのHDを参照したいのですが、 マウントされているディレクトリ(/dev/hda2)にファイルもフォルダも表示されません。 マウントはLinux起動時に一応されているようで、fdiskコマンドでは表示されています。 WindowsのファイルシステムはNTFSです。LinuxはUbuntuです。 NTFSファイルシステムを参照できるように何か入れないといけないでしょうか? そもそもマウントがちゃんとされていないのでしょうか? 教えてください。どうぞよろしくおねがいします。 上記の情報だけだと分からない場合は補足も書きますのでご指摘頂ければと思います。

  • パーティションとファイルシステムの関係

    ■環境 ・OS:Linux(CentOS5.7) ・LVM使用なし ・ファイルシステムはext3 パーティションとファイルシステムの関係がいまいちよくわかっていないので教えてください。 パーティションを一旦削除し、再度作成すると(同一開始終了シリンダ)、パーティション削除前と同じようにマウントが可能でした。さらに削除前にパーティション内に存在したファイルまで何の問題もなく使えています。 私の想像ではパーティションを削除すると、そのパーティションに内包されたファイルシステムまで同時に削除されるのだと思っていたのですが、違うのでしょうか。 またパーティションとファイルシステムが独立した関係であるならば、以下のようなことが可能なのでしょうか。 (1)/dev/sdaの全領域を/dev/sda1,/dev/sda2の2つに分割してパーティションを作成(fdisk)、それぞれをext3としてフォーマット。 (3)/dev/sda1,/dev/sda2をマウントし、それぞれにファイル1.txt、2.txtを作成。 (3)/dev/sda1,/dev/sda2の2パーティションを削除(fdisk) (4)/dev/sdaの全領域を/dev/sda1,/dev/sda2,/dev/sda3の3つに分割してパーティションを作成しなおす。(fdisk) → もともと/dev/sdaの全領域にはext3のファイルシステムがあるので、mkfs等でファイルシステムを作成しなくてもOSから利用可能? → しかも1.txt、2.txtはそのまま存在するので、マウントすれば参照できる?(sda1~sda3のどこにあるのかはわからないが・・) 取り留めのない質問で申し訳ありませんが、パーティションとファイルシステムの関係について嚙み砕いて教えていただけると非常にありがたいです。

  • パーティション CentOS6

    教えてください。 CentOS6のインストール途中、パーティションを手動作成する為、"カスタムレイアウト"を選択しました。書籍などを参考に以下の内容で作成しようとしました。 (1)/boot 100M (2)swap メモリの2倍 (3)/ (残り)※ルートパーティション パーティションの確認コマンドで確認したところ 以下のように表示されたのですが、以下の3点質問があります。 教えていただけますでしょうか。 1.ルートパーティションが/dev/sda3で、bootパーティションが/dev/sda1 という場所を  示していますが問題ないでしょうか? 2.swapは物理メモリの2倍必要でしょうか? 因みに設定画面でswapを選択し、4096(M)で数値を入力したのですが、  何故か2GBと表示されています。  理由が分かりません。 3.bootパーティションは100MBとなっていますが、Webサーバとして複数のサイトを運用しますが   一般的に100MBでは少ないでしょうか? #df -h /dev/sda3 (残り)G 3.2G 87G 4% / tmpfs 2.0G 88K 2.0G 1% /dev/shm /dev/sda1 97M 44M 49M 48% /boot 以上です。

  • パーティション分割

    基本的な話だと思うのですが (Linuxあまり詳しくありません) HDD全体にUbuntuインストール済み環境にWindowsOSをインストール(デュアルブート環境構築) しようとしているのですがHDDのパーティション分割方法がよく分からずに悩んでいます LiveCDでUbuntuの再インストール処理を行いそこでHDD分割できることは確認したのですが もっと簡単にできないのでしょうか? パーティション管理ソフト(GParted)での操作も変更行えません    Linuxインストールしてあるパーティションに対しての操作不可?のように感じられます    添付画像の /dev/sda1 の領域を変更したいのですができません    未割当の部分に対しての変更操作はできます fdisk でできるのかなと思ったのですが コマンドがよくわかりませんでした

  • このパーティションの切り方は適切ですか?

    Vine Linux で1台のマシンに Web&メールサーバーを組もうと思います。 これから新しいハードディスクにOSをインストールするのですが、 ・読み書きの多いディレクトリは専用のパーティションに置く ・読み書きの多いパーティションはハードディスクの先頭に近いほうがパフォーマンス的に良い という情報をどっかのサイトで見たので、 それにしたがってパーティションを切ろうと思っているのですが、 /dev/hda (合計80GB)   /dev/hda1   /boot  100MB   /dev/hda2   /var    4GB   /dev/hda3   swap    2GB   /dev/hda4   拡張領域     /dev/hda5 /usr    4GB     /dev/hda6 /     2GB     /dev/hda7 /home   68GB のような構成って適切でしょうか?

  • sda1下にディレクトリを作るやりがわかりません

    外付けUSB ドライブを接続しました。 サーバーの状態はdfコマンドで以下のとおりです。 Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/hda1 74342940 3729568 66836896 6% / tmpfs 514252 0 514252 0% /lib/init/rw udev 10240 60 10180 1% /dev tmpfs 514252 0 514252 0% /dev/shm /dev/sda1 153834852 192072 145828364 1% /media/usbdisk hda1をそっくりsda1にバックアップしておいて、後は更新ファイルだけを日々更新したいので、rsyncコマンドを使おうと思います。 その書式は rsync -a [バックアップ元][バックアップ先] なのですが [バックアップ先]に dev/sda1/backup を指定したいのに、 sda1下にbuckupというディレクトリを作るやりがわかりません。 教えてください。 また、ディレクトリが出来たとして具体的に rsync -a [dev/hda] [dev/sda1/backup] と書けば良いのでしょうか?  初歩的疑問なのは承知しているのですが、本当に困っていますので 回答よろしくお願いします。