'부팅'에 해당되는 글 2

  1. 2008.10.25 Missing operating system. (3)
  2. 2007.09.18 컴퓨터 부팅 과정 대~충 알아보기 (1)
IT 이야기 | Posted by 민창 2008.10.25 21:33

Missing operating system.

컴퓨터를 하면서 가장 두려운 문장 중 하나는 바로 제목과 같은 "Missing operating system" 따위의 "난 부팅도 해주지 않겠어" 라는 컴퓨터의 단호한 메세지이다. 자주 사용하던 어플리케이션에서 창 하나만 없어져도 되돌려놓지 못하는 ( 좀 보고 찔려라 ) 나의 지인들이 저런 메세지를 본다면... 나에게 전화를 할것이다. 하지만 답이 잘 없다.

최근 멋진 프레젠테이션을 준비할 일이 생겨 Max OS 에서 사용하는 Keynote를 한번 사용해 보고 싶은 욕심이 생겨 졸업한 선배가 사용하던 해킨토시를 다운받아 오늘 랩톱에 설치를 하던 중이었다. 인터넷에 있는 메뉴얼을 따라하는데 잘 안되어서 이것저것 해보다 설치 화면까진 넘어갔는데 디스크 파티션이 제대로 마운트 되지 않아서 진행이 안되었다. 결국 시간관계상 접고 기냥 비스타로 부팅을 할려고 하는데 웬걸. Missing operating system. 아. 망했다. 당황하지 말자. 당황하지 말자. 아. 망했다.

일단 부팅이 안되니 MBR( master boot record ) 이 망했다고 생각했다. 비스타 설치 dvd로 부팅하여 복구 메뉴에서 복구 콘솔을 열어 mbr복구를 시도했다.

X: > bootrec/fixmbr

MBR 이 복구되었다고 했다. 하지만 여전히 똑같은 증상을 보였다.
생각을 좀 했다. 부팅이 되지 않는 경우는 몇가지 있다. MBR 이 망가져서 뭘로 부팅해야 하는지 못찾는 경우와 MBR이 가리키고 있는 파티션에 OS가 없는 경우와 하드가 맛이 간 경우. 하드가 맛이 간 경우는 아니라고 생각했다. 하드가 맛이 간거면 진짜 망한거다. 그러다 갑자기 해킨토시 설치 메뉴얼에서 active 파티션을 바꾸어 준것이 생각났다. 그것이 무슨 의미인지 잘 몰라 검색을 해봤더니.

활성 파티션을 변경하면 컴퓨터가 시작되지 않는다
http://support.microsoft.com/kb/315261/ko

라는 감동적인 문구가 검색되었다. 맥용 파티션을 만들고 그것을 active 시켜준 뒤에 설치를 시도했던 것이 화근이 된 것이다. 그래서 다시 비스타 설치 dvd로 부팅하여 복구 메뉴로 들어가서 복구 콘솔을 실행시킨 뒤.
비스타에는 diskpart 라는 콘솔용 디스크 관리도구가 있다. 다른 windows 에는 있는지 모르겠다. 아마도 fdisk 를 사용하면 될 듯.

X:> diskpart
DISKPART> help ( 명령 한번 읽어보고 )
DISKPART> list disk
DISKPART> select disk 0 ( list 에 나온 것 중에 원하는 번호 선택 )
DISKPART> list partition
DISKPART> select partition 3
DISKPART> active ( 오예 돼라~ )
DISKPART> exit

라고 해준 뒤 재부팅을 하니 나의 아름다우신 비스타님이 다시 돌아왔다. ㅋㅋㅋㅋ
당황하지 말자. 생각 좀 하고 검색 좀 하면 여러분도 고칠 수 있다.
더해서 콘솔과 친해지는 것은 언제든 항상 도움이 된다.
또한 삽질은 기록하자. 그래야 나도 보고 남도 보지.

댓글을 달아 주세요

  1.  댓글주소  수정/삭제  댓글쓰기 kate 2008.10.31 15:45

    그럼...멋진 프레젠테이션을 좀 보여줘봐..^^;;;

  2.  댓글주소  수정/삭제  댓글쓰기 Favicon of http://blog.newrth.kr BlogIcon 지옥 2012.07.25 09:19

    감사드립니다 ㅠㅠ
    Diskpart 로 뭔짓좀 하다가 부팅이 되지 않기에 재설치를 하려 했으나 포맷후 진행이 되지 않아 골을 앓고 있었는데 덕분에 다행 스럽게 진행하게되어 갑사드립니다

  3.  댓글주소  수정/삭제  댓글쓰기 Favicon of http://mid.outletonlinexr.com/ BlogIcon hogan outlet 2013.04.27 17:14

    거꾸로 그 영향한 이런 좌식의 필수적인 요구를 설명한다

IT 이야기 | Posted by 민창 2007.09.18 10:14

컴퓨터 부팅 과정 대~충 알아보기

얼마전 제가 쓰는 노트북에 쿠분투를 깔아 쓰다가 윈도우XP 가 급 필요해서 비스타에서 XP로 다운그레이드를 진행하였습니다. 그러다보니 저의 완소 부트로더였던  GRUB 이 자연스럽게 날아가 버리면서 윈도우즈로만 부팅이 되는 상황이 발생했습니다. 전에 이런적이 한번 있었는데 잘 몰라서 쿠분투를 다시 설치하여 사용했습니다.; ;; 여간 바보같은 일이 아니죠. 그래서 이참에 GRUB 복구와 함께 리눅스 부팅 과정을 한번 알아볼까 하는 생각이 들었습니다.

제일 처음 해본일은 일단 리눅스 컴퓨터 부팅 과정 알아보기!

부팅 과정에 대해서는 제가 설명할것이 아니고 ( 아직 설명할 정도의 이해는..;; ) 역시 IBM DW에 '리눅스 부팅 프로세스 연구'라는 article을 통해서 쉽게(?), 자세히 알아볼 수 있었습니다. ( DW의 저작권도 있고해서 제가 퍼다 나르기는 좀 그렇습니다. ^^;; )

간단하게 설명하자면
--- BIOS ---
먼저 pc의 전원이 켜지면 BIOS 에서 부터 부팅이 시작되는데 BIOS라는 것이 뭐하는 거냐면 ( 급 위키피디아 검색;; )

BIOS refers to the firmware code run by an IBM compatible PC when first powered on. The primary function of the BIOS is to prepare the machine so other software programs stored on various media (such as hard drives, floppies, and CDs) can load, execute, and assume control of the PC[3]. This process is known as booting up.

출처 : http://en.wikipedia.org/wiki/BIOS

결국 여러가지 부팅 가능한 장치( 하드디스크, CD, 플로피디스크 등..) 를 CMOS 라는곳에 정의된 순서대로 사용가능 할 수 있게 머신을 준비시켜 주는 것입니다. 이런 프로세스를 보통 우리가 말하는 '부팅'이라고 한다는 군요. 여기서 준비를 안시켜주면 곤란한 경우가 생기는데요... 저의 예를 들자면 전에 내장 CD롬이 없는 친구의 노트북을 포맷시켜 줄려고 하는데 CMOS에서 USB장치에 대한 부팅을 지원해 주지 않아서 상당히 곤욕을 치룬적이 있습니다.

--- Stage 1 Bootloader ---
BIOS가 만약 하드디스크로 부팅을 가장 먼저 하라고 했다면 다음 순서는 하드디스크의 가장 앞부분 512바이트에 상주하고 있는 MBR(Master Boot Record)로 주도권이 넘어가게 됩니다. MBR에 있는 주 부트로더의 임무는 stage2 부트로더를 찾아서 로딩하는 것이 주 임무 입니다.

--- Stage 2 Bootloader ---
두번째 부트로더 부분이 제가 복구할 GRUB 이나 LILO등과 같은 부트로더 입니다. grub같은 경우는 부팅 가능한 커널의 목록을 디스플레이 해주고 선택된 커널을 로딩하여 줍니다. OS를 작동시켜준다고 생각하믄 되죠. 커널이 로딩되기 시작하면 OS마다 예쁜 로고( 리눅스 같은 경우엔 없는 경우도 많죠..;; )가 팍~ 뜨면서 커널 로딩에 들어갑니다.

--- 커널 ---
커널을 설명하면 글이 길어져서...;;;; ( 이렇게 무식을 대충 때웁니다 );;;;

그 후엔 .... 으로 대체 합니다.

하여튼 중요한건 GRUB 복구 방법인데요.
저 같은 경우는 하드디스크의 파티션이
1. IBM Thinkpad recovery 용 파티션
2. 윈도우 xp
3. 리눅스 swap
4. 리눅스 /
이렇게 나눠져 있었습니다.

그렇다면 보통 Grub은 / ( root ) 파티션이 있는 4번째 파티션에 위치하게 됩니다.

쿠분투는 grub복구가 쉬운데

1. live CD로 부팅한다.
2. 터미널을 실행시켜서 #sudo grub
3. grub> find /boot/grub/stage1 으로 linux 의 root partition을 찾는다.
4. grub> root (hd0, 3) ( 위에서 찾은 root 파티션 )
5. grub> setup (hd0, 3)
6. grub> quit

하면 간단히 grub이 복구됩니다. 그런데 저는 안되더라 이겁니다...ㅡㅡ^
저는 find /boot/grub/stage1으로 나온 결과가 root partition이 아닌 swap 파티션이 나오는 것입니다. 그러니 결과가 계속 root(hd0, 2) 로 나오고 그쪽에다 설치를 한것이죠..;;;;
그래서 grub이 뜰때 직접 (hd0, 3)으로 고쳐주니 부팅이 되었습니다. 아직 왜 grub에서 root(hd0, 2)라는 결과값이 나온지는 파악하지 못했습니다.

대신 고쳐주어야 할 것이 /boot/grub/menu.lst 파일을 열어서 grub을 수동으로 고쳐주면 됩니다.

이상, 오늘은 부팅에 대해 대~~충 알아보았습니다. ㅋ


댓글을 달아 주세요

  1.  댓글주소  수정/삭제  댓글쓰기 Favicon of http://seoltang.com BlogIcon ㄹㅔㅈㅕ 2008.04.12 04:21

    ㅎㅎ 저도 그런일 많이 겪었습니다.ㅋ
    컴퓨터에 우분투와 윈도XP를 설치해 놓고 XP에 문제가 있을시 재설치를 하면 우분투의 부트로더인 GRUB가 사라지는 현상이 있었지요;;
    제가 리눅스를 잘 다루지 못하는지라 GRUB복구법을 열심히 찾아 해보았는데도 별 성과가 없었지요.. 그래서 리눅스 재설치;;;
    나중에 요령이 생기니깐 XP를 고스트를 떠놔서 부트로더 손상없이 XP 재설치 효과를 보니 그런현상이 없더군요..ㅋㅋ (이러니 실력이 안늘지..ㅋㅋ)
    아직도 GRUB 재설치를 해보진 않았습니다.ㅡㅡ;;;