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 재설치를 해보진 않았습니다.ㅡㅡ;;;

내생각들 | Posted by 민창 2007.09.06 00:48

'야근금지'가 가지는 의미

요즘 너무 정신 없이 살면서 글 쓸 거리를 미뤄두고 있었는데 방금 재미있는 글을 한 편 보고 코멘트정도는 남겨야 될 것 같은 욕망이 불끈 솟아올라 늦은 밤임에도 글을 쓰게 되었습니다.

바로 김창준님의 블로그에 올라온 야근 금지라는 글입니다.
사이냅소프트 라는 회사에서 직원 채용을 진행하면서 이슈가 된 듯 합니다. 프로그램을 개발하는 회사에서 "야근금지"라니...이게 있을법한 일인가요??

제가 사람과 조직, 컨설팅이라는 분야에 요즘들어 부쩍이나 관심을 가지게 된 계기가 바로 "프로그래머도 사람답게 살 수 있다" 라는 내용의 글을 어디선가 본 후 인거 같습니다. 어찌보면 너무 잔인한 말인 것 같기도 하구요. 누군가는 "프로그래머는 어떻게 사는데?" 라며 반문을 하기도 할겁니다.

사실 저도 아직 학생 신분이라 프로그래머가 어떻게 사는지 잘 모릅니다. 하지만 여러 개발자 커뮤니티를 돌아보면 그들의 푸념을 접하기는 생각보다 쉽습니다. 우리나라의 소프트웨어 시장 구조에 대한 비판과 한계에 대한 내용 부터 '야근을 밥먹듯이 한다, 집에 가고 싶다, 팀장이랑 또 싸웠다, 영업한테 당했다, 회사를 결국 그만뒀다' 등의 캄캄한 내용들이 생각보다 많이 있습니다. 그에 반해 '우리회사 너무 좋다, 요즘 살만하다' 이런 내용들은 거의 없죠 ( 하긴 이건 어느 분야의 회사나 마찬가지 일거라 생각됩니다). 왜 그럴까요?

요즘 조직행위론 이라는 수업을 듣습니다. 경영학과쪽 전공 수업인데 이쪽 방면 수업은 처음이라서 약간 긴장이 되지만 내용이 아주 재미있고 교수님도 잘 가르쳐 주십니다. 어제 배운 내용중에 무식한 CEO들은 자신의 회사가 혁신적이지 못한 이유를 직원들의 창의성 및 능력 부족 에서만 찾으려 한다는 내용을 배웠습니다. 그래서 아주 훌륭한 인재채용으로 그 공백을 매꿔 보려고 하지만 채용된 인재도 얼마 가지 못해서 자신의 능력을 발휘하지 못하는 악순환이 계속 되풀이 된다고 합니다. 개인의 창의성에 관한 문제는 단지 개인의 문제만이 아니기 때문이죠. 개인수준의 창의성의 구성요소에서 가장 중요한 부분은 '내재적인 과업 동기' 즉, 개인차원에서 새로운 생각을 끄집에내고 실현해 보려는 욕망인데 구성원들이 이런 motivation을 가질수 있는 시스템과 문화를 회사에서 전혀 만들어 주지 못하기 때문에 회사는 혁신하지 못한다고 합니다.

그런 의미에서 '야근금지'는 현명한 CEO의 모습과 올바른 기업문화 실천을 위한 예를 잘 보여주는 것 같습니다. 이제껏 야근은 프로그래머들에게 너무나 친숙한 그러나 다들 피하고 싶은 그런 문화였울 것입니다. 이것 없이는 아무런 개발도 안 될 것이라 믿고 있을지도 모르죠. 그건 현업에 종사하는 프로그래머들 뿐만 아니라 학교에서 자신의 프로젝트를 진행하고 있는 학생들에게도 마찬가지 입니다. 제가 속해있는 컴퓨터공학과에서 '잔류'라는 학교에서 밤을 샌다는 의미의  단어가 하나의 문화로 자리잡은 것도 그때문입니다. 하지만 이것은 분명 어딘가 잘못된 방식의 문화입니다.

야근을 없앤다는 것은 누군가에겐 매우 불안한 일 일수도 있습니다. 과연 하루에 7~8시간 일해서 뭔가 좋은 결과를 빨리 얻을 수 있을까 같은 불안감이죠. 특히나 기업의 고위층으로 올라갈수록 이런 불안감은 더욱 심해질겁니다. 무언과 빠른 결과를 내고 성과를 보이는것이 그들의 가장 큰 목표이기 때문이죠. 하지만 좀 더 좋은 기업문화에 대한 연구와 실천은 그런 걱정을 어느정도 해결 해 줄 수 있을것입니다. ( 그런 예가 여기에 있습니다. "주당 20시간 근무하는 회사" )

오늘처럼 인터넷을 돌아다니다 보면 가끔 이런 일하기 즐거운 기업을 발견하게 됩니다. 그리고 이런 기업에 정말 입사해 보고 싶다는 생각도 들구요. 아직 진로를 확실히 정하진 못한 저로썬 그런 생각들이 저를 참 헷갈리게도 합니다. 너무 말이 길어졌는데 결론은 좋은 회사들이 많이 많이 생겨나서 바람직한 기업문화가 정착되고 프로그래머도 정말 일하기 좋은 그런 날이 빨리 왔으면 좋겠습니다.
(역시 결론은 시닥하군요..^^ )



댓글을 달아 주세요

  1.  댓글주소  수정/삭제  댓글쓰기 Favicon of http://noq.raybanslunettesdesoleil.com/ BlogIcon lunettes ray ban 2013.04.28 09:50

    슬퍼서 우는거 아니야..바람이 불어서 그래..눈이 셔서, http://noq.raybanslunettesdesoleil.com/ ray ban pas cher..

IT 이야기 | Posted by 민창 2007.08.31 15:47

개발자를 위한 포탈 IBM developerWorks

군대 있으면서 IBM 서버관리를 좀 했더랬습니다. 뭐 대단한건 아니고 그냥 만들어논 백업 스크립트 실행하는게 전부였지만 그때부터 IBM에 관심을 좀 가지게 되었습니다.

한번씩 서버 관련 자료들을 찾아보면서 알게된 싸이트가 하나 있었는데 IBM홈페이지에 있는 '개발자를 위한 포탈' 이라는 메뉴입니다. 정식 명칭은 따로 있는데 바로 "IBM developerWorks" 입니다.

나름 개발을 공부하고 있다는 생각에 ( 실지 개발은 전혀 안하고 있지만..;; ) 리눅스 관련 자료들도 있고 다양한 분야에 대한 자료가 많아서 종종 찾아보는 곳입니다.

전역후에 사이트를 돌아다니다가 'dw대학생 모니터링 모집 공고'를 보고 주저없이 지원하게 되었습니다. 그냥 왠지 IBM이라는 회사가 끌리기도 하고 괜찮은 정보도 많은 site지만 약간은 아쉬운 부분들도 있고 해서 또 다른곳의 사람들도 만날 기회가 될 거 같아서 지원했는데 운좋게 합격을 했습니다.

제가 모니터링 요원이 되서 꼭 그런것만은 아니고 그냥 개발자들이 그리고 개발을 공부하는 대학생들이 참고 하기 좋은 싸이트라 오늘은 소개를 해볼까 합니다.

이 싸이트에는 다양한 분야의 정보들이 많습니다. 메뉴만 해도 그리딩 컴퓨터 분야부터 리눅스와 오픈소스, 자바, 아키텍처등 나름 기본이 되는 입문자료 부터 범접하기 힘든 수준의 자료들까지 잘 정리되어 있습니다.

또한 스포트라이트 코너에서는 제가 좀 존경하는 ( 하지만 아직 만나본 적도 없는 ) 김창준 님의 칼럼이 연재되고 있고 또한 다른 기술적인 자료들 ( ~ 따라하기 , ~ 프로그램 만들어보기 등.. ) 이 업데이트 되고 있어 시간나면(?) 아니면 시간을 투자해서 읽어보면 도움이 될만한 내용들이 많이 있습니다.

대학생들을 대상으로한 커뮤니티도 있는데 아직까지 활성화는 되지 않아서 좀 안타까운 부분이 있지만 모니터링 요원들이 활동이 왕성해지면 차차 개선되지 않을까 하는 생각도 해보구요.

물론  각 메뉴별 맞춤  RSS도 제공하고 있습니다. 그리고 앞으로 괜찮은 포스팅이 있으면 공부도 해보고 결과를 제 블로그에 포스팅도 하고 할 예정 ( 시간이 꼭 나야 할텐데 말이죠..^^;; ) 입니다.

재밌겠죠?

그러니 여러분도 한번씩 방문해 보시고 다양한 자료들 많이들 얻어가세요. 그리고 블로그가 있는 분들은 리뷰블로거도 모집하더라구요( 돈도 주던데 ㅎㅎ ). 한번 시도해 보시는것도 괜찮을 방법일듯 합니다.

저는 요즘 모니터링 요원의 임무로 Second Life 를 시작하고 있습니다. 제 컴이 노트북이다보니 3D가 좀 딸려서 고생은 하고 있지만...되는게 어디야...( 비스타에선 안돼서 XP로 다운그레이드를 했더랬습니다. ;;; ) 좀 사용기 적을만큼 이용해보고 포스팅도 하고 하겠습니다.

마지막으로 요즘 블로그 관리를 너무 안하면서 과연 제 블로그에 오는 사람이 있긴 한가 하는 생각도 해봅니다. 하루하루 올라가는 방문자수는 다들 검색엔진 봇들이 아닐런지...;;;
좀 더 퀄리티가 높은 포스팅으로 여러분들의 방문이 헛되이지 않도록 노력하겠습니다. 꾸벅.

댓글을 달아 주세요

  1.  댓글주소  수정/삭제  댓글쓰기 kate 2007.09.03 13:55

    내가 얻을 껀 별로 없지만 가끔 들르는뎅..
    나는 절대 로봇이 아냐...ㅠㅜ

  2.  댓글주소  수정/삭제  댓글쓰기 kate 2007.09.03 13:56

    홈에버꺼 배너 삭제됐나바 엑스박스뜬다...^^

  3.  댓글주소  수정/삭제  댓글쓰기 Favicon of http://www.dbilove.com BlogIcon 김동철 2007.11.21 23:24

    안녕하세요! 이미지 찾다가~ 구글에서 뜨길래 들려요~
    저 아시죠? dW 2기.. 1조 김동철입니다~
    웹상으로라두 만나서 반가웠어요~ ㅋ