- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[Linux] linux rescue (grub 재설치) 본문
참고 :
네이버 리눅스 유저그룹 : http://cafe.naver.com/linuxcare.cafe
리눅스 한글 문서 프로젝트 : http://wiki.kldp.org/wiki.php/GRUB
* 참고..리눅스한글문서 프로젝트 글에 오타가 마니~있음을 알려드립니다.
Edit by 달걀멘(eggchin@hanafos.com)
이 문서는 윈도우 재설치 혹은 하드 교환후에 grub을 재설치 하려고
삽질을 18번한 충격적인 기억때문에 만들게 되었음을 알려드립니다.
리눅스는 거의 동일하다고 생각됩니다.
하지만..한소리2005에서만 테스트되었으며 다른 운영체계에서는
책임질수 없습니다;;;(ㅠ.ㅠ 저에게 책임을 물으셔도 모릅니당;;저도..초보입니당;;)
아 그리고 틀린부분 있으면 팍팍 지적해주세요
이 문서땜에 삽질하게되면
삽질한사람 무지 열받습니다.;;;;;;
####################################################################
목차
1. 필요한 준비물
2. 사용할 명령어
3. 일반적 리눅스 장치
4. grub에서 사용하는 문법
5. grub.conf 편집하기
6. 간단한 예
####################################################################
[1] 필요한 준비물
한소리 2005 - 1번 설치 시디
[2] 사용할 명령어
linux rescure
chroot /mnt/sysimage
vi /boot/grub/grub.conf
vi /etc/fstab
grub-install /dev/hda
df
[3] 리눅스에서 사용하는 일반적인 장치
IDE방식의 물리적 하드를 장치명은
/dev/hda → 첫번째 물리적(하드 혹은 시디롬)디스크
/dev/hdb → 두번째 물리적(하드 혹은 시디롬)디스크
/dev/hdc → 세번째 물리적(하드 혹은 시디롬)디스크
/dev/hdd → 네번째 물리적(하드 혹은 시디롬)디스크
따라서 총 4개의 장치를 꼽을수 있는것을 알수있습니다.
파티션까지 나눈다면..
그 장치명에 숫자가 붙게 됩니당..
예를 들면 첫번째 물리적하드를 3개의 파티션으로 나누면..
/dev/hda1
/dev/hda2
/dev/hda3
로 구분됩니당..물리적하드는 1개인데
소프트적하드(=파티션)는 3개가됩니다.
마찬가지로
SATA 방식의 물리적 하드를 장치명은
/dev/sda → 첫번째 물리적(하드 혹은 시디롬)디스크
/dev/sdb → 두번째 물리적(하드 혹은 시디롬)디스크
/dev/sdc → 세번째 물리적(하드 혹은 시디롬)디스크
/dev/sdd → 네번째 물리적(하드 혹은 시디롬)디스크
[4] grub에서 사용하는 문법
보통 장치를 둥근괄호'('와 ')'로 표시하게 됩니다.
표시형식은
( <물리적하드명> , <파티션위치> )
로 표시됩니다.
그리고 물리적 하드명과 파티션위치는 0부터 시작되는 숫자로 표시됩니다.
IDE방식의 물리적 하드를 장치명은
/dev/hda → (hd0) → 첫번째 물리적(하드 혹은 시디롬)디스크
/dev/hdb → (hd1) → 두번째 물리적(하드 혹은 시디롬)디스크
/dev/hdc → (hd2) → 세번째 물리적(하드 혹은 시디롬)디스크
/dev/hdd → (hd3) → 네번째 물리적(하드 혹은 시디롬)디스크
파티션까지 나타내면 다음과 같습니다.
/dev/hda1 → (hd0,0) → 첫번째 물리적드라이브, 첫번째 파티션
/dev/hdb5 → (hd1,4) → 두번째 물리적드라이브, 다섯번째 파티션
!! 아직 확인하지는 못했으나;; 제가 SATA가 없어서 확인은 못해봤습니다.
IDE, SATA, SCSI 할 것 없이 무조건 hdx다 된다고 합니다.
/dev/sda1이라고 해서 sd0이 되는 것이 아님에 유의하로고 하더군요
자세한 내용은 알지못해서 모르겠습니다.
[5] /boot/grub/grub.conf 파일
최초로 편집해야 하는 것은
/boot/grub/grub.conf 파일입니다.
이파일을 편집한후에 저장한후 mbr부분에 적재하면 설치는 끝납니다.
우선 파일을 열어 내용을 확인하면 다음과 같습니다.
(일단 첫번째 물리적 드라이브에 리눅스가 깔려있다고 가정하겠습니다.)
# vi /boot/grub/grub.conf
-----------------------------------------------------------------------------------------
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda2
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(<부트가있는물리적하드명>,<부트가있는파티션명> )/grub/splash.xpm.gz
title Haansoft Linux (2.6.9-71hs)
root (<부트가있는물리적하드명>,<부트가있는파티션명> )
kernel /vmlinuz-2.6.9-71hs ro root=LABEL=/
initrd /initrd-2.6.9-71hs.img
title windows
rootnoverify (hd0,0)
chainloader +1
-----------------------------------------------------------------------------------------
라고 나옵니다.
이중 '(<부트가있는물리적하드명>,<부트가있는파티션명>)' 이라는 부분을 수정해 주시면 됩니다.
윈도우같은 경우 동일하게 모두 (hd0,0)으로 표시됩니다.
부트가있는 물리적 하드명과 파티션명을 모르실때는
다음과같은 df명령을 통해서
부트(/boot)의 위치를 아실수가 있습니다.
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda2 6994788 4183256 2456212 64% /
/dev/hda1 99043 6705 87224 8% /boot
none 257672 0 257672 0% /dev/shm
[root@localhost ~]#
[6] 간단한 예
첫번째 물리적 드라이브에 연결된 기존 리눅스하드를
세번째 물리적 드라이브에 연결하고
windows가 설치된 하드를 첫번째 물리적드라이브에 연결하여
사용하고자 하는 경우
[ 변경사항 요점 ]
초기설정 변경부분
/dev/hda1 /boot → /dev/hdc1 /boot
/dev/hda2 / → /dev/hdc2 /
/dev/hda3 swap → /dev/hdc3 /swap
맨처음 한소리2005설치시디1번을 넣습니다.
>boot : linux rescue 라고 입력합니다.
>언어선택에서 English를 누릅니다.
>키보드에서 us를 누릅니다.
>네트워크 부분이 나오는데 필요없는 부분이므로
no를 누르고 무시합니다.
>리눅스가 깔여있는 하드를 검색하여 마운트할수있게 해줍니다.
파일을 변경해야하므로 Continue를 누릅니다.
>쉘창에서 다음과 같은 명령을 칩니다.
# chroot /mnt/sysimage
(리눅스가깔려있는 하드로 마운트됩니다.)
그러면 쉘버전이 바뀌는것을 보실수 있습니다.
>그리고 쉘에서 다음과 같이 명령합니다.
# vi /boot/grub/grub.conf
수정전 -----------------------------------------------------------------------------------------
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda2
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Haansoft Linux (2.6.9-71hs)
root (hd0,0)
kernel /vmlinuz-2.6.9-71hs ro root=LABEL=/
initrd /initrd-2.6.9-71hs.img
title windows
rootnoverify (hd0,0)
chainloader +1
--------------------------------------------------------------- --------------------------
붉을색부분을 부트(/boot)가 있는 물리적하드위치와 파티션을 수정해줍니다.
저는 세번째 물리적 드라이브로 바꾸어서 다음과 같이 수정했습니다.
수정한후 :wq하시면 됩니다.
수정후----------------------------------------------------------- - -----------------------------
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda2
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd2,0)/grub/splash.xpm.gz
title Haansoft Linux (2.6.9-71hs)
root (hd2,0)
kernel /vmlinuz-2.6.9-71hs ro root=LABEL=/
initrd /initrd-2.6.9-71hs.img
title windows
rootnoverify (hd0,0)
chainloader +1
--------------------------------------------------------------- --------------------------
그리고 다시 다음과 같이 명령을 입력합니다.
# vi /etc/fstab
수정전--------------------------------------------------------------------- --------------------
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/hda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 iocharset=cp949,noauto,user,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto iocharset=cp949,noauto,user,kudzu 0 0
-----------------------------------------------------------------------------------------
보시면 스왑파일이 /dev/hda3로 되어있는것을 보실수 있습니다.
이것을 바꾸어 줍니다.
저는 세번째 물리적 드라이브로 바꾸어서 /dev/hdc3로 바꾸어주었습니다.
마찬가지로 수정한후 :wq하시면 됩니다.
수정후--------------------------------------------------------------------- --------------------
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/hdc3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 iocharset=cp949,noauto,user,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto iocharset=cp949,noauto,user,kudzu 0 0
-----------------------------------------------------------------------------------------
그리고 다시 다음과 같이 명령을 입력합니다.
# grub-install /dev/hda
이명령은 시간이 좀 걸립니다.
다운된것이 아니기때문에 걱정하지 마시길바랍니다.
(전 처음에 좀 걱정을 했다는;;;)
다 된후에 재부팅하시면 됩니다.
'★─Programing > ☆─Linux' 카테고리의 다른 글
[Linux] useradd 사용자관리 명령어 (0) | 2007.08.29 |
---|---|
[Linux] mknod 명령어 (0) | 2007.08.29 |
[Linux] 리눅스 LVM 구축하기 (0) | 2007.08.06 |
[Linux] LINUX RAID5 구축 (0) | 2007.08.06 |
[Linux] LINUX RAID1 구축 (0) | 2007.08.06 |