부트로더 #3

파일시스템 전혀 생각 안하고 그냥 되는데로 부트로더만 만들다 보니 이런… 처음부터 다시 해야 한다. 아무래도 기본 구조 및 설계는 해 놓고 시작해 놔야 겠다. 그래! 파일시스템. 파일 시스템을 선정 하려고 여기 저기 검색질 해 봤다. 자체 파일 시스템 쓰는곳도 있고 EXT2 , FAT12/16 도 있다. 윈도우에서 개발하니 FAT 시스템으로 가자!! 흠..

FAT 파일 시스템으로 결정하고, 이젠 뭘 해야 하나??

검색질 하니 FAT16 부트로더가 있다. 좋아~ 이걸 참조해서 만들어 보자!! 음.. 이것 역시 플로피 디스크 이미지를 이용한다. 아놔!~ 난 하드디스크 라고!!!!!! ㅠㅠ 참조해서 테스트 하기 어렵겠다..또 검색질 해서 만들어야겠다. 그래 이왕 만드는 김에 FAT16말고 FAT32 파일 시스템으로 가자~~!!! 난 FAT16 같은 오래된 건 싫다고~~~또, 부트로더에 커널 크기 집어 넣는 따위는 하지 말고, 루트 디렉토리에서 파일을 찾아서 로드, 실행 하게끔 깔끔하게 가자~


부트로더 목표


1. FAT32 파일 시스템을 사용한다.
2. 커널은 루트 디렉토리에서 파일 찾아서 로드한다. (C:\OSLDR.SYS)


갑자기 하기 싫어진다…뭘 이제 뭘 어떻게 해야 할지 모르겠다…ㅠㅠ


맹붕!!~~~~~~~~


우선, 기존 이미지 파일은 첫 부트로더 기념으로 그냥 묵혀 둬야 겠다. Virtual PC로 새 장치 추가 해서 다른 이미지 하나를 만들었다. 이번엔 test가 아니고 정식으로 만들 생각이니깐 BaramOS 라고 이름을 지었다. 의미 없다. 그냥 지금 하고 있는 이 삽질이 그냥 부질없다고 생각이 들고 이리저리 흔들리는 것 같아 아무 생각 없이 바람 이라고 지었다. 흠.. 생성한 이 BaramOS 이미지 파일을 FAT32 파일 시스템 이용할 생각이니 포맷이나 해 두자. 음.. 어떻게 포맷하지??? 어떻게 포맷하냐고!~~ 검색..검색..

흘… MS-DOS 플로피 디스크 이미지 파일 하나 구해서 그걸로 부팅하고 하드디스크 포맷하란다!!~ 아놔 고대적 유물 같은 그 이미지를 어떻게 구하냐고!!!! 다시 검색..검색..휴~~ 윈도우즈 7 에 VHD 파일을 가상 드라이브로 연결해 주는 기능이 있다고 한다. 다행이다! 


Virtual PC 로 이미지 만들어서….

제어판 –> 관리도구 –> 컴퓨터 관리


디스크 관리 에서 오른쪽 마우스 클릭 하면 VHD 연결 메뉴가 나온다. 선택.



흠. 디스크에 이미지 파일이 들어갔다. 디스크 1 에 파일이 들어간 그림이다.



초기화 안됨 이라고 나오네..이건 모냐.. 흠. 디스크 1에 마우스 올리고 오른쪽 마우스를 클릭해 봤다. 디스크 초기화 라는 메뉴가 있다. 선택해 봤다.



MBR(마스터 부트 레코드) ? 우선 이건 모르겠다. 그냥 확인 눌러 버렸다. 초기화 안됨이 온라인 으로 바뀌었네..흠


또 디스크 포맷 해야 하니 오른쪽 마우스 클릭해본다. 음. 근데 새 단순 볼륨 ???이건 모냐!! 선택해 본다. 아 파티션 잡는 거구나.. 아~ 플로피 디스크에서는 없는 파티션이다… ㅠㅠ 하드 디스크 이미지 이기 때문에 파티션을 잡아줘야 하나 보다. 아 귀찮다..새 단순 볼륨 생성 다음 다음 누르다 보니 파티션 포맷이 나온다.



FAT32 로 포맷 해야 하니, 선택하고 할당 단위?? 그냥 기본값으로 볼륨 레이블은 모르겠다. 그냥 다음.



파티션 생성 되었고 포맷도 다 되었다. 다시 마우스 오른쪽 클릭을 해보니 [파티션을 활성 파티션으로 표시] 메뉴가 있다. 아! 파티션 생성했으니, 활성 파티션으로 만드는 거구나.. 선택했다.


디스크1 에서 오른쪽 클릭 하면 VHD 분리가 있다. 분리시켰다.


뭔일이 생겼나~~ 한번 헥사 뷰어로 볼까??.



음.. 첫번째 섹터에 이상한 데이터가 들어 있다. 문자열들을 보면 파티션 이라는 단어가 보이네?? 이건 모지??? 조금전 생성했던 파티션에 대한 정보인가?? 왜 이게 여기 있지?? 아놔 이거 관련해서 공부좀 해놔야 겠다



'프로그래밍 > OS 만들기' 카테고리의 다른 글

OS 만들기 #7 - FAT32  (1) 2013.08.14
OS 만들기 #6 - MBR  (0) 2013.08.14
OS 만들기 #5 - 부트로더  (0) 2013.08.14
OS 만들기 #4 - 부트로더  (0) 2013.08.14
OS 만들기 #3 - 부트로더  (1) 2013.08.14
OS 만들기 #2  (0) 2013.08.14

+ Recent posts