USB에 Ubuntu 15.10을 설치하려고 하면 여전히 기본 HDD에 EFI가 기록됩니다.

USB에 Ubuntu 15.10을 설치하려고 하면 여전히 기본 HDD에 EFI가 기록됩니다.

저는 Windows 10 PC를 가지고 있지만 아이들에게 C 프로그래밍을 가르치려고 하며 이동식 USB 드라이브에 Linux를 설치하려고 했습니다.

PC 설정: 저는 기가바이트 z97x 게이밍 3 마더보드가 장착된 i3를 가지고 있습니다. SSD에 Windows 10이 있고 BIOS에서만 UEFI를 부팅하도록 설정했습니다(보안 부팅은 꺼짐).

BIOS에서 설치 프로그램 USB를 선택하여 UEFI 모드에서 완벽하게 부팅했으며(분명히 UEFI라고 함) UEFI 모드(F12 부팅 메뉴)에서 ubuntu install iso를 사용하여 Linux 노트북의 우분투 배포판에서 dd를 사용하여 생성되었습니다. 괜찮게 부팅됐어요. 다른 USB에 설치하기 위해 설치 드라이브에서 install ubuntu 메뉴 기능을 실행했습니다. 그런 다음 설치자 USB에 나만의 파티션을 설정합니다. 저는 512MB efi 파티션(기본), 27GB ext4 부분(기본), 4GB 스왑 부분(기본)을 만들었습니다.

나는 부트로더를 /dev/sdc에 설치하기로 선택했습니다. 훌륭하게 설치되고 재부팅됩니다.

좋아요... 이제 상황이 조금 이상해졌습니다. 그리고 나는 여기서 내가 뭘 잘못하고 있는지 알 수 없습니다.

F12 bootselector에서 부팅 옵션을 보면 4가지 옵션이 나열되어 있습니다. Windows 부팅 관리자, ubuntu, ubuntu(예, 2개) 및 Samsung 32gb UEFI 부팅(USB 드라이브는 Samsung입니다). Windows를 선택하면 Windows로 부팅됩니다. Samsung 32GB UEFI를 선택하면 여전히 Windows로 부팅됩니다. 하지만 우분투를 선택하면... 32GB USB 드라이브에서 우분투로 부팅됩니다.

더 실망스러운 점은 USB 드라이브를 빼내면 삼성 UEFI 부팅 옵션은 사라지지만 우분투 옵션은 그대로 남아 있다는 것입니다. USB 드라이브를 삽입하지 않은 채 클릭하면 grub 메뉴로 이동하여 부팅되지 않습니다. BIOS에서 이 두 가지 우분투 옵션은 SSD 드라이브 아래에 나열되어 있습니다. 즉, 거기에 설치하지 말라고 특별히 지시했지만 여전히 grub이 설치되어 있습니까?

다행히도 Windows 부팅 관리자를 선택하면 Windows가 계속 부팅되지만 이는 매우 실망스럽습니다. 왜 엉망이 되었나요? Windows 복구에 가서 bootrec를 사용하고 /FixMbr 및 /FixBoot를 모두 수행했지만 우분투 옵션은 그대로 유지됩니다. Grub은 어딘가에 채워져 있는 것 같지만 어디에 있는지 모르겠습니다! USB 드라이브가 내 노트북에서도 부팅되지 않습니다(설치 프로그램은 UEFI 모드에서 제대로 부팅되지만).

내가 뭘 잘못했는지 잘 모르겠습니다. 설치할 때 BIOS 모드가 아닌 UEFI 모드에 있는지 확인했고 부팅 프로그램에서 /dev/sda를 터치하여 HD를 엉망으로 만드는 항목을 선택하지 않았습니다.

Fedora 23은 USB 드라이브에 설치하면 정상적으로 설치되고 UEFI 모드로 부팅됩니다.

도움을 주시면 정말 감사하겠습니다! 감사해요!

답변1

EFI에서 설치할 때 "부트 로더 설치용 장치" 옵션(또는 그것이 무엇이든 간에, 세부 사항을 확인하지 않았습니다)은 무시됩니다. 실제로 작동하는지 확인하지는 않았지만 부트 로더가 어디로 가는지 지정하는 다른 방법이 있습니다. "EFI 부팅 파티션" 또는 "EFI 시스템 파티션"으로 표시된 파티션입니다(용어는 Ubuntu 버전에 따라 다름). "Something Else" 파티션 목록에 있습니다.이론에 의하면,USB 드라이브에 ESP를 표시하고 하드 디스크에 ESP를 표시 해제하는 경우 설치 프로그램은 USB 드라이브에 GRUB 2를 배치해야 합니다. 이것이 실제로 작동하는지 테스트하지는 않았지만~해야 한다일하다.

즉, 또 다른 문제에 직면하게 됩니다. USB 드라이브에서 부팅하기 위해 설명하는 EFI 부팅 관리자 항목은 다음과 같습니다.~ 아니다EFI/ubuntu/shimx64.efiUbuntu가 첫 번째 부트 로더를 저장하는 파일을 실행합니다 . 오히려 해당 옵션은 "폴백" EFI 부트 로더 파일인 EFI/BOOT/bootx64.efi. 이 파일 이름은 이동식 미디어의 "일반" 부트 로더 파일 이름으로 사용됩니다. OS 설치 프로그램이나 기타 외부 매체에는 작동하는 NVRAM 항목이 없을 가능성이 높으므로 OS 설치 프로그램, 응급 디스크 등을 부팅하려면 표준화된 부트 로더 위치가 필요합니다. 따라서 USB 드라이브를 만들려는 경우 모든 x86-64 EFI 기반 컴퓨터에서 부팅할 수 있는 경우 EFI/ubuntu로 복사 EFI/BOOT하고 이름을 바꿔야 EFI/BOOT/shimx64.efi합니다 EFI/BOOT/bootx64.efi. IIRC의 EFI/ubuntu경우 하나 이상의 바이너리에 하드 코딩된 경로가 있으므로 두 디렉터리가 모두 필요하므로 그대로 두어야 합니다 .

또 다른 점: 한 대의 컴퓨터에서만 USB 드라이브를 사용하려는 경우 GRUB를 에 복사하지 않고도 문제를 해결할 수 있습니다 EFI/BOOT. 그러나 일부 EFI는 부팅한 후 항목에 액세스할 수 없음을 확인하면 NVRAM 항목을 정리합니다. 따라서 USB 드라이브를 제거하고 삽입하지 않은 채 부팅하면 ubuntu항목이 손실될 수 있습니다. 이러한 이유만으로도 GRUB를 백업 파일 이름으로 복사하는 것이 바람직합니다.

USB 드라이브를 분리한 상태에서 옵션을 grub>시작하려고 할 때 프롬프트가 표시되는 이유 는 Ubuntu의 GRUB 구성이 ESP(내부 디스크)의 GRUB 바이너리와 Ubuntu 파티션(USB에 있음 )의 구성 파일에 의존하기 때문입니다. 운전하다). 따라서 USB 드라이브가 분리되면 GRUB가 시작되지만 구성 파일을 읽을 수 없으므로 비참하게 실패합니다.ubuntu/boot

답변2

지정한 위치 대신 항상 기본 EFI에 설치하는 grub에서 알려진 버그 1173457을 발견했습니다. 그러나 새로운 UEFI 부팅 메커니즘도 혼란스럽습니다. Ubuntu 부트로더(shim, grub)는 Windows를 덮어쓰지 않고 자체 디렉터리인 /EFI/ubuntu의 EFI 파일 시스템에 저장됩니다. 간단한 해결책은 기본 디스크의 EFI 파일 시스템을 USB에 복사하고 이를 첫 번째 부팅 장치로 선택하는 것입니다. 또 다른 문제는 Ubuntu의 grub이 여전히 보안 부팅이 활성화된 Windows를 부팅할 수 없다는 것입니다. EFI 부팅 메뉴(장치/oses를 선택하려면 전원을 켤 때 일부 기능 키)를 사용하거나 보안 부팅을 비활성화해야 합니다.


1173457의 버그 "목록"에 자신을 추가하십시오("이 버그가 나에게 영향을 줍니까?"라는 질문). 두 번째 사람이 자신을 추가한 적이 없기 때문에 2013년에 제출된 이 버그는 "확인"조차 되지 않았으므로 어쩌면 그럴 수도 있습니다. 왜 고쳐지지 않았는지.

업데이트에 대한 좋은 질문입니다. 하지만 잘못된 ESP로 이동하더라도 이전 버전이 계속 작동하므로 알 수 없을 수도 있습니다.

관련 정보