Mbr 관련하여 질문이 있습니다!

안녕하세요, MBR에 대해서 공부중인 학생입니다.

MBR을 공부해 보니 크게
1.부팅코드(+디스크서명)
2.파티션테이블
3.MBR서명

세가지로 나뉘어있더군요.

제가 어셈블리어는 잘 못해서 부팅코드를 분석은 못해보았지만,
파티션테이블의 첫번째 엔트리를 먼저 분석해 본 결과 아래 그림과 같이 나왔습니다.

[img:2sbcrlut]http://www.linux.co.kr/home2/board/data/cheditor4/1308/lJHCW6oOytfFcgRhZyyhQnU.jpg[/img:2sbcrlut]

일단 첫번째 엔트리는 부팅 가능하다고 되어있구요,
그런데 Starting Sector(LBA)가 표시하는 곳이 2048섹터로 나와있는데,
이 위치로 가서 읽어 보면 원래는 해당 파티션의 부트섹터가 존재해야 하는데 그냥
0으로만 채워져 있더라구요.

왜 다음과 같은지가 궁급합니다.

일단 윈도우에서 헥스에디터로 분석해보면 똑같이 Starting Sector(LBA)가 2048섹터로
되어있고 가보면 NTFS의 부트섹터가 존재합니다.

그런데 리눅스(우분투12.04 64bit, 커널 3.5.1)에서는 ext4의 부트섹터가 존재해야 할 것
같은데 없는데요… 그 이유를 알고 싶습니다.

혹시 MBR코드가 파티션테이블을 참조안하고 알아서 돌아가는 것인건지… 아님 다른 이유가
있는것인지 너무 궁금합니다.

참고로 CHS로도 계산해보았는데 LBA처럼 2048섹터를 가리키고 있었습니다 ㅠㅠ 아시는분
꼭 대답해주시면 정말 감사드리겠습니다!!

첫번째 파티션에 우분투를 설치한 게 확실한가요?

오래된 기억이라 정확하지는 않은데 우분투에서 파티션을 자동으로 잡으면 첫번째가 스왑 파티션이 되는 것 같던데 파티션 속성을 확인해 보면 알 수 있을 것 같네요.

[quote="mikeswlee":1bdfpf7y]첫번째 파티션에 우분투를 설치한 게 확실한가요?

오래된 기억이라 정확하지는 않은데 우분투에서 파티션을 자동으로 잡으면 첫번째가 스왑 파티션이 되는 것 같던데 파티션 속성을 확인해 보면 알 수 있을 것 같네요.[/quote:1bdfpf7y]

먼저 답변 감사드립니다. 그런데 첫번째가 리눅스 파티션인 듯 합니다.
일단 fdisk로 출력한 결과 보여드릴게요ㅠㅠ

[size=85:1bdfpf7y]>fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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
Disk identifier: 0x000b7fb9

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 968910847 484454400 83 Linux
/dev/sda2 968912894 976771071 3929089 5 Extended
/dev/sda5 968912896 976771071 3929088 82 Linux swap / Solaris[/size:1bdfpf7y]

보시다시피 sda1가 2048부터 Start입니다. 참고로 파일시스템은 ext4구요 ㅠ

스왑 파티션은 sda5로 968912896부터 시작이라고 되어있습니다.

그렇기에 스왑 파티션과는 상관없을 것으로 생각이 되네요 ㅠ 그래도 답변 감사드립니다…!!

이상한게 아닙니다.
[url:2bpi9rgp]http://yhcting.tistory.com/entry/Ext4-%EC%97%90-%EB%8C%80%ED%95%9C-%EB%B6%84%EC%84%9D[/url:2bpi9rgp]
위의 사이트를 참조해보시면,
ext4파일시스템자체가 1024바이트의 공간을 포함하고 있습니다.

참고로 리눅스는 부트섹터가 아니라 superblock입니다.

같은 내용인 것 같은데

https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout

에서 보니 layout 섹션에 다음과 같은 설명이 있네요.

For the special case of block group 0, the first 1024 bytes are unused, to allow for the installation of x86 boot sectors and other oddities.

위에 두 분 답변 감사합니다!! 궁금한게 해결되었네요!!ㅠㅠㅠ 감사드립니다~!!