리눅스 부팅할때...
글쓴이: kkojiband / 작성시간: 목, 2003/07/03 - 1:58오후
리눅스 부팅할때 과정을 공부하고 있는데, 책에 이상한 내용이 있어서 올립니다...
책에서 부팅 과정을 설명하는 부분에서 처음 섹션에서 bios 가 bootsect.s 를 0x7c0h 로 읽어들여서 이걸 0x9000h 로 옮기고... 이런 내용이 나오는데요...
두번째 섹션에도 lilo 에 관한 설명이 나오면서 bios 가 boot.b를 0x7c0h로 읽어들여서 이걸 0x9000h 로 옮기고...이런 내용이 또 나오네요...
이게 대체 어떻게 된거죠??
제 생각에는 위의 것은 플로피로 부팅할때이고, lilo는 하드에서 부팅할때 인거같긴 한데...자세한 내용이 없어서 애매하네요...
아시는 분 좀 도와주세요~
Forums:
IBM호환 PC의 부팅과정을 공부하시면 될듯합니다.Boot Con
IBM호환 PC의 부팅과정을 공부하시면 될듯합니다.
Boot Control, Boot Strap으로 검색하시면 많은 자료를 얻을 수 있습니다.
간략히 설명을 드리자면..
플로피로 디스크는 0번섹터가 부트섹터입니다.
BIOS설정이 플로피 부팅으로 되어있다면 플로피의 부트섹터인 0번 섹터의
512bytes를 0x7C00으로 로드하고, 이 부트섹터의 코드는 부팅 이미지등을
특정 위치(예를 들은것처럼 0x9000)에 로드하고 그곳으로 점프해서 실행합니다.
하드디스크로의 부팅은 하드디스크의 0번섹터가 부트섹터가 아닌 MBR입니다.
MBR의 뒷부분에는 하드디스크의 파티션 정보가 있고,
앞부분에는 부트섹터의 코드를 메모리로 로드하는 코드가 있습니다.
(lilo가 이곳에 설치되죠) 예전 lilo가 1024실린더가 넘어가는 곳의 리눅스
부트이미지를 로드하지 못했었던것도 MBR파티션 정보의 실린더 표시를
10bits로 표현하기 때문입니다.
이하 부트섹터가 로드된 다음은 플로피로의 부팅과정과 동일합니다.
가끔은 밥을 굶어도 살 수 있다.
댓글 달기