Partition

HDD(CHS)
Head, Sector(물리적 접근 최소단위), Cylinder
ex) Head 255, Sector 63, Cylinder 60801
LBA(Logical Block Addressing)
일반적으로 섹터 번호가 작을 수록 디스크 외측 영역을 사용함

Partition: 물리 디스크를 여러개의 논리적 디스크로 분할함
파티션 생성 -> 파일 시스템 할당

MBR(Master Root Record); 전통적인 파티션 테이블
파티션 테이블을 통해 관리됨
fdisk

sudo parted -l

LBA는 섹터수를 4Byte(0x00000000 ~ 0xFFFFFFFF)로 1섹터 per 512Byte인 시스템은
최대 2TB 디스크만 파티션 작성 가능
GPT 사용하거나 최근 1섹터당 4KB를 적용해서 해결

GPT(Globally Unique Identifier Partition Table)
parted, gdisk
TOOLS
fdisk -l

└─$ sudo fdisk -l 

Disk /dev/vda: 64 GiB, 68719476736 bytes, 134217728 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: 2E6E268F-E946-4BEE-A6D1-17F47BCC1B0F


Device         Start       End   Sectors  Size Type

/dev/vda1       2048   1050623   1048576  512M EFI System

/dev/vda2    1050624 132216831 131166208 62.5G Linux filesystem

/dev/vda3  132216832 134215679   1998848  976M Linux swap

parted -l

Model: Virtio Block Device (virtblk)

Disk /dev/vda: 68.7GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Disk Flags: 


Number  Start   End     Size    File system     Name  Flags

 1      1049kB  538MB   537MB   fat16                 boot, esp

 2      538MB   67.7GB  67.2GB  ext4

 3      67.7GB  68.7GB  1023MB  linux-swap(v1)        swap

blockdev --rereadpt /dev/<block device>
파티션 테이블 다시 로딩
fdisk
-b <size>:    섹터 크기 지정(hdd는 일반적 512, ssd는 일반적 4096)
-l    :    파티션 테이블 출력

fdisk /dev/<block device>    :    block device 파티셔닝 사용모드
fdisk -d /dev/<block device>    :    파티션 삭제
fdisk optionfunction
-a부팅 파티션 설정
-bBSD 디스크 라벨을 편집
-c도스 호환성 설정
-d파티션 삭제
-l사용 가능한 파티션 종류 출력
-m도움말 출력
-n새로운 파티션 추가
-o새로운 빈 DOS 파티션 생성
-p파티션 테이블 출력
-q작업 내용을 저장하지 않고 출력
-s새로운 빈 Sun 디스크 라벨 출력
-t파티션의 시스템 ID 변경(파일 시스템 종류 변경)
-u항목 정보 변경/출력
-v파티션 테이블 검사
-w파티션 정보를 디스크에 저장하고 종료
-x실린더 갯수 변경등 전문가를 위한 부가적 기능
w 미적용시 파티셔닝 수행하지 않음

파티션 제거 하기 전에 umount 수행
umount <마운트 포인트>    ; 마운트 포인트에서는 umount 불가
(마운트 포인트 /media/~)

c-> 파일 시스템 수정: ex) 'W95 FAT32 (LBA)'
mkfs
sudo mkfs.ext4 -L "ROOT" /dev/<minor block device>
sudo mkfs.vfat
...

sudo mount <파티션(/dev/...)> <마운트포인트(/mnt)>

eject /dev/<major block device>
gdisk
Optionsdescription
bback up GPT data to a file
cchange a partition's name
ddelete a partition
ishow detailed information on a partition
llist known partition types
nadd a new partition
ocreate a new empty GUID partition table (GPT)
pprint the partition table
qquit without saving changes
rrecovery and transformation options (experts only)
ssort partitions
tchange a partition's type code
vverify disk
wwrite table to disk and exit
xextra functionality (experts only)
?print this menu
parted [options] [device [command [options ...] ... ]]
parted는 fdisk, gdisk와 달리 바로 명령이 적용(w로 저장하는 과정이 없음)되기에 조심할 것

Options                                                       description
-l, --listlists partition layout on all block devices
-m, --machinedisplays machine parseable output
-s, --scriptnever prompts for user intervention
-v, --versiondisplays the version
-a alignment-type
--align alignment-type
Set alignment for newly created partitions, valid alignment types are:

  • none: Use the minimum alignment allowed by the disk type.
  • cylinder: Align partitions to cylinders.
  • minimal: Use minimum alignment as given by the disk topology information. This and the opt value will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The min value is the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation.
  • optimal: Use optimum alignment as given by the disk topology information. This aligns to a multiple of the physical block size in a way that guarantees optimal performance.

  • Commands                    description
    [device]The block device to be used. When none is given, parted will use the first block device it finds.
    [command [options]]Specifies the command to be executed. If no command is given, parted will present a command prompt. Possible commands are:

  • align-check alignment-type partition : Determine whether the starting sector of partition is aligned for the disk. alignment-type is "minimal" or "optimal".
  • check partition :Do a simple check on partition.