Портативный USB-накопитель не загружается [дубликат]

Я попытался сделать портативный USB-накопитель ( Могу ли я установить Ubuntu на свой USB-накопитель емкостью 32 ГБ? ) и выполнил следующие действия, но я думаю, что что-то пошло не так с выбором местоположения загрузчика, потому что, хотя я выбрал свой USB-накопитель 32 ГБ, он установил загрузчик на мой жесткий диск, и я не могу загрузить USB-накопитель на другом ПК.

Есть ли способ исправить это?

1
задан 13 April 2017 в 15:25

1 ответ

Я переустановил выполнение этих шагов https://www.dionysopoulos.me/253-portable-ubuntu-on-usb-hdd.html, и оно работало..., но спасибо так или иначе

В чем Вы нуждаетесь

  • Пустое внешнее (USB) жесткий диск. Я использовал дисковую полку USB 3 с дешевым SSD на 256 ГБ. Для тех Вы вызывающий беспокойство о производительности, порт USB 3.0 быстрее, чем максимальная скорость передачи любого SSD, который я видел на эту дату.
  • Ubuntu Linux загрузочная Карта памяти. Очень легкий создать использование Rufus в Windows. Я использовал дешевый, рекламный флеш-накопитель. Уменьшите, снова используйте, переработайте FTW.
  • Windows System Repair Disc (загрузочная Карта памяти со средствами восстановления Windows, которые можно сделать сами) или установка Windows или спасает CD-ROM / DVD-ROM. Я использовал другой рекламный флеш-накопитель.

Не забудьте брать резервные копии всех своих критических файлов и папок перед продолжением. Вы собираетесь внести изменения в свой компьютер. Если это повреждается, не кричат, я предупредил Вас. Также протестируйте оба своих загрузочных медиа. Дважды. Вам будут нужны они оба!

Протесты

Наличие двойного - или система мультиначальной загрузки не так просто, как это раньше было десятилетие назад. В наше время, в интересах безопасности, производительности и назад совместимости, существует много полускрытых опций и функций, которые могут стоять на пути. Учитывая достаточный опыт и терпение можно работать вокруг них. Ниже выбор проблем, которые озадачили меня умеренно по пути.

Безопасный протест начальной загрузки

Я только протестировал эти инструкции с выключенной Защищенной загрузкой. Даже при том, что Ubuntu действительно поддерживает Защищенную загрузку (она идет с загрузчиками со знаком), я понятия не имею, использует ли мой метод загрузчики со знаком или нет. Я предлагаю выключить Защищенную загрузку, если это возможно.

Протесты FastBoot

Много плат идут со своего рода "быстрой загрузкой" или "опциями" оптимизации начальной загрузки. Например, мой Intel NUC имеет опцию под названием Быстрая загрузка, которая не позволит мне выбрать альтернативное устройство загрузки при запуске. Это также имеет опцию поддерживать Intel Rapid Start Technology, который действительно мешает начальной загрузке нескольким ОС. Я должен был отключить обоих.

Стоит отметить, что Windows 8 и 10 имеет функцию Fast Startup или Fast Boot. Эта функция берет некоторые ярлыки когда дело доходит до начальной загрузки и также заставляет файловую систему NTFS остаться в грязном состоянии, делая это незаписываемым из Linux. Лучше понимать то, что это делает и отключает его, если Вы планируете запись в свой диск Windows из Linux.

Протест хост-контроллера USB

Некоторые встроенные микропрограммные обеспечения представят хост-контроллер USB как UHCI (USB 1.1) во время начальной загрузки. Когда Linux будет зондировать для xHCI (USB 3) хост-контроллер во время процесса начальной загрузки, они ответят положительно. В это время Linux загружает xHCI драйвер, и хост-контроллер USB сбрасывает себя.

Однако Ваша корневая файловая система в устройстве, подключенном к этому контроллеру USB. Поэтому сброс контроллера означает, что Linux больше не может связываться с присоединенным к USB жестким диском. Поэтому начальная загрузка Linux зависнет навсегда без дальнейшего признака относительно того, что пошло не так, как надо.

Большинство неисправных плат (включая мой Intel NUC) имеет опцию включить xHCI интерфейс хост-контроллера по умолчанию. Включение xHCI опции в BIOS устраняет зависающую проблему начальной загрузки. Если Вы только используете современные операционные системы с поддержкой USB 3 (что-либо более новое, чем и включая Windows 8.1 и Ubuntu Linux 15.04), можно безопасно включить ту опцию.

Установка Linux

Загрузите свой компьютер из Linux Ubuntu загрузочная Карта памяти. Помните, что Вам, вероятно, придется войти, диспетчер начальной загрузки Вашего компьютера, чтобы сделать это (на моем Intel NUC I должны нажать F10; на большей части другого BIOS я видел, что это - F9; консультируйтесь со своей документацией BIOS).

Установите Ubuntu Linux регулярно. Когда это предлагает Вам о структуре диска, выбирают Something Else и делят Ваш внешний жесткий диск путем, Вы хотите. Я принял решение создать скромно размерный корневой раздел (приблизительно 40 ГБ), раздел подкачки, это является столь же большим как самая большая конфигурация RAM, с которой я собираюсь быть использованием этой установки плюс один Гбит (мои компьютеры истратили на уровне 16 ГБ, таким образом, я сделал раздел подкачки на 17 ГБ), и остальная часть диска перешла к крупному / домашний раздел.

Протест: Я принял решение использовать btrfs, который – поскольку я изучил по пути – делает вещи немного более сложными по линии. Для пользы Вашей исправности я рекомендую использовать ext4. Это руководство принимает использование btrfs и укажет на протесты с этим подходом.

Зафиксируйте начальную загрузку Windows 10

К сожалению, Установщик Ubuntu предполагает желание конфигурации двойной загрузки вместе с Windows. Поэтому это добавляет себя (на самом деле, загрузчик, который это использует, GRUB2) к конфигурации Вашего компьютера UEFI. Это вызывает две проблемы. Для начала, внешний жесткий диск не является портативным, поскольку Вы не можете загрузиться с ним на другом компьютере.

Во-вторых, при удалении этого внешнего жесткого диска Windows не загрузится. Неприятность. Мы должны зафиксировать это.

  • Закройте свой компьютер.
  • Разъедините жесткий диск Ubuntu
  • Начальная загрузка от системы Windows восстанавливает Карту памяти диска (или установка Windows или спасательный CD-ROM/DVD-ROM).
  • Избранное Восстановление Ваш компьютер.
  • Выберите операционную систему и нажмите Далее.
  • Выберите Command Prompt.
  • В выполненной командной строке

    diskpart
    sel disk 0
    list vol
    
  • Проверьте, что раздел EFI использует файловую систему FAT32. Это будет иметь идентификатор объема, скажем, 99. Теперь мы должны присвоить букву диска ему. Назад в типе командной строки:

    sel vol 99
    assign letter=z:
    exit
    
  • Теперь мы должны исправить загрузочную запись. Снова в типе командной строки:

    z: 
    cd EFI/Microsoft/Boot
    bootrec /FixBoot
    
  • Наконец, мы должны воссоздать хранилище BCD, которое говорит загрузчик Microsoft, где найти Windows, таким образом, это может загрузить его. От нашей доверяемой командной строки:

    ren BCD BCD.old
    bcdboot c:\Windows /l en-us /s z: All
    
  • Если это не работало попытка:

    ren BCD BCD.old
    bootrec /RebuildBcd
    

В этой точке выходят из командной строки и закрывают Ваш компьютер.

Создайте ESP на жестком диске Ubuntu

Жесткий диск не является загрузочным с UEFI, если он не имеет ESP (Системный Раздел EFI). ESP является просто разделом FAT32 со специальным флагом, который говорит BIOS EFI выглядеть в нем для получения информации о загрузке. Мы должны создать один на Вашем жестком диске.

  • Включите свой внешний жесткий диск и Linux Ubuntu загрузочная карта с интерфейсом USB.
  • Начальная загрузка с Linux Ubuntu загрузочная карта с интерфейсом USB с помощью опции попробовать Ubuntu перед установкой.
  • Откройте Terminal (Ctrl+Alt+T)
  • Выполненный sudo fdisk -l получить список разделов.
  • Определите от них диск, который имеет разделы Linux в моем случае /dev/sdb. Я назову его /dev/sd<b>X</b> с этого времени.
  • Также определите раздел, который содержит корневую файловую систему. Я назову это/dev/sdXY с этого времени.
  • Запустите GParted от терминала:

    sudo gparted /dev/sdX
    

    Почему не только нажимают на GParted на Вашем рабочем столе? Ну, я продолжал получать ошибки о Linux Ubuntu загрузочная карта с интерфейсом USB, потому что это уже использовалось. Конечно, это, я использую его для выполнения компьютера от него, понятное дело!

  • Измените размер первого раздела на диске, чтобы иметь еще 200 Мбит свободного пространства после него.

  • Создайте новый раздел на свободном пространстве, изменив файловую систему на fat32.
  • Примените операции. Необходимо сделать это теперь для следующего шага, чтобы быть возможными.
  • Щелкните правой кнопкой по новому разделу.
  • Нажмите на Manage Flags.
  • Установите начальную загрузку, и особенно отмечает. Это - то, что делает раздел "особенным" для BIOS EFI.
  • Еще одна вещь! Запишите раздел, который содержит файловую систему ESP. Я назову это/dev/sdXZ с этого времени.

Удостоверьтесь, что установка Ubuntu на внешнем жестком диске видит ESP

Новый ESP на внешнем диске должен быть видим установкой Ubuntu в жестком диске. Иначе GRUB2, загрузчик Linux, не сможет обновить себя, делая Вашу систему незагрузочной после следующего обновления ядра самое позднее.

  • Запустите GParted от Терминала, как мы видели выше:

    sudo gparted /dev/sdX
    
  • Дважды щелкните по разделу со своим корнем Linux (/) файловая система на внешнем жестком диске

  • Запишите UUID, например. 01234567-89ab-cdef-0123-4567890abcde
  • Дважды щелкните по новому разделу FAT32 и запишите UUID, например. 0123-ABCD
  • Близкий GParted
  • Откройте терминал

Процесс отличается в зависимости от формата Вашего корневого раздела на внешнем жестком диске.

Если Вы, DID НЕ использует btrfs (например, Вы использовали ext4),

sudo umount /media/ubuntu/01234567-89ab-cdef-0123-4567890abcde   
sudo mount /dev/sdXY /mnt  

Если Вы использование DID btrfs

Если Вы использование DID btrfs, Вы сделали свою жизнь сложной. Мы должны смонтировать btrfs подобъем, содержащий корневой раздел вместо всего раздела. Иначе Вы никогда не будете мочь установить GRUB, и Вы, вероятно, потеряете весь день, как я.

btrfs subvolume list /media/ubuntu/01234567-89ab-cdef-0123-4567890abcde

Это даст Вам строку с числовым идентификатором. Скажем, 123. Запишите его.

umount /media/ubuntu/01234567-89ab-cdef-0123-4567890abcde  
mount /dev/sdXY -o subvolid=123 /mnt  

Остальная часть инструкций распространена, неважно, если используется btrfs, ext4 или что-то еще

    sudo nano /mnt/etc/fstab  
  • Существует строка с /boot/efi уже в этом файле. Прокомментируйте это путем размещения a # перед ним.
  • Добавьте следующую строку:

    UUID=0123-ABCD /boot/efi vfat defaults 0 1
    

Установите GRUB2 на Системном Разделе EFI внешнего диска

Прямо сейчас наш внешний диск имеет пустой ESP. Мы должны поместить загрузчик в него для создания его на самом деле, ну, в общем, загрузочным.

Первый протест: все инструкции, которые Вы находите онлайн, предполагают использование системы двойной загрузки с Windows или macOS. Когда у Вас есть внешний диск, очень важно, что Вы используете --removable опция на последнем шаге. Это устанавливает загрузчик EFI под специальным "путем нейтрализации" EFI\Boot\bootx64.efi в ESP. Обычно это, которое, как не предполагают, использовалось для стационарных Операционных систем. Это - механизм, используемый EFI BIOS для начальной загрузки произвольных внешних медиа. Технически, это точно, каков наш внешний жесткий диск: произвольные внешние медиа!

Второй протест: установка загрузчика только возможна из установки Linux, которую мы хотим загрузить. Однако нам нужен загрузчик для начальной загрузки той установки, ведя к проблеме Уловки - 22. Решение состоит в том, чтобы выполнить установку загрузчика через chroot тюрьму. Фактический протест, который озадачил меня в течение дня, прибывает из того, что я использую btrfs (потому что это настолько лучше для SSD!). btrfs имеет подобъемы. При монтировании всего раздела вместо подобъема, сценарий установки личинки не может выяснить отображение между путями и устройствами, поэтому не удавшись установить себя на ESP, возвратив загадочную ошибку:

/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).

Ошибка вводит в заблуждение! /dev смонтирован, если Вы следуете моим инструкциям ниже. Фактическая проблема, насколько я понимаю, состоит в том, что существует несоответствие между смонтированным устройством и путем к корню chroot. Вот почему я сделал, чтобы Вы смонтировали только подобъем, содержащий корневую файловую систему на шагах выше. Если Вы не обращали внимание, Вы не следуете пошаговым инструкциям, Вы перезагрузили перед этим шагом или просто приехали, сюда непосредственно ища решение Вашей проблемы о GRUB, не устанавливающем взгляд выше для получения инструкций относительно монтирования корректного btrfs подобъема.

  • Мы должны подготовить chroot среду. ESP должен быть смонтирован в корректном месте, и мы должны связать системную точку монтирования для некоторых специальных деревьев (прежде всего/dev). Кроме того, мы скопируем resolv.conf файл, чтобы позволить chroot среде иметь доступ к сети, должен он нуждаться в нем.

    mount /dev/sdXZ /mnt/boot/efi  
    for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt/$i; done  
    cp /etc/resolv.conf /mnt/etc/  
    modprobe efivars  
    
  • Наконец мы входим в chroot среду и устанавливаем Личинку, в некотором роде подходящую для съемного устройства (см. первый протест выше).

    sudo chroot /mnt  
    grub-install -d /usr/lib/grub/x86_64-efi --efi-directory=/boot/efi/ --removable /dev/sdX  
    

Теперь Ваш внешний жесткий диск является загрузочным. Перезагрузите свой компьютер, выберите его из выбора загрузочного носителя Вашего BIOS UEFI, и Вы сделаны!

2
ответ дан 7 December 2019 в 13:35

Другие вопросы по тегам:

Похожие вопросы: