OP는 "기존 Ubuntu 설치를 건드리지 않고"라고 묻습니다. 외부 장치에서 부팅하려면 Ubuntu를 설치하는 것이 아니라 내부 드라이브의 부팅 파티션을 다시 작성하고 외부 장치에 EFI 부팅 파티션을 설치하지 않는 설치 프로그램 버그를 해결해야합니다. 설치 프로그램에 알려줍니다.
우분투 18.04, 18.10 및 19.04에서 나를 위해 작동하는 것은 다음과 같습니다. ThinkPad T480 & P50, 듀얼 부팅 Win 10 & Ubuntu에서 테스트되었습니다. 레거시 부팅을 해제했습니다. UEFI가 100 % 사용 중입니다. 내 솔루션을 사용하여 Ubuntu 및 부트 로더를 USB 스틱 및 드라이브에 6 번 이상 설치했습니다.
Ubuntu 설치 프로그램은 EFI 파티션의 대체 위치를 지정하려는 시도와 상관없이 내부 하드 드라이브의 첫 번째 EFI 파티션을 사용하므로 두 번째 드라이브에 설치하기가 쉽지 않습니다. 따라서 부트로드 장치를 대상 USB 드라이브로 설정하려고하면 무시됩니다. 꽤 오래된 버그이지만 19.04 릴리스로 향할 때 여전히 존재합니다.
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1396379
요약 :이 문제를 해결하려면 설치를 시작하기 직전에 gparted를 사용하여 플래그를 편집하여 내부 EFI 파티션을 비활성화하십시오. 그런 다음 설치 관리자가 찾지 못하고 버그가 발생하지 않습니다. 나중에 플래그를 다시 활성화하십시오. 이것은 사소한 단계입니다. 내부 드라이브를 물리적으로 분리하는 것과 거의 논리적으로 동일하며 설치 프로그램 버그를 해결하는데도 도움이됩니다.
내가 취한 단계 :
설치를 시작하기 전에 :
표준 우분투 라이브 USB 장치와 대상 드라이브가 필요합니다.
"먼저 시도"모드에서 Ubuntu 라이브 USB로 부팅하십시오.
gparted 사용 (먼저 설치해야 할 수도 있습니다 .18.04.1에 포함되어 있지만 Ubuntu가 라이브 디스크에 포함하지 않는 경우가 있습니다) : ...
- GPT 파티션 테이블로 대상 외부 드라이브를 다시 파티션하십시오.
500MB 파티션 유형을 FAT32로 만듭니다. 우분투 설치를 위해 원하는 파티션을 설정할 수도 있습니다. 설치할 때 내부 드라이브, 라이브 이미지 설치 프로그램 드라이브 및 대상 드라이브의 세 가지 드라이브가 있으므로 원하는 / 파티션 레이블을 지정하는 것이 편리 할 수 있습니다.
이러한 업데이트를 적용한 후 방금 만든 작은 500MB 파티션에서 플래그를 변경하십시오. 작은 파티션을 마우스 오른쪽 버튼으로 클릭하고 플래그 관리를 클릭하십시오. 이러한 변경 사항은 즉시 수행되지만 (이전 단계를 완료하여 실제로 파티션을 먼저 만들어야합니다.) 부팅, esp 및 숨김을 설정하려면 선택하십시오.
설치
일반적인 우분투 설치에 따라 라이브 디스크 USB 이미지로 부팅했습니다. 따라서 대상 장치와 라이브 디스크 USB 드라이브의 두 가지 USB 장치가 있습니다.
내부 드라이브에서 EFI 파티션 플래그를 편집하고 대상 장치 EFI 파티션에서 설정 한 것과 동일한 세 개의 플래그를 선택 해제하십시오.
다음은 gparted에서 플래그 편집을 수행하는 짧은 비디오입니다. https://youtu.be/sdgrmylH6pc
이제 설치하면 설치 관리자가 대상 장치에 하나의 EFI 파티션 만 표시합니다. 이것은 내가 다른 곳에서 문서화하지 않은 새로운 단계입니다.
우분투 설치를 시작하십시오. 설치 프로그램의 디스크 설정 탭이 표시 될 때까지 진행하십시오. 물론 파티션 단계에서 "다른 방법"을 완전히 수동으로 접근해야합니다.
대상 드라이브가 sdc로 마운트되고 만든 EFI 파티션이 sdc1이면 부트 로더를 장치 sdc에 설치하고 EFI 파티션은 sdc1이됩니다.
해당 파티션을 찾으려면 스크롤하십시오. 유형 열에 "efi"라고 표시되어야합니다. "변경"을 클릭하여 다음을 확인하십시오. 설치 프로그램에 "다음으로 사용 : EFI 시스템 파티션"이 표시되어야합니다. 당신은 실제로 아무것도 바꾸지 않을 것입니다. 형식을 지정할 필요가 없습니다.
파티션을 스크롤 할 때 유형 열을 검토하십시오. 내부 드라이브 EFI 파티션에서 파티션 플래그를 해제 했으므로 내부 드라이브에 EFI 파티션이 없어야합니다. 물론 파티션은 여전히 FAT32 파티션으로 나타납니다. 괜찮아.
설치를 위해 부팅 한 라이브 디스크의 EFI 파티션도 표시됩니다.
/ (sdc2)에 원하는 대상 파티션을 마운트하고 일반 설치를 수행하십시오.
설치 후
내부 EFI 파티션에서 플래그 복원
설치 후 새 설치로 재부팅하십시오. BIOS "부팅 장치 선택"옵션을 사용해야합니다. 내 Thinkpad에서 F12는 BIOS 메뉴의이 부분에 대한 바로 가기입니다.
부팅 메뉴에 몇 가지 선택 사항이 있으며 그 중 하나는 외장 드라이브입니다. 일부 바이오스 메뉴는 기본 레이블을 '우분투'로 표시하므로 두 번 이상 보는 것이 약간 혼란 스럽습니다. 때때로 부팅 장치를 변경하면 BIOS 부팅이 다시 시작되고 (내 Thinkpad에서 수행됨) 문제가 발생한 것처럼 보이지만 괜찮습니다.
나중에 USB 스틱을 사용하지 않고 부팅 할 때 BIOS는 마지막으로 알려진 올바른 EFI 장치 (내부 장치)로 되돌릴 수있을 정도로 똑똑해야하지만 EFI 부팅 선택 항목을 수동으로 다시 선택해야 할 수도 있습니다.
팁 : 중복 'ubuntu'항목을 피하기 위해 USB 부팅 항목의 레이블을 다시 지정하십시오.
ubuntu라고 표시된 EFI 부팅 옵션이 중복 된 경우이를 수정할 수 있습니다. EFI 메뉴 옵션의 레이블을 다시 지정하는 것은 매우 편리하지만 약간 까다 롭습니다.
외장 드라이브의 설치로 부팅했는지 확인한 다음
sudo efibootmgr -v
목록의 첫 번째 행에서 부팅됩니다.
부팅에 사용 된 파일 이름과 파티션 수를 기록하십시오. 첫 번째 항목에 대한 내 출력은 다음과 같습니다.
HD(1,GPT,...) .... File(\EFI\ubuntu\shimx64.efi)
그런 다음이 스레드를 살펴보십시오 : https://www.kubuntuforums.net/showthread.php/68851-Labels-on-UEFI-Boot-Entries-using-efibootmgr-L
나는 내 'owcUbuntu'의 레이블을 바꾸기 위해 이것을했다 :
efibootmgr -c -d /dev/sdb -p 1 -L owcUbuntu -l \\EFI\\ubuntu\\shimx64.efi
부팅 드라이브가 sdb이고 EFI 파티션을 먼저 만든 이후 -p 인수의 값은 1입니다. 참고 : 실제 부팅 디스크가 무엇인지 확인하십시오 :) gparted 또는 df 사용
"이상한"것들. 이 과정은 내장 드라이브의 기존 부트 로더를 건드리지 않습니다. 그러나 외장 드라이브가 연결되어 있고 내장 드라이브에서 정상적으로 부팅되면 grub 업데이터는 외장 드라이브에서 우분투 설치를 감지하여 부팅 가능한 선택 목록에 추가합니다. 약간 혼란 스러울 수 있지만 부팅 항목의 레이블을 다시 지정하면 도움이됩니다.