부팅디스크에 관하여...(실제 저장된 정보 순서등..)
글쓴이: blueski / 작성시간: 목, 2004/07/08 - 2:23오후
부팅 디스크를 보며 그런 의문이 떠오르는데요.
1.디스크의 섹터가 나누어 졌다는 것은 로우포맷이 이루어 졌다는 말인가요?
2.그렇다면 시작점은 어떻게 알수 있나요?(물리적으로 다른 표시를 해 두는 건가요?)
3. 어쨌든 섹터가 나뉘어져 있는 상태에서 첫 512바이트는 부트섹터인가요?
4. 화일시스템과 관련된 정보는 위의 512바이트 다음부터 존재하나요?
5. 그렇다면 lilo 는 자체적으로 여러가지 화일시스템을 접근할 수 있도록 만들어 진건가요? (그러니까 각종 커널을 로드하기 위해서는 화일시스템을 이용해야 할테고 그러자면 ext2,ext3, dos 등을 자체적으로 지원해야 할테니까요.)
이상입니다.
잘 아시는 고수님들께 부탁 드립니다. 꾸벅..
Forums:
1번 질문이 이해가 안되구요.2번은 디스크에 보면 시작 포인트를 알려
1번 질문이 이해가 안되구요.
2번은 디스크에 보면 시작 포인트를 알려주는 네모난것이 있는데.. 예를 들면 5.25인치에 가운데 동그라미 옆에 작은 동그라미가 있고, 3.5인치에도 있지요. 이건 확실한건 아니구요.
첫 512바이트가 부트 섹터입니다.
해당 섹터에 부트 프로그램이 있던 없더, 처음 부팅을 하면 해당 디스크의 처음 512 바이트를 읽어와 실행을 시키죠.
일단, 부트 코드가 로드되면, 그 이후부터는 OS 개발자의 맘에 따라 달라집니다.
https://nicesj.com
https://blog.nicesj.com
5번문항 답변
5번 문항 답변입니다.
lilo는 파일시스템을 인지하지 못합니다.
lilo는 커널의 물리적인 위치를 이용해서 로드합니다.(섹터번호라든지)
grub은 파일시스템을 인지합니다.
Re: 5번문항 답변
그렇다면 lilo 를 실행 시킨후에 커널화일을 이곳 저곳으로 이동시키다가 다시 제자리로 (/boot) 옮겨 놓으면 실제 물리적으로 저장된 곳이 바뀔수도 있을것이고 이 경우에는 lilo 가 해당 커널을 불러 오지 못할수도 있다는 말인가요?
1번문항에 대해서
물론 섹터가 나눠진것은 디스크를 사용하기 위해서 초기에 로우포맷이 이뤄진후겠죠...
하지만 섹터가 나눠진것을 근거로 로우포멧을 언급하기는 좀 적절치 않다고 생각듭니다.
로우포멧을 해서 섹터가 나눠지는것은 아니니까요.
Re: 5번문항 답변
네.
lilo 설정을 바꾸고 lilo를 실행 시키는 이유가 거기 있지요.
https://nicesj.com
https://blog.nicesj.com
섹터는 하드디스크의 주소를 표시하는 최소 단위입니다. 하나의 섹터는 51
섹터는 하드디스크의 주소를 표시하는 최소 단위입니다. 하나의 섹터는 512바이트로 되어 있지요. 즉 하드디스크에 저장된 내용을 읽어 올 때에는 512바이트를 한꺼번에 읽어오게 됩니다. 하드디스크는 공장에서 출시될 때부터 로우레벨포멧되어 나옵니다. 고밀도의 하드디스크를 물리적으로 포멧하는 정교한 작업이 집에서 이루어지기는 힘들 것 같습니다.
첫 번째 섹터는 물리적으로 정해져 있을 것입니다. 펌웨어로 수정이 가능할 지는 잘 모르겠습니다.
플로피디스크를 부트디스크로 사용할 경우, 일반적으로 드라이브에서 인식하는 첫번째 섹터를 부트섹터로 인식합니다. 하드디스크의 경우에는 이 첫번째 섹터를 MBR이라고 합니다. 마찬가지로 MBR영역에 부트로더가 위치 할 수 있습니다. 이것도 바이오스나 펌웨어 수준에서 수정가능할지는 잘 모르겠습니다.
화일시스템과 관련된 정보는 파티션 타입에 따라 좀 다릅니다. FAT타입은 바로 다음 섹터부터 사용하고, FAT32의 경우에는 좀 다릅니다..
lilo는 잘 모르겠고. grub의 경우에는 stage1(일반적으로 부트섹터 또는 MBR에 위치하는 파일)이 stage2(grub 쉘)를 로드할 때만 하드디스크의 섹터주소로 로드하고 그 이후부터는 파일 시스템을 인지해서 파일을 로드합니다.
grub.conf파일은 파일시스템을 인지해서 로드하게 됩니다. 그래서 편리하지요.. :)
--------Signature--------
시스니쳐 생각 중..
댓글 달기