우분투 10.04 설치하고 업데이트 실행하고, 재부팅했더니 이런 화면이 뜹니다

현재 윈7과 XP, 우분투 10.04를 멀티 부팅으로 사용하고 있습니다.

어제 떠돌이님의 가이드북에 동봉된 우분투 10.04 라이브 CD로 설치하고, 업데이트 창이 하나 뜨길래 업데이트를 한 뒤 재부팅을 하니 사진과 같은 화면이 뜨더군요.
‘이번에도 우분투는 포기해야 하나’ 싶은 생각을 하면서 멍하니 화면이나 쳐다보고 있던 도중, 5분 쯤 지났으려나, 갑자기 우분투 초기 화면이 제대로 부팅되었습니다.
물론 제대로 부팅되니 당장이야 기뻤지만, 앞으로 우분투로 부팅할 때마다 마냥 기다리고 있을 수도 없고, 불안하기도 해서 이렇게 질문 올려봅니다.

CPU에 보안문제가 발견됐다는군요.
Bios 설정 바꾸시거나, 하드웨어 사양을 모오두~ 알려주세요.

Bios 설정은 어떻게 바꾸면 되나요?

그리고 CPU는 Intel COre 2 Quad Q6600, 메인보드는 Intel Q35, 램은 4GB, 그래픽 카드는 지포스 9300GS 씁니다.

cpu 보안, 정확하게 말하면 buffer-overflow attack, 에 관한 이슈입니다. 우선 화면에서 준 메세지와 같이 정확한 정보를 얻기위해 터미널에서 suro /usr/bin/check-bios-nx --vervose 라고 명령해 보세요. 그러면 아마도 자세한 정보를 알려줄 것입니다. NX (non execute) 설정이 바이오스에서 활성화되어 있는지 알 수 있을 겁니다.
그리고 다시 부팅을 하셔서 바이오스 설정에서 NX나 XD혹은 EDB 라고 적혀있는 설정을 활성화 시키시면 해결 될 것 같습니다.

참고문헌.

https://wiki.ubuntu.com/Security/CPUFeatures

ps. 바이오스에서 옵션을 찾을 수 없을경우 motd 모듈의 오류이므로 그냥 지우셔도 됩니다.
sudo rm /etc/update-motd.d/20-cpu-checker

sudo /usr/bin/check-bios-nx --vervose를 명령했을 땐, check-bios-nx: unrecognized option '–vervose’라고 뜹니다.
그리고 그 다음 부분은 이해가 잘 안 가네요, Bios 설정에 진입하는 건 가능한데, NX/XD/EDB라고 적혀있는 설정이 정확히 어디에 위치해 있는 건지도 잘 모르겠구요.;

'–vervose’라고 뜹니다.
‘–verbose’ 입니다

근데 이 CPU 보안 문제는 제가 우분투에서 실행한 업데이트 때문에 발생한 건가요, 아니면 다른 원인이 있는 건가요?

아, 그리고 알려주신 명령어 입력하면 다음과 같은 메시지가 뜹니다.

This CPU is family 6, model 15, and has NX capabilities but is unable to use these protective features because the BIOS is configured to disable the capability. Please enable this in your BIOS. For more details, see: [url:14ntliio]https://wiki.ubuntu.com/Security/CPUFeatures[/url:14ntliio]

근데 위에서 말했듯이, 바이오스 진입이야 할 수 있는데, NX가 구체적으로 뭔지를 모르니 활성화 시키는 방법도 모르겠습니다. 일단 바이오스 내에서 'NX’라는 문구는 못 봤는데…

몇가지 확인 할께요.

  1. VB(VirtualBox) 사용해서 우분투 들어오신 것은 아니죠?
    만일 그렇다면, VB가 아닌 듀어부팅을 이용해서 우분투를 돌려보세요.

  2. grub 문제로 9.10부터 나타나는 문제라고들 하는데, grub을 최신으로 업데이트 해보세요.
    그래도 안되면 grub을 지우시고 다시 설치해보세요.

  3. 설치/업데이트 중 문제로 다시 설치/업데이트 하거나 경고가 나오면, 무시하고 다시 리붓할때 고쳐질때도 있다고합니다.

  1. 멀티부팅으로 우분투 쓰고 있습니다.
  2. 관리자 권한으로 update-grub 실행했는데도 여전히 같은 문제가 생기네요;
  3. 뭐 아직은 이런 일이 없으니…

sudo rm /etc/update-motd.d/20-cpu-checker
이거 한 번 써 볼까요? 뭔가 좀 위험해 보이긴 하는데;

다른곳에 복사해주시고 지워보세요 ^^;
혹시 일나면 라이브 부팅으로 복구해야죠. (복구해도 정상이 아니지만요ㅠㅠ)

지워봤는데 아무 일도 안 일어나네요. -_-;
근데 아무래도 업데이트 때문이 아닌 것 같습니다. 업데이트는 미뤄두고 재부팅했는데 또 그 화면이 뜨네요. NVIDIA 그래픽 드라이버 설치한 것밖에 없는데, 혹시 이게 문제일까요;

그럴 수도 있겠네요.

문제는 많은 제조업체들이 불의의 사고를 막고자 이런 기능을 불가능하게 해놓고, 이용자가 가능하게 해놓는 방법을 만들어 놓지 않았다고 하네요.
(바이오스에 들어가도 설정이 없다고 합니다;)

관련글:
[url:li9wezo1]http://ubuntuforums.org/showthread.php?t=1481459[/url:li9wezo1]

어찌 보면 다행인 것일 수도 있겠네요. (…)
그럼 어떡해야 할까요;

설치한 Nvidia 전용 그래픽 드라이브를 제거하고 기본 공통 그래픽 드라이브를 사용해보심이 어떨까요?

(현재 사용하는데 문제가 있다면요)

NVIDIA 그래픽 드라이버를 지우고, 기본 공통 그래픽 드라이버를 사용하면
화면 효과를 사용 못 하지 않나요 ㅠ_ㅠ;

물론입니다 ;)
저는 Nvidia 문제로 그렇게 사용하고 있습니다… :?

[quote="아스피린":ull002gy]일단 바이오스 내에서 'NX’라는 문구는 못 봤는데…[/quote:ull002gy]
혹시 "NX"만 찾아보셨나요? EDB, XD, Non-eXecute, Execute Disable Bit도 찾아보시기 바랍니다.
CPU 가상화는 막아놓는 경우가 종종 있지만 EDB를 막아놓는다는 것은 (제가 아는 한도 안에서는) 들어본 적이 없습니다.
게다가 OEM메인보드가 아니라면 있을 것 같군요. 메인보드 설명서를 참조해보세요.
참고로 삼성 컴퓨터에는("삼성"과 같은 OEM도 이 옵션이 있습니다) EDB로 표시가 되어있습니다.

그래도 바이오스 옵션에 없다면…죄송합니다 ;)

CPU 가상화는 발견했는데, 다른 건 안 보이네요;
혹시 이거라도 사용함으로 바꿔두면 되나요?

올려주신 스샷 보다가 새로운 생각이 떠올라 올려봅니다.
이 추리(?)는 제 부족한 지식에서 나온 것이기 때문에 고수님들께서 지적해주시면 감사하겠습니다.

  1. 올려주신 컴퓨터 사양에 의하면, 이 컴퓨터는 메모리가 4GB입니다.
  2. 떠돌이님의 책에 들어간 우분투는 32bit입니다.
  3. 32bit에서는 4GB 메모리를 모두 사용하지 못합니다.
  4. PAE 기술이 들어간 커널을 사용하면 4GB 모두 사용 가능합니다.
  5. 따라서 시스템 업데이트에서 커널을 기본 generic에서 generic-pae 커널로 교체합니다.
  6. 리눅스 커널은 PAE 기술을 사용할 시 NX(다른말로 EDB,…)가 반드시 활성화되어 있어야 합니다.
  7. 그런데 Bios에서 NX(다른말로 EDB,…)가 켜져있지 않습니다.
  8. 에러!!!

만약 제 생각이 맞다면 해결방안은 5가지 입니다.

  1. Bios에서 해당 옵션을 찾아 켠다.
  2. 우분투 또는 코분투 64bit를 설치한다.
  3. 메모리를 3.2GB정도만 사용하는 것으로 만족하고 PAE 커널을 설치하지 않는다.
  4. 우분투 9.04 또는 그 이하버전을 사용한다.
  5. Bios 옵션이 없다면 CMOS 덤프 후 파일을 수정해서 가능하게 만든다. 실패하면 바이오스 수리하거나 구매한다.

참고로 이 해결방안은 위에서부터 추천합니다.

부연설명을 하자면…
5. 스샷을 보면 커널이pae인것을 알 수 있습니다.
6. [url=http://en.wikipedia.org/wiki/NX_bit:28e6ztlq]위키피디아 링크[/url:28e6ztlq]의 Linux 부분을 보시면 됩니다.

[quote:28e6ztlq]Some desktop Linux distributions such as Fedora Core 6, Ubuntu and openSUSE do not enable the HIGHMEM64 option by default, which is required to gain access to the NX bit in 32-bit mode, in their default kernel; this is because the PAE mode that is required to use the NX bit causes pre-Pentium Pro (including Pentium MMX) and Celeron M and Pentium M processors without NX support to fail to boot. Other processors that do not support PAE are AMD K6 and earlier, Transmeta Crusoe, VIA C3 and earlier, and Geode GX and LX. VMware Workstation versions older than 4.0, Parallels Workstation versions older than 4.0, and Microsoft Virtual PC and Virtual Server do not support PAE on the guest. Fedora Core 6 and Ubuntu 9.10 and later provide a kernel-PAE package which supports PAE and NX.

NX memory protection has always been available in Ubuntu for any systems that had the hardware to support it and ran the 64-bit kernel or the 32-bit server kernel. The 32-bit PAE desktop kernel (linux-image-generic-pae) in Ubuntu 9.10 and later, also provides the PAE mode needed for hardware with the NX CPU feature. For systems that lack NX hardware, the 32-bit kernels now provide an approximation of the NX CPU feature via software emulation that can help block many exploits an attacker might run from stack or heap memory.[/quote:28e6ztlq]
간단히 말하자면 [quote:28e6ztlq]요즘 리눅스 배포판들은 커널이 PAE 사용의 경우 NX가 필요하며 이에 따라 NX 기술이 없는 이전 펜티엄 프로, 셀러론 M, 펜티엄 M들이 아스피린 님께서 현재 겪고 있는 것과 같이 부팅을 실패하고 있다. 페도라 코어 6와 우분투 9.10부터 그렇다[/quote:28e6ztlq]정도 됩니다.(제가 영어를 잘 못해 오역의 소지가 있습니다.)

못다한 이야기…

  1. Nvidia 그래픽 카드와는 확신은 못하지만 관련이 없어 보입니다.
  2. 커널을 바꾸지 않는이상 NX가 반드시 필요하니 /etc/update-motd.d/20-cpu-checker는 살리시는 것이 좋을 것 같습니다.
  3. CPU 가상화 기술과는 상관이 없습니다.
  4. 인텔 CPU를 사용하신다고 해서 언급하지 않았지만 AMD는 "Enhanced Virus Protection", ARM은"XN"이며 "eXecute Never"로 표기한다고 합니다.
  5. OEM 바이오스가 아니라면 제조사와 모델명을 알려주세요. 사이트에서 설명서를 제공하면 한번 옵션을 찾아보겠습니다.
  6. 아스피린 님께서 요즘 질문을 자주 올리시고 해결하려 노력하시는 것 같아 보기 좋습니다. 우분투 사용자가 늘어 기쁘며 아스피린 님께서도 문제들을 해결해 즐거운 우분투 생활을 하시면 좋겠습니다.