Итак, я использовал Ubuntu в течение месяца или двух в двойной загрузке с Windows 8, он выглядел и работал нормально, однако по какой-то причине сломался, и мне пришлось восстанавливать весь ПК. Из-за этого неудачного опыта я решил переустановить Ubuntu на внешний жесткий диск, отделенный от моей основной машины Windows. Этот вариант подходит для обеих операционных систем.
Однако, при установке Ubuntu, по какой-то причине, загрузчик Grub не был установлен на внешний диск, в то же время «старый» загрузчик Grub никогда не стирался с внутреннего жесткого диска ПК. В результате я нахожусь в странной ситуации: когда я хочу запустить Windows, я просто включаю компьютер и ухожу. Когда я хочу запустить Linux, мне нужно подключить внешний диск, зайти в меню запуска и изменить загрузчик с Windows на Grub. Внешний жесткий диск не является загрузочным (как, например, USB-накопитель), и эту длинную последовательность операций необходимо повторять каждый раз.
Краткий обзор:
Мой вопрос: Как сделать внешний накопитель загрузочным, чтобы при переходе с Windows в Linux я просто выключаю компьютер, подключаю USB, включаю компьютер и работаю? (без потери данных, которые я уже сохранил на нем и все предпочтения)
PS. По какой-то причине Windows работает очень медленно при загрузке через загрузчик Grub, доступный на внутреннем диске. Кроме того, если внешний жесткий диск не подключен, загрузчик Grub отображает только панель восстановления Grub. Поэтому использование уже установленного Grub в качестве единственного загрузчика не вариант.
Я в конечном счете нашел решение своей проблемы. Я отправлю его здесь в случае, если кому-то, возможно, понадобится он. Кроме того, я не совсем уверен, что работало и если все шаги, которые я сделал, были действительно необходимы, однако это работало.
для проверки UUID разделов просто вводят в терминале
ls -l /dev/disk/by-uuid
, в то время как отредактировать fstab файл
sudo nano /etc/fstab
, Теперь устанавливают Личинку. (Можно также попытаться скопировать личинку от внутреннего диска до раздела внешнего диска, но это не работало на меня).
sudo замена установки личинки/dev/sdx
sdX с фактическим диском.
Это - то, как я установил личинку к своему внешнему жесткому диску (GPT), которому установили Ubuntu 17.04. Когда Вы делаете это, это позволяет Вам загружать свою Ubuntu на любом ПК, который поддерживает UEFI при помощи личинки на внешнем, не полагаясь на личинку ПК. Это может также служить резервной личинкой в случае, если проблема с EFI Windows.
Начальная загрузка в Ubuntu живой USB, и подключите внешний жесткий диск.
разделы Списка всех устройств:
lsblk
От результатов [1 116], определите раздел Linux и также efi раздел внешнего жесткого диска, т.е. /dev/sdXY1
и /dev/sdXY2
соответственно. Замена XY1
и XY2
с Вашими собственными именами раздела.
Специальное монтирование раздел Linux:
sudo mount /dev/sdXY1 /mnt
Монтируют критические виртуальные файловые системы:
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
chroot
в раздел Linux Вы смонтировались:
sudo chroot /mnt
Вы находитесь теперь в файловой системе Linux внешнего жесткого диска.
Создают каталог, где личинка установила бы свои файлы:
mkdir -p /boot/efi
, Если это уже существует, затем пропустите к шагу 8.
, Монтируют efi раздел от шага 3:
mount /dev/sdXY2 /boot/efi
личинка Установки к внешнему жесткому диску:
grub-install /dev/sdX
личинка Обновления:
update-grub
Находят UUID efi раздела (иначе 'vfat') и записывают его:
blkid
или
ls -l /dev/disk/by-uuid
Теперь мы должны сказать fstab монтировать что efi раздел на начальной загрузке:
cp /etc/fstab /etc/fstab.bak
sudo nano /etc/fstab
Добавляют ниже двух строк к fstab, заменяющему xxxx-xxxx с UUID от шага 11:
#my modified fstab to mount external hard drive's esp
UUID=xxxx-xxxx /boot/efi vfat umask=0077 0 1
Удостоверяются, что прокомментировали fstab запись Windows особенно, таким образом, это не конфликтует.
Выход chroot:
exit
Перезагружают ПК:
sudo reboot
В этой точке, когда Вы перезагрузите и выберете свое внешнее устройство из диспетчера начальной загрузки EFI, оно загрузится для расчистки.
, Чтобы заставить Ubuntu автоматически загрузиться при вставке внешнего и Windows для автоматической начальной загрузки, когда внешнее не вставляется, необходимо было бы создать пользовательскую запись загрузки для Ubuntu для указания на efi на внешнем диске:
Из Windows EasyUEFI может добавить или удалить записи загрузки.
От Linux efibootmgr может добавить или удалить записи загрузки.
Альтернативный № 1 – использование EasyUEFI
В Windows загружает EasyUEFI, устанавливает его и работает.
Выбирают , менеджер по опциям EFI
Выбирает создают 'новую запись' с +, знак
Выбирает Linux или другая ОС и дает ему имя в Выборе поля
описания раздел FAT32 EFI на внешнем диске, который содержит загрузчик личинки
, Выбирают , обзор
Перешел к [11 106]/efi/ubuntu/shimx64.efi или ,/efi/ubuntu/grubx64
Сохраняет
Перемещение это к верхней части списка записей загрузки
Перезапуск
Альтернативный № 2 – использование efibootmgr
записи меню начальной загрузки List:
efibootmgr
Создают запись загрузки:
efibootmgr -c [-L label] [-d /dev/sdX]
, например: efibootmgr -c -L myubuntu -d /dev/sdX
Эта запись загрузки автоматически была бы первой записью.
/dev/sdX
внешний жесткий диск с загрузчиком личинки.
можно теперь перезагрузить, и без вмешательства автоматически загрузилась бы Ubuntu, когда внешний жесткий диск включается. Когда внешний жесткий диск не включается, ПК пропустил бы наш запись загрузки Ubuntu к следующей записи, которая является, вероятно Windows Boot Manager .
zfs-doc
от здесь . Все другие пакеты, кажется, зависят от него. Можно установить его путем выполнения dpkg -i <file you just downloaded>
–
28 May 2017 в 23:36