Помощь «двойной загрузки» с внешним SSD и Никаких изменений во внутреннем диспетчере загрузки Windows SSD

У меня есть ноутбук под управлением Windows (с BitLocker), который я использую для работы. Я хотел бы иметь возможность загружаться в Ubuntu с помощью внешнего SSD (подключенного через USB), не касаясь чего-либо в моей существующей конфигурации Windows. Я уже слышу предложение запустить живую систему, и, возможно, до этого еще дойдет, но после некоторых копаний я поверил , что можно достичь того, чего я хотел. Вот что я сделал:

  1. Загрузил Ubuntu 20.10 на флэш-накопитель USB.
  2. Загрузился с этого USB-накопителя и выбрал «установить». Подключен к внешнему твердотельному накопителю, выбрал его в качестве цели, используя весь диск для установки, а также как место установки загрузчика. Логика заключалась в том, что если бы я подключил SSD при загрузке, он мог бы загрузиться, в противном случае в игру вступил бы нетронутый загрузчик Windows. Я был готов нажать F9, чтобы выбрать альтернативное загрузочное устройство, когда я хотел загрузить Ubuntu
  3. После завершения установки я удалил флэш-накопитель, перезагрузил, нажал F9 ​​и загрузился в Ubuntu - пока все хорошо
  4. Завершение работы , отключил SSD, включил питание ... только для того, чтобы его приветствовала командная строка grub. После некоторого покопания exit позволил мне загрузиться в Windows
  5. , я сделал волшебство Windows, чтобы восстановить загрузчик в моей системе до исходного состояния (т.е. перезагрузка без нажатых клавиш и без подключенных внешних носителей, вы сразу в Windows).

В общем, миссия не выполнена, так как я не могу выборочно загружаться с незатронутым встроенным SSD. У меня все еще есть установленный Ubuntu на моем внешнем SSD, который я бы очень хотел загрузить, но я застрял. Возможно ли то, что я пытаюсь сделать? Если да, что я могу сделать, чтобы либо спасти установку на внешнем SSD, сделав его загрузочным, либо выполнить установку таким образом, чтобы оставить встроенный (Windows) SSD полностью нетронутым? Единственный надежный способ добиться последнего - физически удалить внутренний твердотельный накопитель при установке?

Я нашел это , но на данный момент это уже не так, как это , что немного отличается от моего случая.Моя основная цель - сделать существующую установку на внешнем SSD загрузочной.

0
задан 15 December 2020 в 11:18

2 ответа

Я решил эту проблему, выполнив эти шаги , предоставленные ptetteh227 . Это в основном то, что Олдфред предлагал выше, но мне нужны были подробности. Эти шаги были предусмотрены для Ubuntu 15.10, но их применение в Ubuntu 20.10 работало безупречно. Обратите внимание, что я не выполнил шаги для «Создание настраиваемой загрузочной записи для Ubuntu, указывающей на efi на внешнем жестком диске», поэтому я не могу говорить об их продолжительности действия.

Вот шаги, если вы не хотите чтобы перейти по ссылке выше:

Установка Grub на внешний жесткий диск, на котором установлена ​​Ubuntu

  1. Загрузитесь с Live USB Ubuntu и подключите внешний жесткий диск.

  2. Список разделов всех устройств:

      lsblk
     
  3. По результатам lsblk определите раздел Linux, а также раздел efi внешнего жесткого диска, то есть / dev / sdXY1 и / dev / sdXY2 соответственно. Замените XY1 и XY2 собственными именами разделов.

  4. Специально смонтируйте раздел Linux:

      sudo mount / dev / sdXY1 / mnt
     
  5. Смонтировать критически важные виртуальные файловые системы:

      для i в / dev / dev / pts / proc / sys / run;  выполните sudo mount -B $ i / mnt $ i;  сделанный
     
  6. chroot в смонтированный раздел Linux:

      sudo chroot / mnt
     

    Теперь вы находитесь в файловой системе linux внешнего жесткого диска.

  7. Создайте каталог, в который grub установит свои файлы:

      mkdir -p / boot / efi
     

    Если он уже существует, перейдите к шагу 8.

  8. Подключите раздел efi из шага 3:

      mount / dev / sdXY2 / boot / efi
     
  9. Установите grub на внешний жесткий диск:

      grub-install / dev / sdX
     
  10. Обновление grub:

     update-grub
     
  11. Найдите UUID раздела efi (также известного как «vfat») и запишите его:

     blkid
     

    или

     ls -l / dev / disk / by-uuid
     
  12. Теперь нам нужно указать fstab монтировать этот раздел efi при загрузке:

     cp / etc / fstab /etc/fstab.bak
    судо нано / и т. д. / fstab
     

    Добавьте следующие две строки в fstab, заменив xxxx-xxxx на UUID из шага 11:

     #my измененный fstab для монтирования esp внешнего жесткого диска
    UUID = xxxx-xxxx / boot / efi vfat umask = 0077 0 1
     

    Не забудьте закомментировать запись fstab в Windows esp, чтобы она не конфликтовала.

  13. Выйти из chroot:

     exit
     
  14. Перезагрузите компьютер:

     sudo reboot
     

На этом этапе, когда вы перезагружаетесь и выбираете внешнее устройство в диспетчере загрузки EFI, оно будет загружаться в grub.

Чтобы Ubuntu автоматически загружалась, когда вы вставляете внешнее устройство, а Windows автоматически загружается, когда внешнее устройство не вставлено вам нужно будет создать настраиваемую загрузочную запись для Ubuntu, чтобы указать на efi на внешнем диске:

Создание настраиваемой загрузочной записи для Ubuntu, указывающей на efi на внешнем жестком диске

Из Windows EasyUEFI может добавлять или удалять загрузочные записи.

Из Linux efibootmgr может добавить или удалить загрузочные записи.

Альтернатива №1 - использование EasyUEFI

  1. В Windows загрузите EasyUEFI, установите и запустите.

  2. Выберите Диспетчер параметров EFI

  3. Выберите создать 'новая запись' со знаком +

  4. Выберите Linux или другую ОС и дайте ей имя в поле описания

  5. Выберите раздел FAT32 EFI на внешнем диске, который содержит загрузчик grub

  6. Выберите просмотреть

  7. Перейдите в /efi/ubuntu/shimx64.efi или / efi / ubuntu / grubx64

  8. Сохранить

  9. Переместите в начало список загрузочных записей

  10. Перезапустить

Альтернатива №2 - с использованием efibootmgr

  1. Список записей меню загрузки:

      efibootmgr
     
  2. Создайте загрузочную запись:

      efibootmgr -c [-L label] [-d / dev / sdX]
     

    например: efibootmgr -c -L myubuntu -d / dev / sdX

    Эта загрузочная запись будет автоматически первой записью.

    / dev / sdX - внешний жесткий диск с Загрузчик grub.

  3. Теперь вы можете перезагрузиться, и без вашего вмешательства Ubuntu будет автоматически загружаться при подключении внешнего жесткого диска. Когда внешний жесткий диск не подключен, ПК будет пропускать наша загрузочная запись Ubuntu к следующей записи, которая, вероятно, является Диспетчер загрузки Windows .

0
ответ дан 3 January 2021 в 22:46

Я рекомендую вам выполнить следующие действия:

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

Установите средство восстановления загрузки, которое содержит утилиты для использования UEFI с Ubuntu.

выключите ноутбук.

Загрузитесь с внешнего жесткого диска

установите загрузочное соединение заново и выполните его, вы найдете в Интернете, который поможет вам настроить UEFi в Ubuntu.

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

Теперь вы можете завершить работу. Подключите внутренний жесткий диск и внешний жесткий диск. Загрузитесь с F12, чтобы настроить uefi для использования Windows 10 uefi и efi с внешнего жесткого диска Ubutnu.

Перезагрузка. Загрузка с внешнего жесткого диска Ubuntu.

Теперь начинаем волшебство использовать внутреннюю установку Windows 10 из Ubuntu с использованием Virtual Box в моем случае.

Что вам нужно сделать, так это то, что называется файлом «создать необработанный диск», который указывает на существующий жесткий диск. Позже вы создадите новую виртуальную машину Virtual Box, используя этот файл, и загрузите Windows 10 из Ubuntu, используя существующую установку. Не забудьте выбрать параметры UEFI в конфигурации виртуальной машины Virtual Box.

Вот пример создания виртуального жесткого диска с необработанными файлами из существующего, который Ubuntu отображает в / dev / nvme0n1:

VBoxManage internalcommands createrawvmdk -filename /home/luis/virtualmachines/Windows10/windows10.vmdk -rawdisk /dev/nvme0n1  -relative 

Это всего лишь немного Помогите. Вы можете обнаружить, что, возможно, вам нужно использовать Virtual Box с помощью sudo, но с помощью некоторых лекций и нескольких часов вы можете найти способ заставить его работать с вашим обычным пользователем.

0
ответ дан 3 January 2021 в 22:46

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

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