참고: 저는 Linux 초보자이며 다음 내용을 배우려고 합니다.도서: Linux 작동 방식
실행하면 parted -l
다음과 같은 결과를 얻습니다.
Model: KBG30ZMV256G TOSHIBA (nvme)
Disk /dev/nvme0n1: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 EFI System Partition boot, esp
2 538MB 256GB 256GB ext4
실행할 때 fdisk-l
다음을 얻습니다.
...
Disk /dev/nvme0n1: 238,5 GiB, 256060514304 bytes, 500118192 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
Disklabel type: gpt
Disk identifier: BCB099F2-0FCD-4A90-83C2-A76C3E49682D
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1050623 1048576 512M EFI System
/dev/nvme0n1p2 1050624 500117503 499066880 238G Linux filesystem
달리면서 느낀 또 다른 사실은 다음과 같습니다 lsblk -a
.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
nvme0n1 259:0 0 238,5G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
└─nvme0n1p2 259:2 0 238G 0 part /
저는 fdisk와 pared를 사용하여 파티션을 생성하는 것의 차이점에 대해 기본적으로 이해하고 있습니다. 그런데 궁금합니다. fdisk와 pared 간에 출력(및 파티션 크기)이 다른 이유는 무엇입니까?
내 시스템 정보가 실행 중입니다 uname -a
.
Linux 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
답변1
parted
및 의 출력은 fdisk
다소 다르지만 모순되지는 않습니다.
parted
출력(kB
,MB
, )GB
에 표시되는 단위로 값을 표시합니다.fdisk
귀하의 경우 크기와 같이 물리적 섹터로 표현된 값을 표시합니다512 bytes
.
다음 값은엄격한. 그들의 세분성은 부문입니다. 파티션은 섹터 중간에서 시작하거나 소수 섹터를 포함할 수 없기 때문에 더 세밀한 단위(예: 바이트)가 필요하지 않습니다. 필요한 경우 값을 바이트로 다시 계산할 수 있습니다.
kB나 MB 등의 단위로 표현된 값은 반올림될 뿐만 아니라 모호하기도 합니다.1MB가 실제로 1,000,000바이트, 1,024,000바이트 또는 1,048,576바이트를 나타낼 수 있습니까?이러한 모호성으로 인해 256GB
(from parted
) 및 238G
(from fdisk
) 모두 "올바른" 크기를 가지며, 단지 서로 다른 단위를 사용한다는 것입니다.
엄밀히 말하면 /dev/nvme0n1p2
499066880개의 섹터가 있습니다. 섹터 크기(512바이트)를 곱합니다. 결과는 255522242560입니다. 10 9 로 나누고 결과를 반올림합니다. 256을 얻습니다.
이제 255522242560을 1024 3 으로 나누고 결과를 반올림합니다. 238을 얻습니다.