Во-первых, это КРИТИЧЕСКОЕ, что вы понимаете свой режим загрузки. Современные компьютеры могут загружаться одним из двух способов:
- BIOS - это старый способ загрузки, который использовался на большинстве компьютеров, выпущенных до 2011 года. Современные компьютеры поддерживают загрузку в режиме BIOS с помощью функции, называемой модулем поддержки совместимости (CSM), или «поддержка загрузки в устаревшем режиме» или похожий термин. Таким образом, этот метод может называться тремя именами: BIOS, CSM или устаревший. Он включает 16-битный код загрузчика, размещенный в основной загрузочной записи (MBR) и других местах. Это не элегантный, но зрелый метод загрузки, и большинство сайтов, в которых явно не упоминается режим загрузки, описывают загрузку в режиме BIOS. Если на вашем компьютере установлена Windows 8 или более поздняя версия, скорее всего, он не использует этот метод загрузки.
- EFI / UEFI - это встроенный режим загрузки для большинства компьютеров, появившийся с середины 2011 года, и он полностью отличается от загрузки в режиме BIOS, поэтому следует игнорировать любые рекомендации, в которых явно указано, что он предназначен для загрузки в режиме BIOS, или что-либо, что не упоминается режим загрузки (поскольку он, вероятно, старый или написан кем-то, кто не знает разницы). Единственное исключение: многие люди, и даже производители компьютеров, смущают, называя свои EFI «BIOS». Эта практика создает много путаницы.
Поскольку вы упоминаете Windows 10, скорее всего, ваш компьютер работает на основе EFI и загружается в режиме EFI. Я буду исходить из этого предположения. Если это неверно, игнорируйте остальную часть этого ответа.
Для загрузки внутреннего диска в режиме EFI ОС обычно сохраняет загрузчик в виде файла в системном разделе EFI (ESP) на диске. Это имя файла может быть любым допустимым, но для Ubuntu это будет EFI/ubuntu/shimx64.efi
, что, в свою очередь, запускаетEFI/ubuntu/grubx64.efi
. Установщик ОС регистрирует имя загрузчика во встроенном менеджере загрузки EFI, который сохраняет это имя в NVRAM. Если EFI работает правильно (не все), это приводит к работающему процессу загрузки.
Проблема этого процесса применительно к съемному диску состоит из трех частей:
- Установщик Ubuntu установит GRUB на «ESP», но у вас может быть несколько доступных ESP (почти наверняка один на жестком диске и, возможно, один на USB-накопителе). Контролировать, где GRUB устанавливает, может быть сложно. Это не делается с помощью опции, отмеченной очевидным заголовком о том, где установить GRUB. Вместо этого это можно сделать (AFAIK) только из варианта установки «Something Else», отметив ESP, который вы хотите использовать как «загрузочный раздел EFI» или «Системный раздел EFI» (имя которого зависит от версии Ubuntu).
- Если вы установите GRUB в ESP на USB-накопителе, то при извлечении USB-накопителя EFI может заметить, что у него есть зарегистрированная недопустимая запись загрузчика, и удалите эту запись. Многие EFI делают это, и это означает, что если вы установите GRUB на внешний диск, а затем отключите его, вы потеряете возможность загрузки с этого диска, даже если вы снова подключите диск.
- Способ Ubuntu настраивает GRUB заставляет его полагаться на конфигурационные файлы , которые находятся в Ubuntu
/boot/grub
каталог, который не вероятно, будет на ESP. Таким образом, если Ubuntu установит GRUB в ESP на вашем внутреннем диске, вы избежите первой проблемы, но столкнетесь с другой, потому что при запуске с отключенным USB-накопителем GRUB запустится и не сможет найти свои файлы конфигурации. Результатом является grub>
приглашение, которое озадачит большинство пользователей.
Существует ряд решений этих проблем, в том числе:
- Руководство по установке жратвы в резервном файл на внешнем диске - OS инсталляторов загрузки с помощью резервного файла из
EFI/BOOT/bootx64.efi
. При копировании Shim (который Grub запуски) к этому имени файла (путем копирования EFI/ubuntu
на EFI/BOOT
на ESP , а затем переименовать shimx64.efi
в bootx64.efi
вEFI/BOOT
), ваша прошивка сможет запустить GRUB на основе USB, как это сделал установщик Ubuntu. Это поможет преодолеть обе проблемы, которые я только что определил, но вам нужно будет использовать встроенный в компьютер менеджер загрузки, чтобы выбрать ОС для загрузки. Этот встроенный менеджер загрузки варьируется от непригодного до терпимого, поэтому это может быть или не быть приемлемым решением. Вам также может понадобиться настроить порядок загрузки после установки Ubuntu, чтобы он не запускал GRUB из ESP внутреннего диска или ESP внешнего диска по умолчанию.
- Разместите
/boot
раздел на вашем внутреннем диске - если вы установите GRUB на внутренний диск, вы также можете поместить /boot
раздел на внутренний диск. Это позволит GRUB нормально работать на всех ботинках; однако опция Ubuntu будет отображаться постоянно, даже если USB-диск отключен. Это может быть нежелательно, особенно если Ubuntu используется по умолчанию. Кроме того, это решение означает, что ваш внешний USB-накопитель будет загружаться только на том компьютере, на котором вы его подготовили. Если вы хотите использовать этот диск на других компьютерах, вам следует избегать этого решения.
- Используйте умнее менеджер загрузки - загружать менеджер дает вам выбор операционки для загрузки, тогда как загрузочный погрузчик загружает ядро в память. GRUB выполняет обе работы, а встроенный менеджер загрузки EFI выполняет только первую работу. Доступны другие менеджеры загрузки, некоторые из которых могут помочь вам избежать проблем, которые я обнаружил. Например, мой собственный rEFInd, если он установлен на ESP внутреннего диска и сделан загрузочной программой по умолчанию, обнаружит и отобразит опцию Ubuntu, если и только если присутствует GRUB или ядро Linux - то есть, когда USB-накопитель подключен в. Установив
default_selection
опцию вrefind.conf
соответственно, вы можете настроить rEFInd для автоматической загрузки Ubuntu, если ваш USB-накопитель Ubuntu подключен, и для загрузки непосредственно в Windows, если USB-накопитель Ubuntu не подключен. Мой ответ на этот вопрос содержит более подробную информацию об этом типе конфигурации, хотя и о Mac, а не ПК.
Если повезет, один из этих подходов поможет вам начать работу.