linuxディスクパーティションの詳細

7134 ワード

参考資料
http://blog.csdn.net/freexploit/article/details/961330
http://soft.yesky.com/os/lin/74/2155574.shtml
 
 
linuxパーティション規定:
1設備管理
linuxでは、各ハードウェアデバイスがシステムのファイルにマッピングする.
 
linuxは各種ideデバイスにhd接頭辞からなるファイルを割り当てた.
各種scsi装置については.sd接頭辞からなるファイルが割り当てられる.
scsiハードディスクについては「sdx~」と表示する.scsiハードディスクは、パーティションが存在するデバイスをsdで表すタイプである.
「x」はディスク番号(aは基本ディスク、bは基本スレーブディスク、cは補助メインディスク、dは補助スレーブディスク)であり、
「~」はパーティションを表し、最初の4つのパーティションは数字1から4で表され、それらはメインパーティションまたは拡張パーティションであり、
5から論理パーティションです.

IDEデバイス:1台のPCに2つのideインタフェースがある.
これを第1 IDE第2 IDEと呼ぶ.各ideには2つのideデバイスがある.
ハードディスク(HDD)とオプティカル(光学式)ドライブはIDEデバイスです.
linux命名規則:
第1 IDEのメインディスク:/dev/hda
第2 IDEのメインディスク:/dev/hdb
第2 IDEのマスタディスク:/dev/hdc第2 IDEのスレーブディスク:/dev/hdd
これは、UNIX/LINEUXシステムにおいて、全ての機器を一つのファイルとして/devディレクトリの下に置くためである.
したがって、すべてのファイルは/devディレクトリの下に配置される.
2パーティション数
ハードディスクパーティションは、1つのハードディスクに対する操作である.
1つのディスクのパーティションについては、1つのディスクに4つのプライマリパーティションがある必要があります.拡張もプライマリパーティションです.
プライマリパーティション.1-3
拡張パーティション.0-1個
論理パーティション
拡張パーティション自体が格納数に使用できない.これを使用するには、複数の<1-n個>論理パーティションに分割する必要がある.
最も合理的なパーティション構造:
プライマリパーティションは前、拡張パーティションは後、拡張パーティションで論理パーティションを分割します.プライマリパーティションの個数+拡張パーティションの個数は4つ以内に制御します.例えば、次のパーティションがいいです.
 
[ |  1] [ |  2] [ |  3] [    ]
                                                            |
             [  |  5] [  |  6] [  |  7] [  |  8] ... ... 

 
[ |  1] [ |  2] [    ]
                                          |        
   [  |  5] [  |  6] [  |  7] [  |  8] ... ... 

      
[ |  1] [    ]
                        |        
[  |  5] [  |  6] [  |  7] [  |  8] ... ...

3各パーティションの役割
linuxで規定する.各ハードディスク装置は、最大4つのプライマリパーティション(拡張パーティションを含む)を有することができる.すなわち、1つのハードディスクにおいて、プライマリパーティションと拡張パーティションの合計は最大4つである.
メインパーティションの役割はコンピュータがオペレーティングシステムを起動するために使用するもので、
これにより、各オペレーティングシステムが起動する.あるいは、ブートプログラムと呼ばれるものは、メインパーティションに置くべきである.
<これは、プライマリパーティションと拡張パーティション、および論理パーティションの最大の違いです>
4その他の理解
プライマリパーティション、拡張パーティション、論理パーティションの特性を簡単に定義します.
 
  • プライマリパーティションおよび拡張パーティションは、最大4つの
  • 拡張パーティションは最大
  • しかありません.
  • 論理パーティションは、拡張パーティションが連続的に切断するパーティションスロット
  • である.
  • ディスクがフォーマットされた後、データアクセスとしての分割スロットは主要パーティションと論理パーティションであり、拡張パーティションは
  • をフォーマットできない.
    5ディスク容量およびパーティションサイズのアルゴリズム
    Jsコード
  • #fdisk -l  
  • Disk /dev/hda: 80.0 GB, 80026361856 bytes  
  • 255 heads, 63 sectors/track, 9729 cylinders  
  • Units = cylinders of 16065 * 512 = 8225280 bytes  
  •    Device Boot Start End Blocks Id System  
  • /dev/hda1 * 1 765 6144831 7 HPFS/NTFS  
  • /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)  
  • /dev/hda3 2806 9729 55617030 5 Extended  
  • /dev/hda5 2806 3825 8193118+ 83 linux  
  • /dev/hda6 3826 5100 10241406 83 linux  
  • /dev/hda7 5101 5198 787153+ 82 linux swap / Solaris  
  • /dev/hda8 5199 6657 11719386 83 linux  
  • /dev/hda9 6658 7751 8787523+ 83 linux  
  • /dev/hda10 7752 9729 15888253+ 83 linux  
  • #fdisk -l
    Disk /dev/hda: 80.0 GB, 80026361856 bytes
    255 heads, 63 sectors/track, 9729 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
       Device Boot Start End Blocks Id System
    /dev/hda1 * 1 765 6144831 7 HPFS/NTFS
    /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
    /dev/hda3 2806 9729 55617030 5 Extended
    /dev/hda5 2806 3825 8193118+ 83 linux
    /dev/hda6 3826 5100 10241406 83 linux
    /dev/hda7 5101 5198 787153+ 82 linux swap / Solaris
    /dev/hda8 5199 6657 11719386 83 linux
    /dev/hda9 6658 7751 8787523+ 83 linux
    /dev/hda10 7752 9729 15888253+ 83 linux
    
    

    heads:ディスク面
    sectors:セクタあたり512 byte
    cylinders:柱面
    ディスク全体のボリューム換算式:
    磁気面の個数*セクタの個数*各セクタの大きさ512*柱面の個数
    =ディスク容量(単位bytes)
    255 x 63 x 512 x 9729 = 80023749120 bytes
     
     
    /dev/hda 1プライマリパーティション
    /dev/hda 2プライマリパーティション
    /dev/hda 3拡張パーティション
    <一つの容器に相当する.依存する論理パーティションは次のとおりです.
                          hda5,hda6,hda7,hda8,hda9,hda10>
    ディスク容量合計=プライマリパーティション(拡張パーティションを含む)容量合計
    拡張パーティション容量=論理パーティションの合計容量
    hda=hda1+hda2+hda3
    hda3=hda5+hda6+hda7+hda8+hda9+hda10
     
    ディスクの空き容量を計算するには、次の手順に従います.
    実際にパーティション化されたボリューム
     hda1+hda2+hda3=
    6144831+16386300+39728745
    = 62259876 (b)
    =60800.67 (M)
    ディスク全体のサイズ
    80.0gb=78150.744M
    未パーティションの空き領域
    17350.074M
    6各パーティションのサイズを計算する3つの方法
    1
    次のコマンドから、/dev/sda 1サイズが245 Mであることがわかります.
    [root@localhost Desktop]# df -lh|grep /dev/sda1
    /dev/sda1             291M   31M  245M  12% /boot


    次のコマンドは、ディスク全体の表示です.
    [root@localhost Desktop]# fdisk -l
    
    Disk /dev/sda: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000f1e94
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          39      307200   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              39        2354    18598912   83  Linux
    /dev/sda3            2354        2611     2064384   82  Linux swap / Solaris
    

     
    1つのパーティション容量の値は、次の式によって得られる.
    Blocks=(対応パーティションEnd値-対応パーティションStart値)x単位cylinder(磁気柱)の容量
     
    sda 1のサイズ:
    (39-1)*8225280 bytes=312560640 bytes=約312 M
    3注:換算単位はハードディスクメーカーが提供する10進位で計算し、オペレーティングシステムのバイナリで計算すると、このパーティション容量はもっと少ないはずです.この値はfdisk-lで見た/dev/sda 1の値とほぼ同じです.換算方法が異なるので、できるだけ正確にすることはできません.さらにパーティション化時のわずかな損失などを加えると、時には大きいか小さいかが存在する.
    7ストレージデバイスが完全に分割されているかどうかを推定する
    fdisk-lが出力内容のcylinders(カラム)の前のパーティションのEndと次のパーティションのStartが連続する数字であるかどうかを見る限り.
    Disk /dev/sda: 1035 MB, 1035730944 bytes
    256 heads, 63 sectors/track, 125 cylinders
    Units = cylinders of 16128 * 512 = 8257536 bytes
       Device Boot Start End Blocks Id System
    /dev/sda1 1 25 201568+ c W95 FAT32 (LBA)
    /dev/sda2 26 125 806400 5 Extended
    /dev/sda5 26 50 201568+ 83 linux
    /dev/sda6 51 76 200781 83 linux
     
    sdaには125個のcylinders(柱)があり、1つの主パーティションと1つの拡張パーティションから構成されている.拡張パーティションでは、Endの値は125ですが、このモバイルハードディスクのcylinderも125です.これは、このハードディスクがプライマリパーティションを追加することができないことを示しています.上述したsda 1 sda 2 sda 5 sda 6の間には未分割空間はないが、sda 6のcylinders(カラム)のEnd値は76であり、sda全体のcylinders(カラム)は125個あることから、sdaはsda 6の後ろに未分割領域があるように見える.
    sdaがどれだけ空間を分けていないかについては、計算してみればわかります.拡張パーティションの総容量は806400 Kで、約806.400 M程度であるが、論理パーティションsda 5とsda 6の大きさを合わせると400 M程度であるため、まだ400 M程度の未分割空間があり、チェーン論理パーティションにしか分割できない.