먼저 부팅 모드를 이해하는 것이 중요 합니다. 최신 컴퓨터는 다음 두 가지 방법 중 하나로 부팅 할 수 있습니다.
- BIOS- 이 방법은 2011 년 이전에 소개 된 대부분의 컴퓨터에서 사용 된 오래된 부팅 방법입니다. 최신 컴퓨터는 "레거시 모드 부팅 지원"또는 CSM (호환성 지원 모듈)이라는 기능을 통해 BIOS 모드 부팅을 지원합니다. 비슷한 용어. 따라서이 방법은 BIOS, CSM 또는 레거시의 세 가지 이름으로 나타낼 수 있습니다. 여기에는 마스터 부트 레코드 (MBR) 및 기타 여러 위치에 표시되는 16 비트 부트 로더 코드가 포함됩니다. 우아하지만 성숙한 부팅 방법이며 부팅 모드를 명시 적으로 언급하지 않은 대부분의 사이트는 BIOS 모드 부팅을 설명합니다. 그러나 컴퓨터에 Windows 8 이상이 설치된 경우이 부팅 방법을 사용 하지 않을 수 있습니다.
- EFI / UEFI는 - 이것은 2011 년 중반부터 도입 대부분의 컴퓨터에 대한 기본 부팅 모드이며, 그것은이다 완전히 다른 당신이해야하므로, BIOS 모드 부팅에서 무시 있음을 명시 적으로는 BIOS 모드 부팅, 또는 아무것도 그것에 대해의 상태 조언을 부팅 모드는 언급하지 않습니다 (차이를 모르는 누군가가 오래되었거나 작성되었을 가능성이 있기 때문에). 한 가지 예외 : 혼란스럽게도 많은 사람들과 컴퓨터 제조업체들도 EFI를 "BIOS"라고합니다. 이 연습은 많은 혼란을 야기합니다.
Windows 10을 언급 했으므로 컴퓨터가 EFI 기반이고 EFI 모드로 부팅 될 가능성이 있습니다. 그 가정하에 진행하겠습니다. 이것이 맞지 않으면이 답변의 나머지 부분을 무시하십시오.
EFI 모드에서 내부 디스크를 부팅하기 위해 OS는 일반적으로 디스크의 EFI 시스템 파티션 (ESP) 에 부트 로더를 파일로 저장합니다 . 이 파일 이름은 합법적 일 수 있지만 우분투의 경우에는 EFI/ubuntu/shimx64.efi
시작 EFI/ubuntu/grubx64.efi
됩니다. OS 설치 프로그램은 부팅 로더 이름을 EFI의 내장 부팅 관리자에 등록합니다.이 부팅 관리자는 해당 이름을 NVRAM에 저장합니다. EFI가 올바르게 작동하면 (모두가 아닌) 부팅 프로세스가 작동하는 것입니다.
이동식 디스크에 적용되는이 프로세스의 문제점은 세 가지입니다.
- Ubuntu 설치 프로그램은 GRUB를 "the"ESP에 설치하지만 여러 ESP를 사용할 수 있습니다 (하드 디스크와 USB 드라이브 중 하나). GRUB 설치를 제어하는 것은 까다로울 수 있습니다. 그것은되어 있지 GRUB를 설치 위치에 대한 명백한 제목으로 표시된 옵션을 사용하여 수행. 대신 "EFI 부팅 파티션"또는 "EFI 시스템 파티션"(이 이름은 Ubuntu 버전에 따라 다름)으로 사용하려는 ESP를 표시하여 "Something Else"설치 옵션에서만 수행 할 수 있습니다 (AFAIK).
- USB 드라이브의 ESP에 GRUB을 설치 한 경우 USB 드라이브를 제거하면 EFI에 등록 된 부팅 로더 항목이 유효하지 않은 것을 발견하고 해당 항목을 삭제할 수 있습니다. 많은 EFI가이 작업을 수행하므로 GRUB을 외부 디스크에 설치 한 다음 플러그를 뽑으면 디스크를 다시 꽂아도 해당 디스크에서 부팅 할 수 없게됩니다.
- Ubuntu가 GRUB을 구성하는 방식은 Ubuntu
/boot/grub
디렉토리 에있는 구성 파일에 의존 하므로 ESP 에는 없을 것입니다. 따라서 Ubuntu가 내부 디스크의 ESP에 GRUB을 설치하면 첫 번째 문제는 피할 수 있지만 USB 드라이브를 분리 한 상태에서 시작하면 GRUB이 시작되어 구성 파일을 찾을 수 없기 때문에 다른 문제가 발생합니다. 결과적으로 grub>
대부분의 사용자를 미스터리하게됩니다.
이러한 문제에 대한 여러 가지 해결책이 있습니다.
- GRUB을 외부 디스크의 대체 파일 이름으로 수동 설치 - 대체 설치 파일 이름 을 사용하여 OS 설치 프로그램이 부팅됩니다
EFI/BOOT/bootx64.efi
. 당신은 복사하여 (이 파일 이름 (출시가 GRUB) 심 복사하는 경우 EFI/ubuntu
에 EFI/BOOT
ESP를에 다음 이름 바꾸기 shimx64.efi
에 bootx64.efi
의EFI/BOOT
), 펌웨어는 Ubuntu 설치 관리자와 마찬가지로 USB 기반 GRUB을 시작할 수 있습니다. 방금 확인한 두 가지 문제를 모두 극복 할 수 있지만 컴퓨터의 내장 부팅 관리자를 사용하여 부팅 할 OS를 선택해야합니다. 이 내장 부팅 관리자는 사용할 수없는 수준에서 허용 가능한 수준까지 다양하므로 수용 가능한 솔루션 일 수도 있고 아닐 수도 있습니다. 또한 내부 디스크의 ESP 또는 외부 디스크의 ESP에서 GRUB을 시작하지 않도록 우분투를 설치 한 후 부팅 순서를 조정해야 할 수도 있습니다.
/boot
내부 디스크에 파티션 배치 -GRUB을 내부 디스크에 설치하면 내부 디스크에 /boot
파티션을 배치 할 수도 있습니다 . GRUB이 모든 부팅에서 정상적으로 작동 할 수 있습니다. 그러나 USB 디스크가 분리되어 있어도 Ubuntu 옵션이 항상 나타납니다. 특히 우분투가 기본값 인 경우 바람직하지 않습니다. 또한이 솔루션은 외장 USB 드라이브를 준비한 컴퓨터에서만 부팅 할 수 있음을 의미합니다. 다른 컴퓨터에서 해당 디스크를 사용하려면이 솔루션을 피해야합니다.
- 더 똑똑한 부팅 관리자 사용 -부팅 관리자 는 부팅 할 OS를 선택할 수있는 반면 부팅 로더 는 커널을 메모리에로드합니다. GRUB은 작업을 모두 수행하며 EFI의 내장 부팅 관리자는 첫 번째 작업 만 수행합니다. 사용 가능한 다른 부팅 관리자가 있으며 그 중 일부는 내가 식별 한 문제를 피하는 데 도움이 될 수 있습니다. 예를 들어, 내 자신의 rEFInd 는 내부 디스크의 ESP에 설치되고 기본 부팅 프로그램을 만든 경우 GRUB 또는 Linux 커널이 존재하는 경우, 즉 USB 드라이브가 연결된 경우에만 우분투 옵션을 감지하고 표시합니다.
default_selection
옵션 을 설정하여refind.conf
적절하게, Ubuntu USB 드라이브가 연결되어 있으면 우분투를 자동으로 부팅하고 Ubuntu USB 드라이브가 연결되어 있지 않으면 Windows로 바로 부팅하도록 rEFInd를 구성 할 수 있습니다. 이 질문에 대한 답변 은이 유형의 구성에 대한 자세한 내용을 제공합니다. PC가 아닌 Mac.
운이 좋으면 이러한 접근 방식 중 하나가 시작되고 실행됩니다.