강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

디스크파티션설정및관리강좌 fdisk 1편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

디스크파티션설정및관리강좌 fdisk  1

 

 

 

--      --

 

1   : 디스크파티션 설정, 관리를 위한 fdisk 개론

2   : 현재 모든 디스크의 파티션설정현황 파악하기

3   : 특정 파티션을 대상으로한 fdisk 시작과 종료

4   : 해당 디스크장치가 존재하지 않을 경우의 fdisk실행

5   : fdisk모드에서 현재 설정된 디스크 파티션정보 확인하기

6   : fdisk로 하드디스크 파티션 설정하기

7   : 파티션 타입(types) 확인하기

8   : 스왑영역으로 사용할 파티션 설정하기

9   : 리눅스 부팅파티션 설정하기

10  : 특정 파티션 삭제하기

 

 

 

ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><?xml:namespace prefix = st2 ns = "urn:schemas:contacts" />박성수

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 : 디스크파티션 설정, 관리를 위한 fdisk 개론

 

fdisk명령어는 파티션테이블을 관리하는 명령어입니다.  , 리눅스의 디스크파티션을 생성, 수정, 삭제할 수 있는 일종의 유틸리티라고 할 수 있습니다. 

 

“fdisk를 이용하여 디스크를 원하는 형태로 파티션작업을 정확하게 하실 수 있습니까?”라고 필자가 묻는다면 자신있게 라고 대답하실 수 있는 분이 얼마나 계실까요.  흔히 디스크파티션작업은 fdisk로 한다라고 알고 있으며 fdisk의 기본적인 사용법은 이미 알고 계실 것이라 생각합니다. 하지만, fdisk로 정확한 파티션작업을 할 수 있느냐라고 묻는다면 자신있게 대답할 수 있는 분은 그렇게 많지 않을 것입니다.  , fdisk의 정확한 사용법에 대해서 확실하게 알고 계셔야 한다는 것이 필자의 주장입니다.  조금만 공부하면 fdisk를 이용하여 파티션작업을 할 수는 있을 것입니다. 하지만 운영체제라는 관점에서 디스크의 파티션개념과 설정작업은 우리들에게 많은 것을 생각하도록 합니다.

 

필자는 이번 기회를 통해서 fdisk로 파티션설정하는 작업에 대해 상세한 실무활용법을 설명 드리고자 합니다.

 

기존에 사용하고 있던 디스크의 파티션을 재수정하여 저장하게 되면 디스크에 존재하고 있던 데이터가 모두 삭제되므로 주의하셔야 합니다.

 

fdisk로 리눅스 설치시에 장착된 디스크의 파티션을 설정하기도하며 이미 사용중이던 디스크의 파티션을 새로 설정할 수도 있으며 디스크를 추가하여 사용하려고 할 경우에도 fdisk로 파티션을 생성하여 사용하게 됩니다.  서버관리자라면 누구나 알고 있어야하는 것이며 MS-DOS시절에도 fdisk로 파티션을 생성한 후에 포맷을 하여 사용을 하였던 것 처럼 리눅스에서도 파티션을 생성한 후에 mkfs mke2fs로 생성한 파티션을 포맷하여 파일시스템을 생성하는 작업을 하게 됩니다.

 

또한 fdisk실행 후에 사용하는 몇가지 명령어들이 있으므로 이를 완전히 익히신 후에 실무에서 사용하셔야 합니다.

 

명령어위치 : /sbin/fdisk

 

사용형식 :   fdisk [-l] [-v] [-s 파티션] [장치이름]

 

fdisk에서 파티션 설정작업에 사용하는 명령어를 간략히 요약하면 다음과 같습니다.

 

       a  부팅파티션을 설정할 수 있음.

       b  BSD로 디스크라벨 설정.

       c  DOS호환가능한 플래그 설정.

       d  파티션을 삭제할 수 있음.

       l  설정가능한 파티션 타입을 보여줌.

       m  파티션 설정도움말을 보여줌.

       n  새로운 파티션을 생성할 수 있음.

       o  새로운 도스파티션 테이블을 생성함.

       p  현재 설정된 파티션정보를 보여줌.

       q  설정된 정보를 저장하지않고 fdisk를 빠져나감.

       s  SUN 디스크라벨을 생성함.

       t  파티션 타입을 변경할 수 있음.

       u  유닛(units)정보를 열람하거나 변경할 수 있음.

       v  지정된 파티션을 검사함.

       w  현재까지 설정한 파티션정보를 저장하고 fdisk를 빠져나감.

       x  파티션설정 전문가 모드로 들어감. 이 전문가 모드에서는 실린더(cylinder)수나 헤드(head)수 그리고 트랙(track)당 섹터(sector)수를 변경할 수 있음.

 

이제 fdisk를 이용하여 디스크 파티션작업을 하려면 디스크장치명에 대한 정확한 이해가 필요합니다.  , IDE디스크냐 SCSI디스크냐에 따라서 다음과 같은 장치명이 주어집니다. 디스크장치명과 디스크 파티션명을 어떻게 표기하고 구분하는가를 아래 설명을 보시고 정확하게 이해하시기 바랍니다. 이것이 fdisk를 정확하게 사용하기 위한 기초사항입니다.

 

[참고사항]
이 책의 grub명령어편에 나오는 실무명령어# 105-3 : GRUB에서의 디스크파티션명과 리눅스에서의 디스크파티션명 구분하기의 설명과 함께 보시기 바랍니다. 보다 정확한 이해를 하실 수 있습니다.

 

       /dev/hda      : 첫번째(a) IDE 디스크(hd)

       /dev/hdb      : 두번째(b) IDE 디스크(hd)

       /dev/hdc      : 세번째(c) IDE 디스크(hd)

       /dev/hdd      : 네번째(d) IDE 디스크(hd)

 

       /dev/sda      : 첫번째(a) SCSI 디스크(sd)

       /dev/sdb      : 두번째(b) SCSI 디스크(sd)

       /dev/sdc      : 세번째(c) SCSI 디스크(sd)

       /dev/sdd      : 네번째(d) SCSI 디스크(sd)

       /dev/sde      : 다섯번째(e) SCSI 디스크(sd)

       /dev/sdf      : 여섯번째(f) SCSI 디스크(sd)

       /dev/sdg      : 일곱번째(g) SCSI 디스크(sd)

 

이상과 같이 구분합니다.  그렇다면 디스크의 전체를 가리키는 장치명과 디스크내의 파티션을 의미하는 파티션은 어떻게 표시할까요?

 

간단히 IDE디스크 하나를 5개의 파티션으로 나누었다고 가정 하겠습니다.

 

       /dev/hda  : 첫번째(a) IDE디스크 전체를 의미할때 사용하는 장치명.

       /dev/hda1 : 첫번째(a) IDE디스크 내의 첫번째 파티션을 의미함.

       /dev/hda2 : 첫번째(a) IDE디스크 내의 두번째 파티션을 의미함.

       /dev/hda3 : 첫번째(a) IDE디스크 내의 세번째 파티션을 의미함.

       /dev/hda4 : 첫번째(a) IDE디스크 내의 네번째 파티션을 의미함.

       /dev/hda5 : 첫번째(a) IDE디스크 내의 다섯번째 파티션을 의미함.

 

따라서 뒤에 숫자번호가 붙지않은 장치명과 붙은 장치명의 정확한 의미를 이해하셔야 합니다. , 뒤에 숫자번호가 붙지않는 경우는 디스크의 전체를 의미하며, 뒤에 숫자번호가 붙는 경우는 디스크내의 각 파티션을 의미합니다. 그리고 장치명만으로 IDE디스크인가?  SCSI디스크인가?를 정확하게 구분할 수 있어야합니다.

 

간단히 다음과 같은 예를 보십시요.

 

       /dev/hdb3 : 두번째(b) IDE디스크(hd) 3번째 파티션을 의미함.

       /dev/hdc2 : 세번째(c) IDE디스크(hd) 2번째 파티션을 의미함.

       /dev/sda5 : 첫번째(a) SCSI디스크(sd) 5번째 파티션을 의미함.

       /dev/sdc3 : 세번째(c) SCSI디스크(sd) 3번째 파티션을 의미함.

 

이상과 같은 구분만 가능하다면 파티션의 기본적인 의미는 이해를 하신 것이라 볼 수 있습니다.  그리고 이런 파티션을 나누는 도구가 바로 여기서 설명할 fdisk인 것입니다.

fdisk를 어디에 사용하고 무엇을 하기 위해서 사용하는가를 설명하기 위해서 지금껏 설명드린 것입니다.

 

이제 fdisk를 이용하여 디스크정보와 파티션설정하는 방법에 대해서 알아보도록 하겠습니다.

 

 

 

2 : 현재 모든 디스크의 파티션설정현황 파악하기

 

리눅스 쉘상태에서 현재 모든 디스크의 파티션 설정내용을 확인할 수 있습니다.

간단히 "fdisk -l"이라고만 하면 현재 파티션이 설정되어 있는 모든 디스크의 파티션설정 내용을 다음 예와 같이 확인 할 수 있습니다.

아래 필자가 테스트로 사용하고 있는 서버에는 IDE디스크가 2개 장착되어 있습니다.

첫번째 디스크는 /dev/hda라는 장치명으로 사용되고 있으며 다른 하나는 /dev/hdb라는 장치명으로 사용되고 있습니다.

 

[root@file root]# fdisk -l

 

Disk /dev/hda: 80.0 GB, 80026361856 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot    Start       End    Blocks   Id  System

/dev/hda1   *         1        16    128488+  83  Linux

/dev/hda2            17      8302  66557295   83  Linux

/dev/hda3          8303      8433   1052257+  82  Linux swap

/dev/hda4          8434      9729  10410120    f  Win95 Ext'd (LBA)

/dev/hda5          8434      9729  10410088+  83  Linux

 

Disk /dev/hdb: 6448 MB, 6448619520 bytes

255 heads, 63 sectors/track, 784 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot    Start       End    Blocks   Id  System

/dev/hdb1   *         1       250   2008093+  83  Linux

/dev/hdb2           251       500   2008125   83  Linux

/dev/hdb3           501       784   2281230   82  Linux swap

[root@file root]# 

 

첫번째 /dev/hda디스크는 모두 5개의 파티션으로 구성되어 있는 것을 보실 수 있습니다.

첫번째 행에 나타난 것 처럼 이 디스크(/dev/hda) 80.0GB의 용량을 가지고 있음을 알 수 있습니다.

 

/dev/hda1, /dev/hda2, /dev/hda3, /dev/hda4 /dev/hda5와 같이 나누어져 있다는 것을 알 수 있으며 각 장치명의 번호들은 파티션번호를 의미하고 있습니다.

그리고 /dev/hda1 "Boot"항목에 "*"가 있는 것은 이 파티션(/dev/hda1)이 부팅파티션임을 나타내고 있습니다.

 

그리고 /dev/hda3 "System"항목에 보시면 "Linux swap"이라는 것은 이 파티션(/dev/hda3)이 스왑파티션임을 나타내고 있습니다.

 

그리고 /dev/hda4 "System"항목에 보시면 "Win95 Ext'd (LBA)"라는 것은 이 파티션(/dev/hda4)가 확장파티션임을 의미합니다.

 

그리고 위의 예에서 두번째 디스크인 /dev/hdb는 모두 3개의 파티션(/dev/hdb1, /dev/hdb2, /dev/hdb3)으로 나뉘어져 있음을 알 수 있습니다.

 

위의 경우와 마찬가지로 /dev/hdb1파티션이 부팅파티션이고 /dev/hdb3파티션이 리눅스 스왑파티션입니다.

 

이상과 같이 fdisk로 확인할 수 있는 디스크파티션 설정내용의 이해를 위하여 설명드렸습니다.

 

 

 

3 : 특정 파티션을 대상으로한 fdisk 시작과 종료

 

fdisk실행하기와 빠져나오기를 간단히 알아보겠습니다.  먼저 fdisk를 실행할 때에는 "fdisk 장치명"과 같이 하시면 됩니다.  물론 여기서 장치명은 반드시 디스크를 가리키는 장치명이어야합니다.

 

아래의 예는 /dev/hdb디스크에 대한 fdisk를 실행한 것입니다.

 

[root@file root]# fdisk /dev/hdb

 

Command (m for help):

Command (m for help): m

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

  

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,033 명
  • 현재 강좌수 :  35,783 개
  • 현재 접속자 :  151 명