♧ 전통적으로 PC 하드디스크는 마스터 부트 레코드(MBR)가 포함된 32bit PC-BIOS
파티션 테이블을 사용해왔다. 이러한 조건 때문에 파티션 하나의 크기는 최대 2TB
가 한계이며, 각 드라이브당 네 개의 주(primary) 파티션만을 가질 수 있었다.
확장 파티션은 이러한 주 파티션의 개수의 제한을 극복하기 위한 방법이다.
최근에는 2TB파티션 용량 제한을 해결하기 위해 PC-BIOS 파티션 테이블을
GTP(GUID 파티션테이블)로 대체 하고 있다.
기존 디스크 파티션 작업을 위한 표준 명령어로는 fdisk가 있다. 그러나 fdisk는
현재 새로운 GTP 파티션을 지원하지 못하기 때문에 사용빈도가 줄어들 것이다.
대신 적극적으로 지원받고 있는 새로운 명령어인 parted가 부각되고 있다.
⌒그래픽 파티셔닝 툴 : gparted, qtparted
■ fdisk를 사용하여 디스크 파티션 변경
♧ fdisk 명령어는 디스크 파티션을 나열하고 변경하는데 유용한 툴.
▶ 파티션 정보 출력
$ sudo fdisk -l
Disk /dev/sda: 19.3 GB, 19327352832 bytes 255 heads, 63 sectors/track, 2349 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0003ed61
Device Boot Start End Blocks Id System /dev/sda1 * 1 2220 17824768 83 Linux /dev/sda2 2220 2350 1046529 5 Extended /dev/sda5 2220 2350 1046528 82 Linux swap / Solaris |
☞ 리눅스 커널 2.6.20 버전부터 IDE와 SCSI 디스크 모드 /dev/sd? 디바이스명 사용.(여기서 ? 표시는 a,b,c 등)
우분투의 오래된 버전은 SCSI 디스크와 USB디스크만 /dev/sd?를 사용하며,
IDE 하드드라이브는 /dev/hd?를 사용했다.
☞ 특정 디스크에 대한 파티션 목록 출력 : $ sudo fdisk -l /dev/sdb
▶ 간략한 fdisk 명령어 사용 예:
$ sudo fdisk /dev/sdb | |
Command (m for help): m | 도움말 출력 |
Command (m for help): d Partition number (1-4): 1 | 파티션 삭제 요청 삭제할 파티션 번호 입력 |
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-130, default 1): 1 Last cylinder … +size{K,M,G} (1-130, default 130): 130 | 새로운 파티션 생성
확장 파티션 주 파티션 주 파티션 선택 주 파티션 번호 1번 선택 시작 위치 선택(또는 그냥 엔터) 끝 위치 선택 (또는 그냥 엔터) |
Command (m for help): a Partition number (1-4): 1 | 부팅 가능한 파티션 선택 부팅 가능한 파티션 번호 입력 |
Command (m for help): t Hex code (type L to list codes): L Hex code (type L to list codes): 82 | 파일시스템 유형 선택 선택할 코드 리스트 출력 스왑 파티션으로 지정 |
Command (m for help): w | 변경 내용 파티션 테이블에 쓰고 종료 |
■ sfdisk를 사용하여 파티션 테이블 복사
♧ 디스크 파티션 테이블을 백업하거나 복사하는 경우 sfdisk 사용
$ sudo sfdisk -d /dev/sda > sda-table | 파티션 테이블을 파일로 복사 |
$ sudo sfdisk /dev/sda < sda-table | 파일로부터 파티션 테이블을 복구 |
$ sudo sfdisk -d /dev/sda | sfdisk /dev/sdb | 디스크에서 다른 디스크로 파티션 테이블 복사 |
■ parted를 사용하여 디스크 파티션 변경
♧ fdisk와 같이 parted 역시 디스크 파티션 정보를 확인하거나 변경하는 툴
▶ 디스크 파티션 목록 출력
$ sudo parted /dev/sda print Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 19.3GB Sector size (logical/physical): 512B/512B Partition Table: msdos
Number Start End Size Type File system Flags 1 1049kB 18.3GB 18.3GB primary ext4 boot 2 18.3GB 19.3GB 1072MB extended 5 18.3GB 19.3GB 1072MB logical linux-swap(v1) |
▶ 대화식 모드
$ sudo parted GNU Parted 2.3 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. |
☞ 특정 디스크 파티션 작업 : $ sudo parted /dev/sdb
※ fdisk와는 다르게, parted는 별도의 쓰기 과정 없이 파티션에 변경 작업을 즉시 적용. 따라서 단순히 parted를 종료하는 것으로는 어떠한 변경도 되돌릴 수 없기 때문에 신중하게 작업해야 함. |
▶ 간략한 parted 명령어 사용 예:
$ sudo parted /dev/sdb | |
(parted) help mklabel | 특정 도움말 자세히 출력 |
(parted) mklabel msdos | 새로운 디스크 레이블 만듬(리눅스: msdos) |
(parted) rm Partition number? 1 | 파티션 삭제 요청 삭제할 파티션 번호 입력 |
(parted) mkpart Partition type? primary/extended? primary File system type? [ext2]? ext3 Start? 1 End? -1 | 새로운 파티션 생성 파티션 타입 파일 시스템 타입 시작 위치 끝 위치 (-1: 끝까지 의미) |
(parted) print | 파티션 테이블 출력 |
(parted) quit | 종료 |
☞ 명령어와 함께 입력 (예: rm 1, mkpart primary ext3 0 -1)
☞ parted의 mkpartfs 명령은 ext3 파티션을 제대로 생성하지 못하므로 가급적 사용을 피한다
☞ 일반적으로 parted는 ext3, ext4 파일시스템 지원이 미비 하므로 mkfs.ext? 명령 이용하여 파티션 포맷.
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap7 #02] - (3) 파일시스템 포맷(mkfs), 가상 파일 생성 (0) | 2011.08.09 |
---|---|
[Chap7 #02] - (2) 파일시스템 라벨 작업(e2label, findfs) (0) | 2011.08.08 |
[Chap7 #01] - 파일시스템 기초 이해 (0) | 2011.08.07 |
[Chap4 #07] - 파일 무결성 검증(md5sum, sha1sum) (0) | 2011.08.07 |
[Chap4 #05] - 확장 파일시스템의 파일 속성 변경(lsattr, chattr) (1) | 2011.08.07 |