
나는 특별한 상황에 처해 있습니다. 내부 CD 드라이브가 없는 MacBook Pro가 있고 MacOS X(최소 설정)와 Linux(기본 시스템)가 모두 설치되어 있습니다. Ubuntu 12.04로 크로스 업그레이드하는 동안 grub을 엉망으로 만들어 /boot/grub 디렉토리가 기본적으로 비어 있게 되었습니다. 이는 더 이상 노트북에서 Linux를 부팅할 수 없고 grub 구조로만 들어갈 수 있음을 의미합니다.
일반적으로 복구 CD나 USB 스틱으로 부팅하면 되기 때문에 문제가 되지 않습니다. 하지만 불행하게도 MacBook Pro에서는 이것이 불가능합니다(reFIT를 설치했고 부팅을 시도했지만 실패하고 설명서에는 Apple의 EFI가 있다고 나와 있습니다). 펌웨어는 이 상황을 처리할 수 없습니다).
그러나 MacOS X에서는 여전히 Linux 파티션에 대한 쓰기 권한이 있습니다. 이제 /boot/grub 폴더에 필요한 파일을 채우는 방법을 알아내려고 노력했지만 지금까지는 소용이 없었습니다. Ubuntu 12.04의 ISO 이미지에는 내가 찾고 있는 것이 아닌 EFI 폴더가 포함되어 있습니다. 대신 Ubuntu 12.04의 grub 버전에 대한 Normal.mod 파일이 필요합니다. grub 설치 후 이를 추출하기 위해 Ubuntu 12.04의 가상 머신을 설정할 다른 머신이 없으므로 여기에서 이 혼란을 해결하는 방법에 대한 아이디어를 요청합니다.
추신: 이전에 내부 CD 드라이브가 작동 중이었을 때 Linux를 설치했습니다. 이제 사라졌습니다.
답변1
실행 중인 Grub의 버전을 아는 것이 도움이 될 것입니다. Grub1과 Grub2에는 실제로 많은 (종종 짜증나는) 차이점이 있습니다. 여기서 주요 관련 사항은 /boot/grub/menu.lst 파일(grub1) 또는 /boot/grub/grub.cfg(grub2)가 있는지 여부입니다.
이는 컴퓨터를 처음 켰을 때 Grub 메뉴에 표시되는 내용을 제어하는 파일입니다. 일반적인 조건에서는 업데이트 스크립트가 이를 처리하므로 이를 수동으로 편집해서는 안 되지만, 말씀하신 대로 이 상황에서는 불가능합니다. 따라서 이러한 파일을 백업한 다음 적절한 커널 버전에 맞게 수동으로 편집하십시오. 이러한 파일 중 하나만 수정하는 것만으로는 충분하지 않은 경우(당신이 말했듯이 /boot/grub은 대부분 비어 있기 때문에) 다른 시스템이나 드라이브에 동일한 버전의 우분투를 설치한 다음 내용을 복사합니다. 부팅할 수 있을 만큼 구성이 유사하기를 바라지만 이것이 작동할 것이라는 보장은 없습니다.
무엇을 하든 파일을 편집하거나 교체하기 전에 파일을 백업하세요!
답변2
작동하는 CD 드라이브가 있는 다른 시스템에 액세스할 수 있는 경우 knoppix와 같은 일부 Linux 배포판을 사용하여 부팅 가능한 USB를 만들 수 있습니다. 그런 다음 CD에서 머신을 부팅하고 grub을 수정할 수 있습니다.