Где должен быть установлен загрузчик, когда я хочу запустить Ubuntu с внешнего жесткого диска?

9

У меня есть ноутбук с операционной системой Windows 10, и я хочу установить Ubuntu на внешний жесткий диск, и, когда мне это нужно, я могу просто подключить его и загрузить с внешнего диска.

Я следовал учебному пособию, фактически два, и оба сказали, что загрузчик должен быть установлен на внешнем жестком диске. Это привело к тому, что я мог получить доступ к Windows только тогда, когда у меня был подключен внешний жесткий диск. Когда у меня его не было, ноутбук не загружался, и я просто получал черный экран с белой линией. После исправления основной загрузочной записи я смог получить доступ к окнам.

Теперь я хочу попробовать еще раз, но боюсь, что, если я установлю загрузчик на внутренний диск, я могу каким-то образом удалить раздел Windows, или у меня будут проблемы с загрузкой.

И что я должен делать?

капитан
источник
Возможная ошибка и Обходной bugs.launchpad.net/ubuntu/+bug/1835639
Bellera

Ответы:

10

Во-первых, это КРИТИЧЕСКОЕ, что вы понимаете свой режим загрузки. Современные компьютеры могут загружаться одним из двух способов:

  • 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, а не ПК.

Если повезет, один из этих подходов поможет вам начать работу.

Род Смит
источник
0
  1. Загрузите Ubuntu Live USB / CD
  2. Подключите внешний жесткий диск
  3. Установите Ubuntu на внешний жесткий диск (расширенный, чтобы вы могли указать, где должен устанавливаться загрузчик)
  4. Настройте биос для загрузки с внешнего жесткого диска
RemoveThisAccount
источник
Это решение на основе BIOS, которое не будет работать должным образом на большинстве компьютеров на основе EFI.
Род Смит
0

Вам нужно установить загрузчик на тот диск, который использует UEFI / BIOS для загрузки. Вы можете изменить этот диск в настройках BIOS, которые вы можете , как правило , доступ, нажав что - то подобное F10, F12или Delсразу же после запуска компьютера. Поэтому в качестве первого шага вы можете попытаться настроить свою машину на загрузку с внешнего диска, а не с внутреннего диска. Если загрузчик правильно установлен на внешнем диске, это должно работать.

Для повседневного использования вы, возможно, захотите всегда загружаться с одного и того же диска для удобства, поэтому вы захотите установить загрузчик на свой внутренний диск. Однако перед этим вы должны сделать резервную копию, желательно полный образ диска вашего рабочего внутреннего диска. Если вы столкнулись с проблемами после установки Ubuntu вместе с Windows, может помочь инструмент Boot-Repair .

Бен
источник
Я уже изменил порядок загрузки для загрузки с USB до внутреннего жесткого диска. Так что я представляю, если я установлю Ubuntu на внешний жесткий диск и установлю загрузчик на внешний жесткий диск, я смогу, но могу ли я загрузиться с флешки, верно?
капитан
Извините, я не уверен, что именно вы спрашиваете. Вы должны быть в состоянии: 1) установить загрузчик на внешнем диске, 2) извлечь USB-накопитель и 3) настроить BIOS на загрузку с внешнего накопителя, а затем загрузиться в Ubuntu на внешнем накопителе.
Бен
@ Капитан Райт. Как я уже сказал, это будет работать.
Иззно
0

Я бы установил загрузчик на внешнее устройство! Таким образом, нет никаких шансов, что ваша установка Windows испортит или удалит загрузчик. Это была бы простая задача, чтобы настроить BIOS для загрузки:

USB-Key
USB-Disk
HDD
etc 
etc

Примечание: убедитесь, что вы отключите SECUREBOOT (если вы найдете эту опцию)

Таким образом, если вы отключите внешнее устройство по какой-либо причине, это не будет представлять проблему для вашего компьютера.

И: если вы будете держаться подальше от проприетарных драйверов, вы сможете запустить эту систему на других компьютерах ...

(Кстати, я бы не рекомендовал этот тип установки для постоянного использования, так как он будет медленнее, чем eSATA)

Izzno
источник
Ubuntu поддерживает безопасную загрузку. Несмотря на то, что иногда встречаются несовместимости, они редки, поэтому нет необходимости возиться с этим параметром. В EFI параметры порядка загрузки обычно намного сложнее, чем вы описываете, что хорошо и плохо - предоставляет больше возможностей и более детальный контроль; но это означает, что есть чему поучиться, а простые решения, изученные в мире BIOS, вряд ли будут работать.
Род Смит
Я не знал, что Ubuntu может «выдавать себя за окна», так как все опции Secure Boot BIOS, которые я когда-либо видел, специально утверждают, что он отключает все возможности постоянного изменения порядка загрузки и / или ОС.
Иззно
Ubuntu не «позирует» как Windows. Для безопасной загрузки требуется, чтобы программа EFI была подписана закрытым ключом, открытый ключ которого зарегистрирован в микропрограмме. Microsoft подписывает ключи для третьих лиц, в том числе двоичный код Canonical Shim, что делает их работоспособными на компьютерах с ключом Microsoft. Я никогда не слышал о реализации безопасной загрузки, которая предотвращает изменение порядка загрузки, хотя я полагаю, что поставщик может решить добавить это ограничение. Смотрите мою страницу на Secure Boot для получения дополнительной информации по этой теме.
Род Смит