소프트웨어 멀티부팅시 부트로더 설치에 대한 이해..
2012.03.01 17:33
제가 일전에 osx 를 설치하고 그 파티션을 활성화한뒤 부팅해보니 카멜레온 부트로더가 뜨더군요.
그뒤 리눅스를 설치하고 나니 리눅스의 grub 메뉴가 뜨면서 리눅스, 윈도우, osx 메뉴가 자연스럽게 생겼습니다.
grub.. 상당히 편리한 물건이네요.
어느날 osx 를 사용하다 뭔가 좀 이상해져서 osx 파티션을 밀어버리고 다시 osx 를 깔았습니다.(물론 활성화된상태로)
그다음 부팅해보니.. 웬걸.. grub 메뉴는 보이질 않고, 카멜레온 부트메뉴만 보이네요.
그리고 카멜부트메뉴에는 윈도우만 보일뿐 리눅스는 보이지도 않는군요..ㅠㅠ..
평상시 알기론 grub 이라는게, MBR 에 설치가 된다고 알고 있던 저로서는 이해가 안되는 상황이었습니다.
MBR 에 설치가 되므로 어느 파티션을 삭제하더라도 상관없이 당연히 grub 메뉴가 보여야 하지 않느냐..
하는게 저의 생각이었죠.
그래서 그 의문점을 해결하기 위해 다시 부팅과정을 이해하려고 삽을 들었습니다.. -_-;;
우선, 조금 어려운 얘기일지 모르나 알아두셔야 할내용은...
하드(HDD) 에는 맨첫번째 섹터(512바이트) 에 'MBR' 이란것이 존재하고, 그 MBR 은 부트코드(446바이트) + 각각의 파티션별 정보(파티션 테이블) 로 이루어져 있습니다. 그리고 각각의 파티션에는 첫번째 섹터에 '부트섹터' 라는것이 존재합니다.
가령, 윈도우의 디스크관리자 에서 D 파티션을 활성화 해주면, 디스크관리자는 MBR 의 'D 파티션 테이블정보' 에서 활성화 옵션을 ON 시켜주게되고, 실제 부팅시에는 MBR 의 부트코드가 ON된 파티션정보를 읽고 활성화된 파티션을 찾아가서 '부트섹터' 를 읽어서 부트매니저를 불러오게되죠. 즉, D파티션에 설치된 윈도우의 부트매니저(BootMgr) 가 실행된다는 얘깁니다.
그리고, OS 가 설치되면 그 OS 는 자신을 부팅하기 위해, 일종의 작업(?) 을 하게 됩니다.
즉 MBR 의 부트코드 를 자신의 OS 에 맞게 고치고, MBR 의 파티션 테이블에서 활성화 옵션을 줘서 자신을 부팅하게 하는거죠.
그리고 활성화된 파티션의 부트섹터에 코드를 심어서 부트로더를 불러오게 합니다.
윈도우의 bootsect.exe 가 이역할을 하는거겠죠.
부트로더는 다 아시다시피 부팅될때 자신의 OS 에 있는 커널을 불러들여 운영체제를 시작하게 하는 역할을 하는것인데요.
예를들어,
XP 계열 : NTLDR (부트매니저+부트로더)
win7 계열 : BootMGR -> Winload.exe <-- 부트매니저와 실제로더가 분리되었죠.
Linux : Grub (부트매니저 + 부트로더)
OSX 해킨계열 : 카멜레온(부트매니저+부트로더) 등등이 있습니다.
이 부트로더들의 위치는 통상 os 를 설치했을때 그 OS 가 설치된 파티션에 같이 위치하게 됩니다.
즉, 제가 앞에서 얘기했던 'grub 이 MBR 에 설치된다' 고 하는얘기는,
'MBR 의 부트코드영역에 코드를 심고(이것을 전문용어로 Stage1 부트로더'), 그다음, 활성화된 파티션에 있는 부트섹터에 코드를 다시 심어서,
부트섹터의 코드가 grub 로더(Stage2 부트로더) 를 불러와서 메뉴를 띄운다' 는게 정확한 얘기가 되네요.
윈도우도 이와비슷합니다(bootsect.exe).
그래서 제가 활성화 되어있는 OSX 파티션을 밀고 다시 깔았을경우,
이 파티션의 부트섹터에 있는 코드(여기선 grub 코드) 가 지워지고 대신 카렐레온 부트로더를 불러오는 코드가 부트섹터에 자릴잡는다 는 얘기죠.
그래서 grub 메뉴대신 카멜메뉴가 떴던 겁니다.
물론 다시 살리면 됩니다. 리눅스 설치시디로 부팅해서 grub 을 다시 인스톨하면 그 활성파티션의 부트섹터를 고쳐주겠죠.
문제는 그게 아니라, osx 를 다시 설치했을때 이 grub 메뉴가 지워지지 않고 실행되는 방법이 없느냐 하는게 관건입니다.
그해답은 바로..... '각각의 파티션에 OS 를 설치할때 활성화 옵션을 먼저 주고 설치한다.' 였습니다.
즉, 윈도우나 리눅스, osx 를 설치할때, 그때마다 그 파티션을 먼저 활성화 옵션을 주게되면, 각각의 파티션에 있는 부트섹터가
자신의 os 에 맞는 부트로더를 불러오도록 고쳐지겠죠.
그다음 설치를 끝낸뒤
자신이 원하는 로더를 실행시키고자 할경우, 활성화만 따로 시켜주면 됩니다. grub 메뉴를 보고싶다면 리눅스 파티션을 활성화해서
부팅하면 되고, 카멜부트메뉴를 보고싶다면 osx 파티션을 활성화해주고 부팅하면 되죠..
물론 다시 설치하고자 할땐 그 파티션을 포맷해서 활성화 한뒤 설치하면 됩니다.
얘기가 상당히 어려웠는지 모르겠군요.
이해를 돕기위해 그림까지 고쳐서 넣었는데.. 멀티환경을 구성하고자 하시는 분들은 도움이 되었으면 하는 바램입니다.
댓글 [3]
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 사용기/설치기 이용안내 | gooddew | - | - | - |
1418 | 소프트웨어| W8 @ AMD보드 + 무선키보드 트러블 [5] | 오펜하이머 | 5030 | 0 | 08-29 |
1417 | 소프트웨어| 윈도우 8 Pro K 인증까지 다 했는데 시스템 등급이 안되네요. [12] | 은지아범 | 10406 | 0 | 08-28 |
1416 | 소프트웨어| 윈도 8 프로 전화 인증 후 미디어센터.... [9] | 미래로 | 7460 | 0 | 08-27 |
1415 | 소프트웨어| VMware 설치 오류 msi [13] |
|
10948 | 1 | 08-26 |
1414 | 소프트웨어| VMware 윈도우8 미디어센터 사용기 [2] |
|
11853 | 1 | 08-26 |
1413 | 소프트웨어| 컴퓨터 최소구성으로 인터넷 하기 [6] | 세리아 | 7262 | 3 | 08-24 |
1412 | 소프트웨어| 윈도우8 Bios Update 후 인증 문제 없음 [8] | 천경지위 | 10023 | 1 | 08-24 |
1411 | 소프트웨어| 윈도우8 이틀 사용기... [2] | 루트원 | 9127 | 1 | 08-23 |
1410 | 소프트웨어| 윈도우 8 간단한 후기입니다. [1] | K´9999 | 8072 | 2 | 08-23 |
1409 | 하드웨어| 마우스 우클릭시 미리보기 메뉴가 보이시는지요??? [4] | 낙엽 | 6176 | 1 | 08-23 |
1408 | 소프트웨어| 윈도우 8로 모두 깔았습니다.. 너무 좋습니다 ^ ^ [15] | 비상 | 9427 | 1 | 08-23 |
1407 | 소프트웨어| 윈도우 7 과 8에서 라이브메신저 설치안되시는 분들 [5] | ojhcn | 6251 | 1 | 08-22 |
1406 | 하드웨어| OCZ SSD Vertex2 120G 를 1년5개월정도 쓰고 처음 A/S를 보... [10] | Star★Bros | 6761 | 1 | 08-22 |
1405 | 소프트웨어| 영문버전에 한글팩 보다는 역시 오리지널 한글버전이 제대... [3] |
|
6857 | 1 | 08-22 |
1404 | 소프트웨어| 윈8 프로 64bit에서 쵸코 플레이어 실행이 안되네요 [6] | 타이푼 | 8227 | 0 | 08-20 |
1403 | 소프트웨어| 윈도8 엔터평가판 리셋 관하여 [4] |
|
8453 | 0 | 08-20 |
1402 | 소프트웨어| 넷북에서 윈도우8 사용기 [5] | 고맙쥐 | 7223 | 0 | 08-20 |
1401 | 소프트웨어| 역시 호환이 문제네요 [9] |
|
5796 | 0 | 08-20 |
1400 | 소프트웨어| 윈도우8 EnterP-평가판 Rearm 리셋 관련... [2] | 이현우 | 6957 | 0 | 08-20 |
1399 | 소프트웨어| 윈도 8 설치해 보고 느낀 점........ [14] | 미래로 | 6415 | 1 | 08-20 |