3. 바이오스는 시스템에 장착된 디스크들 중 CMOS 에 첫 번째 하드 디스크로 설정된 디스크를 확인합니다. 첫 번째로 설정된 디스크를 확인했으면 해당 디스크의 첫 번째 섹터를(Logical Sector 0, CHS 0:0:1) 읽어들입니다. 이 때 디스크의 첫 번째 섹터는 MBR 입니다.(즉, 바이오스는 첫 번째 디스크의 MBR 을 읽습니다.)

제가 요 며칠 부팅에 관련된 글들을 쓰면서 부팅에 사용되는 디스크를 이야기할 때마다 CMOS(펌웨어) 기준 첫 번째 디스크 또는 CMOS 에서 첫 번째로 설정된 디스크라는 말을 매번 빼놓지 않고 사용했습니다. 아니 왜? 읽기도 힘들게 그냥 첫 번째 디스크라고 하면 될텐데 이놈은 계속 CMOS(또는 펌웨어) 를 강조하는가? 그것도 한 번 정리했으면 됐지 매번? 이번 포스팅에서는 그에 관련된 이야기를 해 보도록 하겠습니다.


자~ 그럼 본격적으로 이야기를 시작하기 전 제가 하나만 여쭤보도록 하겠습니다. "첫 번째 디스크" 하면 무엇이 떠오르시나요? 아마 많은 분들이 아래와 같이 생각하실 겁니다.




그렇죠. 저 녀석도 분명 "첫 번째 디스크" 입니다. 그런데 저 녀석은 정확하게 이야기하자면 윈도우 기준 첫 번째 디스크일 뿐입니다. 이와 같이 "윈도우 기준 첫 번째 디스크" 가 부팅에서 이야기하는 "CMOS 기준 첫 번째 디스크" 가 아닐 수도 있습니다. 일단 이 이야긴 잠시 뒤로 미루고 부팅에서 이야기하는 CMOS 기준 첫 번째 디스크란 건 말 그대로 CMOS 셋업에서 첫 번째 디스크로 설정된 디스크를 의미합니다. 그러니까 아래와 같은 녀석들 말이죠.


* 바이오스의 종류에 따라 CMOS 셋업의 문구나 화면에 차이가 있을 수 있습니다.


이와 같이 CMOS 셋업의 하드 디스크 설정 부분에서 첫 번째로 설정된 디스크가 부팅에서 이야기하는 정확한 첫 번째 디스크이고 제가 지금까지 이야기한 첫 번째 디스크는 바로 저 녀석들을 이야기한 것입니다.


제가 이 내용을 이렇게 강조하는 이유가 뭐냐하면 CMOS 에선 분명 첫 번째 디스크로 설정된 디스크이고 해당 디스크로 부팅도 진행되었는데(즉, 해당 디스크에 분명 시스템 파티션이 있지만) 윈도우에선 첫 번째 디스크가 아닌 경우가 종종 있기 때문입니다. 그러니까 아래와 같이 말이죠.



분명히 쟤들이 첫 번째 디스크가 맞는데 첫 번째 디스크가 아닌(윈도우에서 보기엔) 아무튼 골 때리는 상황인 것만은 분명하죠.(제 예전 시스템도 그랬습니다... -_-) 그렇다면 이건 왜 그러느냐? 일단 아래의 메인보드의 디스크 컨트롤러 구성을 한 번 보시죠.



보시는 것과 같이 메인보드의 디스크 컨트롤러가 단일 구성이 아니라 여러 개의 컨트롤러(칩)으로 혼재되어 있죠. 이렇게 구성이 된 메인보드들 중 어떠한 경우 특정 디스크 컨트롤러에 장착된 디스크들이 다른 디스크 컨트롤러에 장착된 디스크들의 순번을 밀어내고 무조건 앞으로 치고 나와버리는 일이 있습니다.

이게 아니더라도 SATA 와 IDE 가 혼재되어 있는 경우 IDE 가 무조건 앞으로 치고 나오거나 반대로 SATA 가 무조건 앞으로 치고 나오는 경우도 있습니다.

그래서 CMOS 기준 첫 번째 디스크가 윈도우 기준 첫 번째 디스크가 아닌 경우가 생기는 겁니다.

이건 직접 본체를 뜯어서 디스크 순서를 바꾸는 방법 말고는 윈도우와 CMOS 셋업만을 통해서는 어떻게 할 수 없는 문제입니다. 만약 SATA 랑 IDE 랑 자리 싸움하는 거라면...


그러니까 여러분들은 이러한 경우도 있다는 것을 알아두시고 CMOS 에서 첫 번째로 설정된 디스크가 반드시 윈도우에서 디스크 0 이 아닐 수 있다는 사실을 항상 인지하고 계시길 바랍니다. 그리고 이러한 사례들 때문에 제가 글마다 부팅에서 CMOS 기준을 항상 이야기한 것입니다.


아무튼 그래서 앞으로 시스템 파티션이 디스크 0 이 아닌 디스크 1 이나 2, 3 에 위치한 시스템을 보더라도 그냥 그래서 그런가 보다 하시고 웃어 넘기시면 될 듯 하네요. 어쨌든 CMOS 에서 첫 번째로 설정된 디스크가 확실하게 부팅 과정에서 사용되는 파티션이며 해당 디스크의 활성 파티션에 윈도우의 부트 매니저가 설치되어 시스템 파티션이 되는 것엔 변함이 없으니까요. 이번 포스팅은 여기까지 입니다. ^^

 

 

신고
캐플 블로그에 공개된 글은 반드시 원본 글의 링크를 포함시키는 조건으로 자유롭게 이용하실 수 있습니다.
하지만 블로그의 발전을 위하여 되도록이면 링크로 글을 소개해주시길 부탁드립니다. ^^

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -
  1. 2012.01.04 17:42  댓글주소  수정/삭제  댓글쓰기
    비밀댓글입니다
    • BlogIcon CApple 2012.01.04 20:23 신고  댓글주소  수정/삭제
      일단 별다른 명령없이 쉽게 할 수 있는 방법이 ssd 가 오면 간단하게 기존과 동일하게 vhd 를 통해 윈도우만 설치하시고(SSD 에 설치하면 시간이 얼마 걸리지도 않으니까요) [vars] -> [tools] 의 00-VARS Install.cmd 파일을 실행하셔서 vars 를 설치하시면 기존의 백업 파일을 그대로 이용하실 수 있습니다.

      그러니 전에 전체 백업을 진행하셨다면 작업을 마친 후 전체 복원을 한 번 해주시면 예전 윈도우 셋팅 그대로 다시 되돌아 갈 겁니다. ^^
    • 김성운 2012.01.05 09:04 신고  댓글주소  수정/삭제
      정말 감사합니다.^^
    • 케빈 2012.02.04 15:30 신고  댓글주소  수정/삭제
      우선 CApple님의 지식에 감탄을 금할수 없네요^^
      더불어 궁금한게 있어 여쭤봅니다.
      제가 SATA1포트(WD640G)와 SATA2포트(WD1T)에 하드를 두개 연결해 사용중인데요.
      CMOS에서는 올바르게 인식이 되는데 윈도우7를 설치하면 SATA2포트를 디스크0으로 인식하고, SATA1포트를 디스크1로 인식합니다.디스크1을 C(시스템), D, E로, 디스크0을 F, G로 나누어 사용중인데 F드라이브를 포맷할 수 없다고 나옵니다. 이경우 F드라이브에 부팅정보가 있어서 그런가요? 이렇게 디스크0,1이 뒤바뀌어 나오고, F드라이브를 포맷할 수 없는 경우는 어떻게 해결해야 하나요? 그냥 SATA1,2포트의 케이블을 바꿔 끼워야 하는지, 그리고 바꿔 끼운후에는 OS를 다시 설치해야 정상적으로 작동하는지도 궁금하네요.혹시 보시면 꼭 알려주셨으면 합니다.
    • 케빈 2012.02.04 15:42 신고  댓글주소  수정/삭제
      죄송합니다. 한가지만 더 여쭙겠습니다.
      위의 디스크 관리창 그림에는 검정색의 할당되지 않음 영역이 하나도 없는데 저는 디스크0,1 모두 일정부분의 할당되지 않음 영역이 있습니다. 정상적으로 하드분할 및 포맷했던걸로 기억하는데 왜 생긴건지 알려주셨으면 좋겟네요^^
    • BlogIcon CApple 2012.02.04 17:53 신고  댓글주소  수정/삭제
      C: 드라이브가 시스템이시라는 것 보니까 F: 드라이브에 부팅 정보가 있어서 그런 것은 아닌 듯 하네요. 부팅 정보는 무조건 시스템이라고 표시되는 곳에 있습니다.

      혹시 페이징 파일이 F: 드라이브에 있는 것 아닐까요? 가상 메모리 설정 쪽을 한 번 살펴 보시길 바랍니다.

      그리고 SATA1 SATA2 를 서로 바꾸시고 CMOS 에서 HDD 의 순서만 현재와 동일하게 다시 잘 설정하시면 별다른 작업없이 디스크의 순서가 올바로 돌아올 듯 하네요. 안 되면 뭐 어쩔 수 없구요. ㅡ.ㅡ;;;;



      두 번째로 일정 부분 할당되지 않은 영역이 있는 것은 윈도우 7 과 윈도우 XP 의 파티션 할당 규칙(정책)이 달라서 그런 경우입니다.

      윈도우 XP - 디스크의 마지막에 8MB 의 공간을 남겨 둠(동적 디스크 변환 대비용)

      윈도우 7 - 디스크의 시작과 끝 부분에 1MB 의 공간을 남겨 둠(GPT 디스크 변환 대비용)

      요런 특성이 있습니다. 이제 각자의 디스크 관리 툴에서는 이렇게 남겨둔 용량은 자기들이 일부러 그렇게 한 것이니 표시하지 않고 숨겨 두죠.

      하지만 상대방의 윈도우에서 파티션을 나누고 현재 윈도우의 디스크 관리에서 디스크를 살펴보면 자신의 정책과 다른 부분은 그냥 얄짤없이 할당되지 않은 영역으로 표시해 버립니다.

      즉, 윈도우 XP 에서 파티션을 모두 나누고 윈도우 7 의 디스크 관리에서 보면 디스크 끝에 8MB 의 할당되지 않은 공간이 표시되고

      윈도우 7 에서 파티션을 모두 나누고 윈도우 XP 의 디스크 관리에서 보면 디스크의 시작과 끝에 1MB 의 할당되지 않은 공간이 표시됩니다.


      크게 개의치 않으셔도 되고 이게 무지하게 신경쓰이시면 처음부터 사용할 윈도우에서 파티션을 나누시면 됩니다.
    • 케빈 2012.02.04 22:30 신고  댓글주소  수정/삭제
      우선 답글 올려주셔서 너무 감사드립니다.
      그런데 다시 디스크 관리 창을 확인해보니 C:정상(부팅, 페이지파일, 활성, 크래시덤프, 주파티션), F:정상(시스템, 활성, 주파티션)이라고 되어 있네요. 부팅정보는 무조건 시스템이라고 표시된 곳이 있다고 하셨는데 C드라이브에 '부팅'이라고 되어 있고, F드라이브에 '시스템'이라고 되어 있는데 왜 그런거죠? 그리고 C드라이브에 있는 '페이지파일'은 뭔가요? 전 F드라이브에 OS를 설치한 적이 한번도 없는데 왜 F드라이브가 시스템(부팅정보)으로 잡힌건지? F드라이브를 포맷하려고 하는데 그럼 SATA1,2를 바꾸고 윈도우를 다시 설치해야 하나요?ㅜ.ㅜ
      마지막으로 전원키고 윈도우가 시작되기전에 나오는 검정화면의 정보를 확인해보고 싶은데 금방 지나가네요. 볼수 있는 방법이 있으면 알려주세요^^ (얼핏 보기에는 SATA2(F드라이브가 있는곳), SATA5(DVD드라이브), SATA1(C드라이브가 있는곳) 순서로 Auto Detecting 되는 것 같아서요.)
    • BlogIcon CApple 2012.02.05 00:03 신고  댓글주소  수정/삭제
      C: 가 시스템이시라길레 그런가보다 했는데 제가 처음에 생각했던 것이 맞았군요. 부팅 정보가 위치한 파티션이 시스템 파티션이고 윈도우가 위치한 파티션이 부팅 파티션입니다. 자칫 헷갈리기 쉽죠. ^^ 아래의 두 글을 참고해 보세요.

      http://powerwin.tistory.com/42
      http://powerwin.tistory.com/43

      두 번째 글은 특별한 상황을 설명하기 위한 글인데 CMOS 에서 첫 번째 디스크로 설정된 디스크로 부팅한다는 개념만 추려서 파악하시면 될 듯하네요. 케빈님 같은 경우엔 CMOS 기준 첫 번째 디스크가 윈도우에서도 첫 번째 디스크인 상황이니까요.


      아무튼 다시 본론으로 들어와서 현재 CMOS 셋업에서 SATA2 에 달린 1TB 하드 디스크가 첫 번째 디스크로 설정되어 있으셔서 그런겁니다. 부팅에 SATA 포트의 순서는 상관이 없습니다. HDD 순서를 설정하는 부분에서 어떤 디스크가 첫 번째 디스크로 설정되어 있느냐가 중요한 거죠. 이제 그 디스크가 부팅용 디스크로 사용되고 윈도우 설치 위치와는 상관없이 그곳에 부팅 정보(부트 매니저)가 위치하게 되는 겁니다. 이해되시나요?

      http://powerwin.tistory.com/38
      http://powerwin.tistory.com/46


      그럼 이걸 이제 C: 드라이브로 바꾸실려면 현재 님의 상황에선 C: 드라이브를 활성으로 마크한 후 CMOS 셋업에서 640GB 자리 HDD 를 첫 번째 HDD 로 순서를 변경하고 부팅 정보를 C: 드라이브로 옮기면 됩니다.

      활성 파티션은 이미 마크가 되었으니 그 단계는 건너 뛰죠. 그리고 말씀하셨을 때 XP 에서 포맷한 듯한 느낌이 드니 혹시 모를 만일의 사태를 대비하여 bootsect 작업을 하도록 하겠습니다.

      http://powerwin.tistory.com/58

      글을 참고하셔서 bootsect.exe 를 준비하시고(윈도우 7 설치 DVD 의 boot 폴더에도 있습니다. 이건 그냥 참고) 관리자 권한으로 명령 프롬프트를 실행하신 후 다음의 명령을 내려줍니다. (관리자 권한이 무엇인지는 아시죠? http://powerwin.tistory.com/55)

      bootsect /nt60 c:


      이제 C: 드라이브가 위치한 640GB 짜리 디스크를 CMOS 셋업에서 첫 번째 디스크로 설정해야 합니다. CMOS 셋업은 컴퓨터마다 조금씩 다르니 직접 찾으셔야 할텐데요. 위에서 링크로 걸어드린 글 중 두 번째 글에 첨부된 스크린 샷과 비슷한 화면을 적절히 찾아보세요. Boot 머시기를 찾아다니시다 보면 발견하게 될 겁니다. ^^;; 아무튼 거기에서 640GB 짜리 HDD 를 첫 번째로 설정하시면 됩니다.

      이러면 이제 아직 부팅 정보가 현재 C: 인 파티션에 아직 준비되지 않았기 때문에 부팅이 안 될 겁니다. 아무튼 이제 윈도우 7 설치 DVD 로 부팅해야 합니다. 윈도우 7 설치 DVD 로 부팅하셔서 화면이 뜨면 바로 Shift + F10 을 눌러 명령 프롬프트를 실행하고 아래의 명령을 내려 드라이브 문자를 우선 파악합니다.

      diskpart
      list volume
      exit

      그럼 파티션 크기 등으로 현재 윈도우가 설치된 드라이브의 문자를 파악할 수 있겠죠? 드라이브 문자가 아마 윈도우에서 보던 것과는 좀 다를 겁니다. 만약 윈도우가 설치된 드라이브가 D: 드라이브로 파악되었다면 아래의 명령을 내려줍니다.

      bcdboot d:\windows /l ko-kr

      작업이 정상적으로 완료되면 이제 종료하고 바로 재부팅하셔서 부팅이 정상적으로 진행되는지 보세요.

      부팅이 된다면 성공했다고 보시면 됩니다. 부팅 후 정확하게 C: 드라이브로 부팅한 것인지 파악하는 방법은 마찬가지로 디스크 관리에서 C: 드라이브를 살펴보시면 시스템 표시가 C: 드라이브에 나올 겁니다.

      그럼 이제 F: 드라이브는 시스템 파티션으로 사용되지 않으니 포맷이 가능하실 겁니다. ^^

      만약 여전히 F: 드라이브가 시스템이라면 HDD 의 순서가 정상적으로 바뀌지 않은 것이겠죠. 다시 CMOS 셋업을 잘 살펴보세요.


      마지막으로 페이징 파일은 윈도우의 가상 메모리가 위치한 파티션에 페이징 파일 표시가 뜨게 됩니다. 원래 C: 드라이브가 기본 위치이니 크게 신경쓰지 않으셔도 될 듯 합니다.


      p.s 두 번째 글이 여기네요? ㅡㅡ;
  2. 케빈 2012.02.05 20:32 신고  댓글주소  수정/삭제  댓글쓰기
    상세히 알려주셔서 너무 감사합니다.
    전 SATA포트 순서가 부팅순서인줄 알았네요. 말씀하신 CMOS 셋업의 디스크 설정이라는 것이 Boot Sequence 와 동일한 것이죠?
    CApple님 덕분에 많은 걸 알게 되었어요.^^
    그런데 윈도우 시작전에 검은 화면의 내용은 멈춰서 확인하는 방법은 없나보죠. 말씀을 안해주시는 것보니...
  3. 술과고기 2012.09.03 15:25 신고  댓글주소  수정/삭제  댓글쓰기
    좋은 글 잘 읽었습니다. 감사합니다 ^^
  4. cegonisus 2013.06.30 18:54 신고  댓글주소  수정/삭제  댓글쓰기
    좋은 정보 감사합니다.
    궁금증을 풀고 갑니다.
  5. 글쟁이 2017.04.15 09:08 신고  댓글주소  수정/삭제  댓글쓰기
    잘 배워갑니다. Ide 하드 두개였는데 선 위치를 바꿔야겠네요.

댓글을 달아 주세요

- 댓글에선 예의를 지켜주시기 바라며, 블로그지기는 댓글에서 따로 활동하지 않습니다.

* 티스토리 사용자는 여기를 클릭하시면 로그인 됩니다.

BBCode 안내   굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드-Imgur.com