Linux를 실행하는 x86_64 PC에서 몇 개를 생성할 수 있는지 알고 싶습니다 Primary
.Extended Partitions
고쳐 쓰다 :
파티션 수가 제한되어 있다면 왜 그렇게 제한됩니까?
답변1
이 제한은 원래 BIOS 설계로 인한 것입니다. 당시에는 하나의 디스크에 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의 마지막 파티션을 확장 파티션으로 생성하고 그 아래에 1GB 파티션을 논리 파티션으로 생성한다고 가정해 보겠습니다.
그들의 구조는 다음과 같습니다:
[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
이제 위의 1GB 논리 파티션을 생성한 후 확장 파티션 아래의 총 논리 파티션 수를 계산할 수 있습니다. 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개.
확장 파티션은 여러 논리 파티션으로 분할될 수 있습니다.