소프트웨어 멀티부팅시 부트로더 설치에 대한 이해..
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 | - | - | - |
1305 | 소프트웨어| sUL 1.0 에디션 사용기 개인적인 문제점만 적어볼랍니다. [3] | 미나즈 | 5586 | 0 | 03-30 |
1304 | 하드웨어| GA-880GA-UD3H 메인보드 관련 및 패트로 PRYO 120G관련 설치기 [7] | 굿듀님스토 | 6353 | 0 | 03-30 |
1303 | 소프트웨어| UltraIso 로 4기가 이상 usb에 부팅 이미지 만들기 실습 [15] | 884 | 23078 | 5 | 03-26 |
1302 | 하드웨어| 원fast 쥐포스450사용기 [3] | 미니100 | 6360 | 0 | 03-24 |
1301 | 소프트웨어| OS파티션 이동은 hdclone이 잘되네요. [9] | 오펜하이머 | 14097 | 0 | 03-18 |
1300 | 하드웨어| Seagate 1TB platter 채용 제품 (ST1000DM003) [9] | boeving | 9775 | 1 | 03-17 |
1299 | 소프트웨어| 윈도우8 실사용 2주일후 |
|
12931 | 2 | 03-12 |
1298 | 소프트웨어| Easy BCD 2.12 로 리눅스 부팅메뉴 추가.. |
|
9582 | 1 | 03-12 |
1297 | 소프트웨어| 파티션관리의 종결자.. Paragon Hard Disk Manager [6] |
|
13358 | 5 | 03-11 |
1296 | 하드웨어| 4.8기가 실사용클럭 [10] | Star★Bros | 8781 | 0 | 03-10 |
1295 | 하드웨어| 레노버 z575 a8-3520m 노트북 간단 사용기 [5] | 미니100 | 9400 | 0 | 03-06 |
1294 | 소프트웨어| windows 8에서 다중 모니터 쓸 때 [2] | 성이아빠 | 6954 | 0 | 03-05 |
1293 | 소프트웨어| 멋진 자신만의 PE 를 만들어보세요.. [5] |
|
9559 | 1 | 03-05 |
1292 | 하드웨어| 삼성 슬레이트PC 윈도우8 설치/사용기.. [4] | 이현우 | 10515 | 0 | 03-05 |
1291 | 하드웨어| 27인치... 모니터 ㅡ,.ㅡ;; 무지막지하게 크네요 [21] | Visored | 9967 | 0 | 03-04 |
1290 | 소프트웨어| 윈도우8 간단 사용기 [1] | 커피한사발 | 7181 | 0 | 03-04 |
1289 | 소프트웨어| 얼떨결 윈도우8 잠시사용기. [4] | 오리부인 | 8004 | 2 | 03-04 |
1288 | 소프트웨어| 나도 win8 연습 [8] | 농부 | 8780 | 3 | 03-03 |
1287 | 소프트웨어| Windows Server 8 Beta [3] | 우금티 | 8249 | 0 | 03-02 |
1286 | 하드웨어| 북스캐너 사용기 [2] | 수암 | 9049 | 0 | 03-02 |