소프트웨어 멀티부팅시 부트로더 설치에 대한 이해..
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 | - | - | - |
1291 | 하드웨어| 27인치... 모니터 ㅡ,.ㅡ;; 무지막지하게 크네요 [21] | Visored | 9967 | 0 | 03-04 |
1290 | 소프트웨어| 윈도우8 간단 사용기 [1] | 커피한사발 | 7181 | 0 | 03-04 |
1289 | 소프트웨어| 얼떨결 윈도우8 잠시사용기. [4] | 오리부인 | 8005 | 2 | 03-04 |
1288 | 소프트웨어| 나도 win8 연습 [8] | 농부 | 8780 | 3 | 03-03 |
1287 | 소프트웨어| Windows Server 8 Beta [3] | 우금티 | 8252 | 0 | 03-02 |
1286 | 하드웨어| 북스캐너 사용기 [2] | 수암 | 9049 | 0 | 03-02 |
1285 | 소프트웨어| Windows 8 Consumer Preview 스크린샷 몇개... [2] | 왕골통 | 6241 | 0 | 03-01 |
» | 소프트웨어| 멀티부팅시 부트로더 설치에 대한 이해.. [3] |
|
11061 | 3 | 03-01 |
1283 | 소프트웨어| Windows 8 Consumer Preview (수정) [7] | 일레시아 | 7010 | 2 | 03-01 |
1282 | 하드웨어| 삼성 슬레이트PC 사용기.. [10] | 이현우 | 7839 | 0 | 03-01 |
1281 | 소프트웨어| Windows 8 Consumer Preview - Build 8250 [16] | Ky-re! | 7160 | 0 | 03-01 |
1280 | 소프트웨어| 안드로이드앱] playerpro-music-player-v2-34 [6] | 번개 | 6519 | 0 | 02-27 |
1279 | 소프트웨어| 어베스트 7.0 후기에요 'ㅅ' [15] |
|
6476 | 0 | 02-27 |
1278 | 소프트웨어| 코분투 11.10 x86.. [19] |
|
7735 | 1 | 02-26 |
1277 | 소프트웨어| Zune Player.. 깔끔하니 좋으네요.. [13] |
|
6957 | 0 | 02-25 |
1276 | 하드웨어| 마하 이스트림 MX-DS FUSION (60G) SSD 구형 노트북 사용기 [2] | cowoo | 7146 | 0 | 02-24 |
1275 | 하드웨어| A-DATA S102 PRO 32GB (USB) [6] | 바수 | 10807 | 0 | 02-24 |
1274 | 하드웨어| 3년 동안을 그놈의 그래픽카드 때문에~ [12] | hwasung | 7433 | 0 | 02-20 |
1273 | 소프트웨어| 별이유없이 부팅이 안될때도 있군요.. [9] |
|
7117 | 0 | 02-17 |
1272 | 하드웨어| 브리즈번 4800+ -> 센디셀 G530 으로 업글. [15] | 한스 | 8523 | 0 | 02-15 |