>> Read No. 1492 article  
[초보가이드] 디스크와 파티션 #0

등록 2001-07-26 18:16:00     조회 4
이름 바즈라    

		[용어정리] - 제가 쓰는 글에서 사용할 용어들의 의미입니다.
 * 디스크 : 물리적인(즉, 컴의 부품으로 들어가는 눈으로 볼 수 있고 손으로 만질 수 있는)
 디스크 장치  * 파티션 : 필요에 따라 하나의 물리적 디스크 안에서 영역을 나눈 것.
 * 파일시스템 : 디스크 상에 데이터를 읽고 쓰고 관리하기 위해 사용하는 정해진 방식.
 * 트랙 : 디스크 상의 한바퀴. 트랙을 쉽게 이해하려면 나무를 자르면 보이는 나이테를 생
각하라.  * 실린더 : 여러 디스크 면으로 이루어진 HDD에서 각 면의 동일번호 트랙들을 묶은
 것.            즉, 4면을 가진 HDD에서의 실린더 0번은 디스크 면0의 0번트랙, 면1의 0번트
랙,            면2의 0번트랙, 면3의 0번트랙을 하나로 묶은 가상적 개념.
 [Disclaimer]
저는 제가 쓰는 이 글이 정확하고 객관적인 용어사용 및 사실에 입각한 것이라 보증하지 
않습니다. 이 글에는 잘못된 개념, 일반적이지 않은 개념 등이 들어있을 수 있습니다.
저는 이 글에서 제가 설명하고자 하는 바를 설명하기 쉽도록 개념들을 축소, 단순화, 변형
했을 수 있습니다. 또한 제가 이 글에서 틀린 점을 발견해도 반드시 교정할 것이라고 보증
하지 않습니다.  한마디로 참고가 되면 보시고 참고하시되 진리라 믿지는 마시고
잘못된 점을 답글에 지적하시는 것은 좋으나 저를 비난하지 말아주세요.
(피해망상증의 바즈라 emoticon;emoticon
 [파티션 일반]
자 이제 잡소리는 치우고 설명을 시작하죠.
 파티션에는 2가지 종류가 있습니다. Primary 파티션과 Extended 파티션이죠.
 Primary 파티션(이후 Pri 파티션으로 적습니다.)은 부트섹터가 딸려있다는 특징이 있고
그 파티션 자체가 하나의 파일 시스템을 이루게 된다는 특징이 있습니다.
즉, DOS/9x 계열로 설명하면 하나의 Pri 파티션은 하나의 드라이브가 된다고 보면 됩니다.
 Extended 파티션(이후 Ext 파티션)은 부트섹터가 딸려있지 않고
그 자체가 파일시스템을 구성해서 사용되는 것이 아니라
Ext 파티션 내부를 디스크에 파티션을 나누듯이 다시 나누어
나뉘운 각각의 단위마다 파일시스템을 각각 구성해 사용하게 됩니다.
 M$의 DOS 또는 9x계열의 OS로 fdisk 작업을 해보면 파티션을 2개까지만,
또한 만들 수 있는 파티션의 종류도 정해져 있어 Pri와 Ext 파티션 각각 하나씩만 만들 수 있
죠. 하지만 이것은 M$의 DOS/9x 계열의 제약일 뿐이고 하나의 물리적 디스크는
총 4개까지의 파티션을 가질 수 있습니다.
단, Ext 파티션은 하나의 물리 디스크에 하나뿐입니다.
 Ext 파티션내를 나눈 각각의 단위들은 논리드라이브(logical drive)라고 부릅니다.
어차피 파티션이라는 것이 논리적인데 왜 이것들을 논리드라이브라 부르는지 모르겠지만
요. emoticon  흔히 M$ 운영체제에 익숙한 분들이 생각하는 파티션의 개념은 이렇습니다.
파티션을 처음 하나 나누면 C드라이브, 다음 나누면 D드라이브, 또 나누면 E드라이브...
하지만 M$에서의 드라이브라는 개념은 M$에서 자기네 파일시스템을 보여줄 때 쓰는 개념일
뿐 (파티션=드라이브)라는 공식이 성립하는 것은 아닙니다.
유닉스 계통의 OS들엔 드라이브라는 개념은 없죠.
 리눅스에서는 물리적 디스크장치 및 논리적 개념인 파티션들에 대응하는 device file들이
/dev에 있습니다. 원칙적으론 파티션 그 자체를 지칭하려면 '첫번째 IDE 디스크의 1번 파티션
'과 같이 불러야 하겠지만 무쟈게 불편하죠. 따라서 해당하는 device file로 파티션을 호칭하
는 것이 관례입니다. 장치명이라 하죠.
disk와 관련된 device file의 이름은 다음 규칙에 따라 붙여집니다.
첫번째 글자는 그 종류를 나타냅니다. IDE 방식은 'h'가 붙고, SCSI 방식은 's'가 붙죠.
두번째 글자는 'd'입니다. disk를 줄인 것이겠죠.
세번째 글자는 장치(물리적)가 자신의 계열(IDE냐 SCSI냐)에서 몇번째 녀석인지에 따라 a, b, c
...로 갑니다.  합쳐서 한번 볼까요?
만약 한 컴에 IDE HDD 2개에 SCSI HDD가 3개가 달려있다면(부자네여... 부럽~ emoticon*)
IDE 2개는 순서대로 /dev/hda, /dev/hdb
SCSI 3개는 또 자기들끼리 순서에 따라 /dev/sda, /dev/sdb, /dev/sdc
가 됩니다.
 여기까지는 물리적 장치 얘기고 파티션은 어떻게 장치명을 붙이느냐...
물리적 장치명에 파티션 번호를 붙이는 것입니다.
첫번째 IDE HDD의 첫번째 파티션은 /dev/hda1, 두번째 파티션은 /dev/hda2, ... 이런식으로요.
한 물리적 장치에 파티션이 4개까지라 했으니 /dev/hda1~4까지는 '파티션'일 것이고,
/dev/hda5이후는 논리드라이브입니다.
논리드라이브는 파티션이 2개밖에 없는 상황, 예를들어 윈도9x에서 하드를 C절반 D절반으로
 나눴다면 /dev/hda1, /dev/hda2, /dev/hda5가 존재하게 됩니다.
파티션이 몇개가 존재하던지 논리드라이브는 무조건 5 이후의 번호를 갖는다는 것 기억해 
두세요.  잠깐 파티션이 실제로 어떻게 기록되나 볼까요?
다음은 제 리눅스 시스템의 파티션 목록을 뽑은겁니다.
물리적 디스크 2개에 리눅스와 W2kPro가 깔려 있습니다.
================
root@vajra:~# fdisk -l /dev/sda
 Disk /dev/sda: 255 heads, 63 sectors, 2233 cylinders
Units = cylinders of 16065 * 512 bytes
    Device Boot    Start       End    Blocks   Id  System
/dev/sda1             1        33    265041   82  Linux swap
/dev/sda2            34        38     40162+  83  Linux
/dev/sda3   *        39       168   1044225    b  Win95 FAT32
/dev/sda4           169      2233  16587112+  85  Linux extended
/dev/sda5           169       332   1317298+  83  Linux
/dev/sda6           333      2233  15269751   83  Linux
 root@vajra:~# fdisk -l /dev/sdb
 Disk /dev/sdb: 255 heads, 63 sectors, 2233 cylinders
Units = cylinders of 16065 * 512 bytes
    Device Boot    Start       End    Blocks   Id  System
/dev/sdb1             1        33    265041   82  Linux swap
/dev/sdb2            34       490   3670852+  83  Linux
/dev/sdb3           491      1926  11534670    5  Extended
/dev/sdb4          1927      2232   2457945    7  HPFS/NTFS
/dev/sdb5           491       817   2626596   83  Linux
/dev/sdb6           818       948   1052226   83  Linux
/dev/sdb7           949      1926   7855753+  83  Linux
================
 다음은 첫번째 SCSI HDD인 sda의 파티션테이블(파티션들에 대한 정보가 저장되는 디스크영역
)의 raw data 중 일부입니다. 콜론(emoticon 왼편은 파티션테이블상의 위치를 나타내고
콜론 오른편이 데이터입니다. 16진수로 표시되었군요.
================
0x1C0: 01 00 82 FE 3F 20 3F 00 00 00 A2 16 08 00 00 00
0x1D0: 01 21 83 FE 3F 25 E1 16 08 00 C5 39 01 00 80 00
0x1E0: 01 26 0B FE 3F A7 A6 50 09 00 02 DE 1F 00 00 00
0x1F0: 01 A8 85 FE FF FF A8 2E 29 00 D1 32 FA 01 55 AA
================
위의 4줄은 첫번째 하드디스크(sda)의 첫 4개의 파티션(sda1, sda2, sda3, sda4)의 파티션 정보입니
다. SCSI의 경우이기 때문에 IDE의 경우와는 데이터가 조금 차이가 날 것입니다.
대충 몇가지만 살펴보죠
첫줄, 즉 sda1에 대한 내용인 0x1C0 줄을 보면
01 00 82 ... 이런 식으로 나갑니다.
여기서 두번째 00은 sda1이 시작되는 실린더 번호입니다.
세번째 82는 이 파티션의 파일시스템인 Linux swap의 파일시스템타입코드인 0x82가 기록된 것
이죠. 두번째줄, sda2 의 두번째 값은 0x21이죠. 십진수로 고치면 33이네요.
실린더 번호가 0에서부터 시작하니까 34번째 실린더부터 시작하는 것 맞죠?
각 줄의 6번째 값을 보세요. 다음줄 두번째 값 -1 이라는 것을 알 수 있습니다.
따라서 2번째 값은 그 파티션의 시작 실린더 번호 6번째 값은 마지막 실린더 번호가 되겠네
요.--쓰다보니 한이 없넹 emoticon;; 호응도를 보고 계속 연재할지 연중할지 결정해야겠군요.
이름
암호


>> 관련글
1492 [초보가이드] 디스크와 파티션 #0  바즈라  2001.07.26  ....
  답장 RE: [초보가이드] IDE HDD 관련 수정내용  바즈라  2001.07.27  ....
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.76 초 ] 작업시간: [ 0.06 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791062615
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.