Computer >> 컴퓨터 >  >> 하드웨어 >> 하드웨어

리눅스 테스트로 혹사한 노트북, NVRAM이 읽기 전용으로 전환되다

하드웨어를 한계까지 몰아붙이는 사람이 있다면 바로 저일 겁니다. 2015년 초, 저는 레노버 아이디어패드(Lenovo Ideapad) G50-70을 구입해 오로지 소프트웨어 테스트 전용으로 사용해 왔습니다. 수많은 리눅스 배포판 설치 테스트도 그중 하나였죠. 그리고 2년 반이 지난 지금, 상황에 변화가 생겼습니다.

무슨 일이 있었냐면요. 늘 하던 대로 새 배포판 ISO 파일을 내려받아 USB 메모리에 구운 뒤, 노트북을 재부팅해 외부 장치로 부팅하려 했습니다. 그런데 부팅이 되지 않았습니다. USB 장치 자체가 인식되지 않은 것이죠. 뭐지? 마음에 안 듭니다. 처음에는 데이터 기록에 쓰던 Etcher 프로그램의 특정 버전 문제라고 생각하고 구버전으로 다시 시도했지만 결과는 같았습니다. 다른 USB 메모리로 바꿔봐도 소용없었고, 세 가지 서로 다른 배포판(그중 두 개는 실제로 이 노트북에 설치되어 있는 것들)으로 시도해도 역시 아무 반응이 없었습니다.

원인 추적

이야기는 점점 꼬여갑니다. 당시 어떤 순서로 생각을 정리했는지는 잘 기억나지 않지만, 하드웨어 문제를 의심하기 전에 먼저 소프트웨어 쪽부터 파고들기로 했습니다.

당시 이 노트북의 복잡한 멀티부팅 환경을 관리하던 배포판은 openSUSE Leap 42.3이었습니다. 설치할 때 Secure Boot 지원을 활성화할지 묻는 질문이 나왔던 게 기억났고, 혹시 이것 때문에 시스템이 새 부팅 장치를 거부하는 것은 아닐까 싶었습니다. 사실 서명된 정상 이미지를 가진 다른 배포판들도 있는 만큼 크게 설득력 있는 가설은 아니었지만, 어쨌든 설정을 변경하고 재부팅해봤습니다. 역시 아무런 변화가 없었습니다.

좋습니다. 그래서 멀티부팅 환경 관리를 Kubuntu Zesty로 넘겨보기로 했습니다. openSUSE가 문제의 원인인지 확실히 배제하기 위함이죠. 도움이 되지 않으리라는 예감은 들었지만, 무언가 놓치지 않으려면 천천히 인내심 있게 확인해야 합니다. 이전에 GRUB 및 EFI 복구 튜토리얼에서 보여드린 것처럼 부트로더를 복원하는 방법은 여러 가지가 있는데, 작업 중에 이런 메시지를 발견했습니다.

x86_64-efi 플랫폼용으로 설치하는 중입니다.
변수를 삭제할 수 없음: Interrupted system call
BootOrder에 항목을 추가할 수 없음: Interrupted system call
설치가 완료되었습니다. 오류가 보고되지 않았습니다.

상황이 좋지 않습니다. efibootmgr을 직접 실행해봤지만 같은 오류 메시지가 나왔습니다. 이 시점에서 인터넷을 뒤져 관련 자료를 찾아봤습니다. 이상하게도(혹은 당연하게도) openSUSE 사용자들이 똑같은 문제로 골머리를 앓고 있었고, UEFI 설정을 변경하지 못해 저와 비슷한 좌절을 겪고 있었습니다. 하지만 openSUSE만의 문제는 아니었습니다. Arch, Debian, Fedora 등등, 이름만 대면 다 나오더군요.

문제 해결을 위해 다양한 방법으로 부트 매니저를 수정해봤습니다. efibootmgr도 시도했고, Windows 10에서 bcdedit도 사용해봤습니다. 거기서조차 비슷한 오류가 발생했습니다.

bcdedit.exe /import newbcd /clean
저장소 가져오기 작업에 실패했습니다.
요청이 중단되었습니다.

UEFI 메뉴에서 갖가지 변경을 시도해봤지만, 예상대로 무엇을 하든 재부팅 후에는 변경 사항이 유지되지 않았습니다. NVRAM이 읽기 전용으로 전환된 것처럼 보였습니다.

다음 단계... 그리고 실패

몇 가지 소소한 하드웨어 요술도 시도해봤습니다. 배터리를 분리한다거나, 전원 버튼을 길게 누른다거나 하는 무해한 방법들이죠. UEFI를 다시 플래싱하려고도 했지만, 안타깝게도 BIOS 버전이 동일해서 레노버 유틸리티가 플래싱을 허용하지 않았습니다. 레노버 지원 센터에 연락해 추가 진단 도구를 요청했지만, 돌아온 것은 이미 공개된 KB 문서와 누구나 받을 수 있는 다운로드 링크뿐이었습니다.

BIOS 도구의 구버전을 찾아내긴 했습니다. 검색이 꽤 까다로웠지만요. 하지만 이번에도 유틸리티가 현재 버전보다 오래된 버전으로의 플래싱을 거부했습니다. 강제로 진행할 방법도 찾지 못했습니다. 결국 실패입니다.

이제 어떻게 되나

결국 지금 저는 고정된 구성의, 완벽하게 작동하는 노트북을 갖게 됐습니다. 즉, 새 배포판 테스트에는 사용할 수 없다는 뜻입니다. 물론 실환경 업그레이드 테스트나 각종 소프트웨어 관련 튜토리얼과 주제별 글쓰기에는 계속 활용할 수 있습니다. 사실 새 배포판 설치도 불가능한 건 아닌데, 이건 별도의 글로 다룰 주제이고 꽤 위험하기도 합니다. 나중에 더 이야기하겠습니다. 어쨌든 현재 구성은 그대로 유지되며, 파티션 순서대로 나열하면 다음과 같습니다.

  • Windows 10 Home (/dev/sda5)
  • Xubuntu 17.04 Zesty Zorba (/dev/sda6)
  • Ubuntu 16.04 Xenial Xerus (/dev/sda7)
  • CentOS 7.2 KDE (/dev/sda8)
  • Manjaro 17.0.1 Gellivara Xfce (/dev/sda9)
  • openSUSE Leap 42.3 Plasma (/dev/sda13)
  • Kubuntu 17.04 Zesty Zeus (/dev/sda14)
  • Fedora 25 Workstation GNOME (/dev/sda15)

그러니까 아주 흥미로운 8중 부팅 구성입니다. 일반적인 사람이라면 절대 시도하지 않을 구성이죠. 지난 2년 반 동안 제가 설치한 배포판 인스턴스는 약 200~300개에 달합니다. 여기에 수시로 이루어진 부트로더 업데이트와 부팅 순서 변경까지 더하면, 데이터가 NVRAM에 여러 조각으로 나뉘어 기록될 때마다 작은 메모리 스트립에 마모가 누적됩니다. 대략 천 번 이상의 플래싱이 있었던 셈입니다. 반도체 영역을 벗겨내듯 닳게 만들었고, 이제 전자가 남아있지 않은 상태인 겁니다.

대부분의 기술 애호가(일반인들은 그냥 있는 걸 쓰니 논외)들은 노트북 수명인 3~5년 동안 손꼽을 정도의 설치만 진행합니다. 열 번을 넘기 힘들죠. 저는 이 숫자를 약 두 자릿수 초과했습니다. UEFI 학대로 따지면 300~500 노트북 년에 해당하는 양이고, 이번 작은 참사의 원인도 아마 그럴 겁니다.

이 말은 곧, 당분간 새 테스트 머신을 구입할지 결정할 때까지는 낡은 LG RD510에서 새 배포판 테스트를 진행하겠다는 뜻입니다. Antergos 등 몇몇 배포판 리뷰에서 이미 보셨을 겁니다. 노후 프로세서를 탑재한 듀얼부팅 환경이 되겠지만, 성능 제약과 Nvidia 그래픽 카드의 존재 덕분에 오히려 좀 더 흥미로워질지도 모르겠습니다. 여전히 멋진 것들을 다룰 겁니다. UEFI도 없고, 네트워크 하드웨어 문제도 없을 테니까요. 그래도 철저하고 상세하며 정직한 리뷰를 위해 노력하겠습니다. 물론 새 하드웨어도 반드시 구입할 겁니다. 그럼 다시 고통과 버그와 드라마의 세계로 돌아가겠죠.

한 가지 더 말씀드리면, 제 집필 대기열은 아주 깁니다. 이미 3개월 치 글을 써둔 상태입니다. 그중 일부는 G50이 멀쩡히 작동하던 시절에 완성된 것들이니 참고해주세요. 재미있는 글이 될 겁니다. 그리고 즐거울 겁니다.

결론

이 글을 쓰면서 한 가지 생각이 들었습니다. 펌웨어 플래싱이 잦은 대량 테스트를 진행한다면 Legacy 모드를 사용하는 게 도움이 될지도 모르겠다는 것입니다. UEFI 모드를 포기해야 하지만, 그게 그렇게 나쁜 건 아닐 수 있습니다. 일반적으로 이런 플래시 마모 문제는 공유기에도 적용됩니다. 설정을 변경할 때마다 셀 하나씩 죽어간다는 걸 기억하세요. 어쨌든 G50은 특별한 테스트 케이스가 되었고, 늙은 LG가 화려하게 컴백합니다. 왕좌를 계승할 후계자를 찾을 때까지요. Tux Vivat!

이제 진지한 이야기를 하겠습니다. 다음에 무엇을 해야 할지 좋은 아이디어가 있다면 여러분의 의견을 듣고 싶습니다. 노트북을 분해하고 싶지는 않습니다. CMOS 배터리가 아예 없을 수도 있고요. 노트북을 함부로 건드리면 기기가 벽돌이 될 위험도 있습니다. 온라인 검색은 이미 해봤으니 제발 하지 말고, 정말 개인적으로 뛰어난 기술적 통찰과 전문성을 갖추신 분이라면 이메일로 의견과 팁을 알려주세요. 가능하면 비파괴적인 방법이면 좋겠습니다. 목표는 노트북을 죽이지 않고 NVRAM을 되살리는 것입니다. 많은 의견 부탁드립니다.

감사합니다.