이 컴퓨터를 구입하여 Ubuntu를 설치하고 싶었습니다. 문제는 내가 3 주 이상 실패했다는 것입니다. 컴퓨터에는 매우 제한된 기능의 UEFI가 제공됩니다. 레거시 로 전환 할 수 없으며 실행을 위해 신뢰할 수있는 UEFI 파일을 선택하는 옵션이 없습니다 . 수행 할 수있는 유일한 작업은 보안 부팅 을 활성화 / 비활성화하는 것 입니다.
이제 문제에 대해 처음에는 자동 모드에서 Ubuntu를 설치 한 다음 수동 파티션을 다른 것으로 시도했습니다 . 두 경우 모두 grub2를 / dev / sda에 설치할 때 설치 가 중단되고 컴퓨터가 중단됩니다.
그런 다음 ubiquity -b를 사용하여 부트 로더없이 설치하기로 결정했습니다 . 이것은 잘 작동하고 아무런 문제없이 설치가 완료되었습니다. 마지막으로 grub-install 사용하여 부트 로더를 수동으로 설치하려고했습니다 . 그리고 여기 같은 점이 있습니다-컴퓨터가 정지합니다.
따라서 문제는 efibootmgr이 UEFI에 새 항목을 등록하려고 할 때입니다. 또한 이것을 실행하여 확인했습니다.
_sudo efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu_
그 후 다시 중단됩니다.
작동시키는 방법은 다음과 같습니다.
부트 로더없이 Ubuntu를 설치하고, UEFI에 새 항목을 등록하지 않고 수동으로 부트 로더를 설치하고, 부트 로더를 / EFI / ubuntu / 에서 / EFI / BOOT / 로 이동 한 다음 이름을 bootx64.efi로 바꾸십시오 . 그렇다면 나는 그것이 효과가 있다고 확신합니다.
다음을 수행하는 방법에 대해 조언 할 수있는 사람이 있습니까?
-
efibootmgr을 통해 새 UEFI 항목을 등록하지 않고 grub-install 을 수행 하여 컴퓨터가 멈추지 않도록합니까?
-
/ EFI / ubuntu /의 어떤 파일 을 / EFI / BOOT에 복사해야하며 어떤 파일 을 bootx64.efi 로 바꾸어야 합니까?
-
이것이 좋은 방법이 아니라면 더 좋은 해결책은 무엇입니까?
조언을 주셔서 감사합니다.
답변
다음과 같이 문제를 해결할 수 있습니다.
-
테스트 모드에서 Ubuntu Live DVD / USB 부팅 및 열린 터미널
-
다음을 통해 부트 로더를 설치하지 않고 설치 프로세스를 실행하십시오.
sudo ubiquity -b
-
Continue testing설치가 끝난 후 누르 십시오.
-
새로 설치된 파일 시스템을
/mnt
다음 에 마운트하십시오 .sudo mount /dev/sda2 /mnt sudo mkdir /mnt/boot/efi sudo mount /dev/sda1 /mnt/boot/efi for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
(여기서 sda2
루트 파티션 sda1
은 EFI 시스템 파티션입니다)
-
다음을 통해 efivar를로드하십시오.
sudo modprobe efivars
-
grub-install
64 비트 버전으로 다시 설치sudo apt-get install --reinstall grub-efi-amd64 sudo grub-install --no-nvram --root-directory=/mnt
-
루트를 변경
/mnt
하고 grub을 업데이트 하십시오sudo chroot /mnt sudo update-grub
-
설치된 부트 로더 이동 및 이름 바꾸기
cd /boot/efi/EFI sudo cp -R ubuntu/* BOOT/ cd BOOT sudo cp grubx64.efi bootx64.efi
-
시스템을 재부팅하십시오.
자세한 내용은 여기에서 찾을 수 있습니다.
답변
먼저 여기에 설명 된대로 문제에 대한 버그 보고서를 제출하는 것이 좋습니다 . 이것이 긍정적 인 결과를 낳을 것이라는 보장은 없지만, 버그보고가 없으면 개발자는 문제를 해결할 가능성이 거의 없습니다.
둘째, 다음 명령을 수동으로 사용하여 펌웨어에 GRUB을 등록하려고했습니다.
sudo efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu
그러나이 명령에는 중요한 매개 변수가 없습니다 -l {filename}
. 또한 필자는 이전 -w
에 필수 옵션으로 본 적이 없으므로 제거해야 할 것입니다. 전체적으로 명령은 다음과 같아야합니다.
sudo efibootmgr -c -d /dev/sda -p 1 -L ubuntu -l \\EFI\\ubuntu\\grubx64.efi
변경 grubx64.efi
하는 shimx64.efi
당신이 확신하는 경우 shimx64.efi
파일이 설치되고 당신이 활성 안전 부팅으로 부팅 할 수 있도록하려면. 기본 OS 설치가 멈 췄기 때문에이 변경이 전혀 도움이되지 않을 것입니다.하지만 시도해 볼 가치가 있습니다.
나머지 부분에 대해서는를 통해 NVRAM 변수를 업데이트하지 않도록 해야하는 --no-nvram
옵션이 있다고 생각합니다 . 이 옵션은 페이지에 언급되어 있지 않지만 유효한 옵션이라고 생각합니다.grub-install
efibootmgr
man
또한 Linux 용 EFI 부트 로더 및 특히 부트 로더 설치 방법에 대한 서브 페이지에서 내 페이지 를 참조하십시오 . 이것들은 이러한 작업의 “너트와 볼트”가 어떻게 진행되는지에 대한 배경 지식을 제공합니다. GRUB 2 이외의 다른 것을 부트 로더로 사용할 수도 있습니다.
기본 파일 이름을 사용하여 부팅하려면, 당신은 모두 복사해야 /boot/efi/EFI/ubuntu
하는 /boot/efi/EFI/BOOT
이름 바꾸기를 grubx64.efi
에 bootx64.efi
그 디렉토리 내에서. 대체 파일 이름을 사용하여 다른 것을 설치할 수도 있습니다. 이것에 대한 한 가지 중요한 경고는 컴퓨터가 이미 Windows (또는 다른 OS)를 부팅하는 경우 작동하지 않을 수 있다는 것입니다. 이 경우 Windows 부트 로더를 GRUB 2 (또는 사용하려는 모든 것)로 바꾸고 Windows 부트 로더를 다른 곳으로 이동하여 Windows 부트 로더를 “도용”해야 할 수도 있습니다.
답변
Sladek90에서 설명하고 Rod Smith의 우수한 웹 사이트에 자세히 설명 된대로 기본 (Windows) 부트 로더를 하이재킹하여 Acer ES1-533에서 Linux를 실제로 설치하고 부팅 할 수 있습니다. 그러나 그럴 필요는 없습니다.
더 나은 방법은 NVRAM에 쓰지 않고 Linux를 설치 하는 것입니다. 거의 모든 배포판이 수행하는 efibootmgr에 의한 쓰기는 시스템을 정지시킵니다 (읽기만 가능).
해결책은 rEFInd 라이브 시스템 (예 : USB 스틱)을 사용하여 부팅하고 UEFI 셸을 열고 bcfg를 사용하여 필요한 UEFI 항목을 생성하는 것 입니다. 예를 들면 다음과 같습니다.
bcfg boot add 2 fs0:\EFI\ubuntu\grubx64.efi "GRUB Loader"
pos에서 GRUB에 대한 부팅 항목을 추가합니다. 2. 재부트하고 F12를 누르면 GRUB (및 Ubuntu) 또는 Windows를 부팅 할 수 있습니다!