制限はいくらですか?パーティションはいくつまでありますか?

制限はいくらですか?パーティションはいくつまでありますか?

Linuxを実行しているx86_64 PCで何台を作成できるかを知りたいですPrimaryExtended Partitions


修正する :
パーティションの数が制限されている場合、なぜそのように制限されますか?

答え1

この制限は元のBIOS設計によるものです。当時、1つのディスクに4つ以上の異なるオペレーティングシステムをインストールできるとは考えられませんでした。標準はまた、オペレーティングシステムの実装者、特にBSDとSolarisが行うようにパーティションをスライスに細分化するのではなく、ファイルシステムを(注)パーティションに誤ってマッピングすることで誤解されています。これは、BSDとSolarisがもともと意図したものとまったく同じです。 。

最大論理区画の数は標準によって制限されませんが、到達可能な論理区画の数はオペレーティング・システムによって異なります。 Windowsはアルファベット文字数に制限されており、Linuxの以前のIDEドライバには63個のスロット(hda1〜hda63)がありましたが、最新バージョンにはデフォルトで15個のスロット(sda1〜sda15)をサポートする標準化されたSDドライバがあります。わずかな調整でこの制限を克服できますが、ツールが混乱する可能性があります(参照: http://www.justlinux.com/forum/showthread.php?t=152404)

それにもかかわらず、これはEFI / GPT記録になります。最新のLinuxはGPTをサポートし、デフォルトで128個のパーティションを持つことができます。大容量ディスク(2TB以上)を最大限に活用するには、とにかくGPTが必要です。

答え2

Senは@jlliagreに応答して、一部のオペレーティングシステムは単一のパーティションを作成しますが、デフォルトではそのスペース内にサブパーティションを作成することに注意してください。

次のようなものですが、同じではありません。

 parted rm 1 /dev/sda
 ...
 parted rm 7 /dev/sda
 parted mkpart primary $start $end /dev/sda
 parted mkpart primary $start1 $end1 /dev/sda1

その後、kpartxを使用して次のサブパーティションにアクセスできます。

 kpartx -a /dev/sda1

サブパーティションは次のように表示されます。

 /dev/sda1p1

もちろん、これはFreeBSDや同様のシステムがスライシングを行う方法と正確には一致しませんが、本質的に同じです。

答え3

パーティション化は完全にディスクタイプの形式によって異なります。 LinuxでMBRディスクタイプを使用している場合は、合計4つのパーティションを作成できます。たとえば、次のようになります。

  1. 4つのパーティションはすべて基本パーティションです。
  2. 3つのパーティションはプライマリパーティション、残りの1つのパーティションは拡張パーティションです。

上記の手順2を考慮すると、拡張パーティションではほぼ65536の新しい論理パーティションを作成して使用できますが、オペレーティングシステムによって使用できる論理パーティションにはいくつかの制限があります。

拡張パーティションの下にいくつのパーティションを作成できますか?
答え:MBRの最後のパーティションを拡張パーティションとして作成し、その下に1 GBパーティションを論理パーティションとして作成するとします。

彼らの構造は次のとおりです。

[root@localhost ~]# fdisk -l /dev/sdb 

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disk label type: dos 
Disk identifier: 0x4bc89c19 

   Device Boot      Start         End      Blocks   Id  System  
/dev/sdb1            2048     2099199     1048576   83  Linux  
/dev/sdb2         2099200     2293759       97280   83  Linux  
/dev/sdb3         2293760     2488319       97280   83  Linux   
/dev/sdb4         2488320    41943039    19727360    5  Extended < br/>

[root@localhost ~]# fdisk  /dev/sdb 
Welcome to fdisk (util-linux 2.23.2). 

Changes will remain in memory only until you decide to write them. 

Be careful before using the write command. 

Command (m for help): n    
All primary partitions are in use    
Adding logical partition 5    
First sector (2490368-41943039, default 2490368):    
Using default value 2490368   
Last sector, +sectors or +size{K,M,G} (2490368-41943039, default 41943039): +1G   
Partition 5 of type Linux and of size 1 GiB is set  

Command (m for help): p   

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors  
Units = sectors of 1 * 512 = 512 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disk label type: dos  
Disk identifier: 0x4bc89c19  

Device Boot      Start         End      Blocks   Id  System  
/dev/sdb1            2048     2099199     1048576   83  Linux  
/dev/sdb2         2099200     2293759       97280   83  Linux  <
/dev/sdb3         2293760     2488319       97280   83  Linux  
/dev/sdb4         2488320    41943039    19727360    5  Extended  
/dev/sdb5         2490368     4587519     1048576   83  Linux  

これで、上記の1 GB論理区画を作成した後、拡張区画の下の論理区画の総数を計算できます。 MBRは1セクタスペース= 512バイトをサポートしていることを知っています。

/dev/sdb5開始セクタ値との違い/dev/sdb4は次のとおりです。2490368-2488320 = 2048。 2048は、差分値として拡張パーティションの予約済みスペースとして、その下の論理パーティションの情報を格納するために使用されます。 2048 に 512 バイトを掛けた場合、拡張区画で論理区画をサポートする合計バイト数は 2048*512=1048576 バイトです。

MBRは、パーティションテーブルにパーティション情報を格納するために合計64バイトのサイズを使用します。つまり、各パーティション情報はパーティションテーブルに格納され、各パーティションサイズは16バイトです。各パーティションは16バイトのスペースを使用できるため、MBRには拡張パーティションを含む合計4つのパーティションがあります。最後のパーティションサイズが拡張パーティションの場合は、16バイトのスペースを使用してください。

つまり、1048576バイトを16で割ると、拡張パーティションの下の論理区画の合計数である1048576/16 = 65536(最大論理区画)が得られます。

その下には最大65536の論理区画を使用できます。ただし、このパーティションの使用はオペレーティングシステムによって異なります。 Linuxでは、MBRは拡張パーティションの下で最大60個の論理パーティションを使用します。

したがって、MBRで作成できるパーティションの総数は、3(デフォルト)、1(拡張)、60(論理)= 64です。
ただし、基本パーティションと論理パーティションのみがLinuxデータを提供するために使用され、拡張パーティションは使用されないため、これは63個のパーティションのみを意味します。パーティションにデータを入力するのに便利です。

MBRでは、60個のパーティションしか作成できず、それ以上は作成できないとどうすればいいですか?

できるだけ多くの論理区画を作成してください。 60番目の論理区画を作成すると、システムに次のメッセージが表示されます。

Command (m for help): n
All primary partitions are in use
Adding logical partition 60
First sector (23013477-41943039, default 23031808): 
Using default value 23031808
Last sector, +sectors or +size{K,M,G} (23031808-24035327, default 24035327): +100

Partition 60 of type Linux and of size 50.5 KiB is set

Command (m for help): n
The maximum number of partitions has been created

答え4

4つの基本パーティションまたは3つの基本パーティションと1つの拡張パーティション。

拡張パーティションは複数の論理パーティションに分割できます。

関連情報