Linuxを実行しているx86_64 PCで何台を作成できるかを知りたいですPrimary
。Extended 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つのパーティションを作成できます。たとえば、次のようになります。
- 4つのパーティションはすべて基本パーティションです。
- 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つの拡張パーティション。
拡張パーティションは複数の論理パーティションに分割できます。