오늘 하게된 삽질.. 땀.. 뻘뻘~~

offree의 이미지

오늘 하게된 삽질.. 땀.. 뻘뻘~~

간만에 식은땀 흘렸습니다.

자초지정을 말씀드리자면..(장문이 될 것 같은 느낌.. 길더라도 참으시와요..)

제 노트북에 knoppix 로 데비안을 깔았습니다.(윈도XP와 같이..)
잘쓰고 있는중에 용량이 부족한 듯 하여, 윈도XP의 파티션 하나를 줄여서 리눅스로 써야 겠다. 마음먹고 파일정리를 한후 리눅스를 부팅해서 공간을 설정했습니다.

그런데 이때. fdisk 에서

원래 설정이 hda1 (winXP) , hda2(확장) , hda5 (winXP-E드라이브) ,hda6(linux, /) , hda7(swap) 이었습니다.

hda5 를 지우고 두개로 나누어서 하나는 XP, 하나는 linux 용 으로 쓸려고 했지요.

그런데. fdisk 가 똑똑한 것인지..

hda5 를 지우고 파티션 2개를 추가를 했습니다.

그런데. 자동정렬을 하는지.. hda1 , hda2 , hda5(linux , / ) , hda6(swap) , hda7(winXP,ntfs) , hda8(linux-new partition) 으로 나누지 뭡니까.
별생각없이 w 로 저장하고 나와서 재부팅

헉!! 가만.. hda6 에서 hda5 로 바뀌어도 되나.. 안될것 같은데..
역시나..

Kernel panic: No init found. Try passing init= option to kernel

이때부터 삽질은 시작이 되었습니다.

Kldp 와 google 을 열심히 뒤져가며, 해결 방법을 찾으며 여러시도를 했습니다.

해답은 lilo , fstab , initrd 에 있을 것으로 판단하여 해당 설정을 이것저것 바꾸게 되었습니다.

knoppix Live CD 로 부팅하여, lilo , fstab 을 고쳐주고 lilo 실행. 그런데. knoppix 는 /dev/hda 에 쓸수 없다고(permission deny를 ..^^;;; )

다시.. gentoo Live CD 를 다운받아 시디굽고, 다시 부팅..

다시 수정하고, lilo 실행.. 가슴졸이며 재부팅..

그러나. 계속되는 kernel panic ..

initrd 를 만들어 줘야 한다는 내용이 있어 시도..

mkinitrd -o /boot/initrd.img 2.4.24

헉. 만들수 없다고 함.. ( ^^;; 좌절.. )

거의 포기상태에 있다가..

그럼. 그냥 knoppix 로 다시 깔아 보자.. 우선 부팅은 되게 하고, 살릴 수 있는 방법을 생각해 보자..

다시 설치 , 새로 만든 파티션.. hda8 에 깔기로 했습니다.

다 깔고 부팅.. 부팅은 되지만, 왠지. 허전함. 또 여기서 설정을 처음부터 해주어야 하나.(많이 설정한 것은 아니지만, 다시할려니 싫어지네요..)

그래서 다시 힘을 내어 살릴방법을 모색 .

다시 fdisk 를 보다가.. 이 것이 왜 순서가 바뀌었을까 하는 생각이 들었습니다.
그러다 보니 fdisk 에 expert mode 가 있네요. (x 인가로..)
x 로 들어가니.. expert 모드..

잘 보니.. f ( fix partition order ) 가 눈에 들어오네요.(직감..)

실행.. 그러니.. 실린더 번호 순서대로 정렬이 되네요. 하하 ~~

헉! 그렇게 되면 안되지.. 하는 생각..

hda1 , hda2 , hda5(linux , / ) , hda6(swap) , hda7(winXP,ntfs) , hda8(linux-new partition)

이것이..

hda1 , hda2 , hda5 (winXP ,ntfs ) , hda6(linux-new partition and 새로깐 linux ) , hda7 ( linux , 이전 시스템) , hda8 (swap )

으로 바뀌었습니다.

즉, 원래 hda6 -> hda5 -> hda7 으로 바뀌고, 새로깐 시스템이 hda8 -> hda6
로 바뀌게 된 것이죠.

당연히 재부팅 하면 kernel panic .. ( 왜 건드렸을까.. ^^;; )

다시 gentoo 부팅. 여러시도.. 실패.(kernel panic.. )

오호!! 그럼. hda6(새로깐 시스템) 을 지우자.. 그러면 fdisk 가 정렬을 해주니.
hda7 -> hda6 , hda8 -> hda7 으로 되겠구나.. (잔머리.. )

fdisk 로 hda6 를 지우고, 생각대로 정렬이 되는 군. ^^ w 저장 , 재부팅..

다시 부팅해서 확인해보니.. 이런 일이.. hda6 , hda7 이 있어야 하는데..
hda6 만 달랑. 그것도 새로깔았던 시스템만 남아있었습니다. (분명 지운것은 새로깐 것인데..)

이젠 정말 좌절.. 어찌해야 하나.. 그냥 새로운 맘으로 해야 겠다..

그러던차. 혹시나 하는 마음에. hda7 과 hda8 를 대충 크기가 이랬을 거야 하면서
다시 fdisk 로 만들어 주었습니다.

그리고 mount 해서 확인해 보니.. 헉! 내용이 살아있네요.. (원래 그런가요?)
파티션 크기가 틀리면 안되지 않나..(그럼. 정확히 맞췄다는 것인가?)
정확히 맞췄다고 해도. 지웠다가 다시 만들어 주면, 가능한가??(맞다면, 새로운 것을 알게 되었습니다.)
다음부터는 파티션의 실린더 순서, 번호까지 다 적어놔야 겠습니다.

이제 데이터는 다 살아있다는 것은 확인. 그렇지만, kernel panic 문제는 그대로..(원점이죠.. )

그러던중 df 를 해보면

# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda7 2688044 2257932 293564 89% /
/dev/root.old 2182 341 1841 16% /initrd

부팅하면서 /initrd 에 기본설정(?) 이 되는 듯 하였습니다.(램디스크 형식인가??)

knoppix 는 /boot/initrd.gz 으로 되어있었습니다.

lilo 에서 이것을 지정하면 될것 같은데.. 왜 안될까..^^ 생각하던중.

kernel panic 나기 전에 위 부분에 메세지를 보면..

lilo.conf 에서 hda7 으로 바꾸어 주었는데.

hda6 에 대한 에러가.. mount 나 ext3 에 대한 에러.. (정확히 메시지는 기억이 안나네요..)

아! lilo 도 바꿔줘야 하지만. initrd 자체에도 이전설정이 남아 있구나..
하는 생각이..

그래서 vi 로 보니..

insmod /modules/jbd.o
insmod /modules/ext3.o
mount -t proc proc /proc
echo 256 > /proc/sys/kernel/real-root-dev
umount /proc
mount -t ext3 /dev/hda6 /mnt
/static/pivot_root /mnt /mnt/initrd

이런부분이 있었습니다.
ext3 모뉼을 올리고, proc 를 마운트 하고, / (hda6) 를 마운트 하는구나..
그럼 저것을 고치면.. ^^ ( hda6 를 hda7 으로 고쳤지요..)

아! 바이너리 파일인데 vi 로는 안되겠지.. hexedit 로 수정..

lilo.conf 에 /boot/initrd2.gz 으로 바꾸어 저장.
lilo 실행

떨리는 마음으로 부팅..

짜잔.. 더이상 kernel panic 이 .. ^^ 다시 debian box 를 보게 되었습니다.

감동.. 환희.. 놀란 가슴 한번 쓸어내리고..

교훈!!
1. fdisk 는 조심해서 사용하자..
2. 어떻게든 해결할 방법은 있다..
3. 그외 ..

이상. 삽질기 및 잡담이었습니다.

ps. 기쁜마음에 스샷 하나..

File attachments: 
첨부파일 크기
Image icon 스냅샷7.png620.01 KB
hzone7의 이미지

와우~~ 보람찬 고생이었네요...
한번쯤 해보고 싶네요....나중에 꼭 해봐야지...^^;

아무것도 하지 않으면, 언제까지나 지금 그대로다.

랜덤여신의 이미지

offree wrote:
2. 어떻게든 해결할 방법은 있다..

마음에 와닿는군요. 8)

bh의 이미지

스샷을 보고 리플을 아니달 수 엄써서.. - _ -
머쪄요~ 만세!

--
이 아이디는 이제 쓰이지 않습니다.

offree의 이미지

bh wrote:
스샷을 보고 리플을 아니달 수 엄써서.. - _ -
머쪄요~ 만세!

그렇다면, 전지현을 살리려고.. ( 그건 아니와요. ^^ )

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com