[완료] CPU 교체에 따른 커널패닉현상

UnShit의 이미지

얼마전에 메인보드가 고장나는 바람에 메인보드 교체하면서 CPU 도 교체했습니다.

원래 인텔 펜티엄4에 보드 칩셋 i845 였는데
이번에 AMD 64 x2 에 칩셋 nForce 로 바꿨습니다.

페도라 코어7 인데, 부팅시 커널패닉이 나네요.

예상했던 문제지만, 재설치 안하고 해결하는 방법은 없을까요?

---------------------------------

해결방법은

1. 먼저 페도라 라이브 CD 로 부팅합니다.

2. mkinitrd 명령으로 live cd 에 맞는 kernel 버전의 img 파일을 만듭니다.

3. 논리드라이브를 마운트 합니다.

4. /boot 디렉토리에 만든 img 파일을 넣고
커널 버전에 맞는 vmlinuz 파일도 복사합니다. grub.conf 파일을 수정합니다.

5. 만약 현재 설치된 커널버전이 live cd 의 커널버전보다 상위이고,
module 이 없다면 라이브cd 에 있는 /lib/modules 에 있는 것들을 복사합니다.

-----------------------------------

현재 nvidia 그래픽 모듈만 커널 버전차이로 충돌일어나고 나머지는
그럭저럭 복구가 된것 같습니다.

지금 다시 yum 으로 업그레이드 하고 있으니 다시 돌아올것 같습니다.

도움주신분들 감사합니다.

keizie의 이미지

fc7이면 라이브 씨디죠? 적당히 라이브로 부팅해서 강제로 amd64 커널 rpm을 깔아주면 되지 않을까요?

익명 사용자의 이미지

nforce는 2.6에서 기본으로 지원해서 문제가없을탠데
난 amd에 nforce잘쓰고있거든

UnShit의 이미지

질문 내용전달이 이상한가...

Intel 기반 CPU 에 설치된 OS 가 AMD 기반 CPU 에서 자동으로 안바뀐다는 얘기였는데..

당연한 사실인 이 문제를 OS 재설치 없이 해결할수 있는가? 였습니다.

XP에서도 똑같은 현상이 있었지만, 안전모드로 부팅해서 백업은 할수 있었는데

리눅스는 접근할 방법이 없는것 같습니다. 라이브 CD 로 부팅해도 기존 리눅스 파티션을 논리드라이브로 잡아놓아서 mount 가 안되는것 같습니다.

vacancy의 이미지


논리 드라이브로 잡아놓았어도 mount는 됩니다.
hdx(혹은 sdx)1~4 는 primary, 5~ 는 logical partition입니다.

재설치 없이 쓸 수 있느냐 없느냐는 ;;
상황에 따라 달라서 뭐라 못하겠네요. -_-;
제가 fedora를 안쓰다보니 더더욱 ( .. )

아무튼 일단 저렇게 마운트하시고 해결책을 찾아보심이 ..

keizie의 이미지

lvm도 마운트할 수 있는데, 페도라 쓴지가 좀 되다보니 기억이 안 나네요. vg[tab], lv[tab] 등으로 어떤 명령이 있는지 확인해보세요.

doodoo의 이미지

혹시 이런것을 될런지 모르겠는데..일단 제안입니다

rescue 시디(그냥 부투 시디중 rescue메뉴로 부트) 로 부트하여서, 알고 있는 root 파일시스템
으로 부트하고 나서, mkinitrd 를 수행 하는겁니다..

근데..우분투에서는 이것이 mkinitrd 가 아니더군요...

man 8 initramfs-tools 하거나, 혹은 인터넷에서 검색을 좀 하셔서 돌리셔야 할것 같은데...
맨페이지에 보면
HOOK SCRIPTS
Hooks can be found in two places: /usr/share/initramfs-tools/hooks and /etc/initramfs-tools/hooks. They are exe‐
cuted during generation of the initramfs-image and are responsible for including all the necessary components in
the image itself. No guarantees are made as to the order in which the different scripts are executed unless the
prereqs are setup in the script.

이렇게 나오거든요...이 hooks 를 돌리면 된다고는 되어 있는데...일반적인 옛날 방식으로는
mkiniramfs -o initrd.img-`uname -r` `uname -r` 정도로 하면 될것도 같네요...

근데...내가 당했을때는 당최 생각이 안나더니 딴사람이 이경우를 당하니깐 여러방법이 막 떠
오르네요...우짠일일까.... -,.-;

UnShit의 이미지

라이브 CD 로 부팅해서 기존의 논리드라이브 마운트하는데는 성공했습니다.

그리고 doodoo 님께서 말씀하신 방법 비슷하게 mkinitrd 를 해서 img 파일도 만들었는데

부팅하면 여전히 커널 패닉이 나오네요.

이유인 즉슨,

논리드라이브를 마운트할수 없다네요.
/dev/VolGroup00 를 못찾는것 같습니다. 그래서 /dev/root 를 찾다가 못찾아서 패닉이 일어나는거 같습니다.

기존에 있던 커널들로 부팅해봐도 마찬가지로 논리드라이브를 마운트 할수 없다네요.

라이브 CD 로 해서 백업은 가능하지만,
역시 새로 설치하는 수 밖에 없을까요?

예전에 윈도우XP 재설치 할때 이 문제가 있었는데...

부트로더를 MBR 에 설치안하고 /dev/sda3 에 설정해놓고 썼는데 혹시 윈도우 XP 재설치해도
/dev/sda3 에 있는 부트로더가 없어지는건가요???
(그렇다면, Grub 화면이 나올리가 없는데... Grub 화면은 나오고..)

계속 질문하게 되네요...

나름대로 열심히 세팅해놓은 리눅스라서... 밀어버리기 아깝네요.

doodoo의 이미지

허거덕....

/dev/VolGroup00 이것은 lvm 입니다...

lvm 관련해서 다시 복구 하는 방법은 다른 분들께 조금 패스해야 할것 같습니다...

그러니깐....lvm 관련 커널 모둘이 올라와야 한다면 이것이 initrd.img 같은 곳에 있어주어야 한다는 그런
예기 입니다.

하지만 저는 lvm을 안쓰기 때문에 어떤 모듈이 올라와야 하는지 잘 모릅니다...

lsmod 하면 무엇이 있죠? 복구 씨디로 부팅후에요...
"라이브 CD 로 부팅해서 기존의 논리드라이브 마운트하는데는 성공했습니다." 라고 쓰신것을 보면
일단 복구 씨디로 마운트에 성공한것 같은데....이것이 저의 경우에는 /etc/initramfs-tools 아래에 있는
설정 파일인 modules 같은곳에 적어 두어야 할것 같네요..

하지만 페도라는 어떻게 되는지 가물가물 합니다...
/etc/modules.conf 였던가?

doodoo의 이미지

페도라 6 에서 initrd 생성하는 방법을 조금 검색해 봤는데요...

http://dreamegg.tistory.com/tag/USB%20Flash%20Drive
에 보면...

--preload= 라는 옵션을 쓰는것이 보입니다...아까 rescue 씨디로 마운트에 성공핬셨다고 했는데...
바로 그때에 lsmod 하셔서 lvm관련 모듈이 무엇인지 보시고 preload에 적어서 한번 다시
mkinitrd를 수행해 보시기 바랍니다.

여기에 다른 링크가 하나더 있네요..
http://www.fedoraforum.org/forum/showthread.php?t=41706
두번째 sbbills 이라는 사람이 쓴 검증하는 방법을 보시고 확인해 보시기 바랍니다.

bushi의 이미지

x86_64 live CD 로 부팅해서 하드디스크 파티션 마운트.
x86_64 kernel rpm 을 다운로드.
rpm2cpio | cpio -id 로 풀어서 커널 이미지와 램디스크 이미지를 /boot/ 에 복사
/boot/grub/menu.lst 를 수정해서 x86_64 용 커널로 부팅할 수 있는 메뉴 증설.

reboot 후 kernel rpm 을 정상설치.
ix86 kernel 업데이트 때마다 수작업으로 x86_64 kernel 다운로드 설치.

OTL

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.