Похоже, что установка Ubuntu к внешнему жесткому диску не возможна с UEFI, где как с MBR не было большой разницы между внешним и внутренним. Это верно, или это все еще возможно?
Даже возможно объединить оба метода начальной загрузки?
Это на самом деле возможно.
Прежде чем я продолжу, эти инструкции предназначены для пустых Системных разделов EFI (ESP) и будут, вероятно, перезаписывать существующие файлы или не работать как ожидалось. По крайней мере, сделайте резервные копии!
Платформы: Наследие ПК, основанный на UEFI компьютер Windows, компьютер Apple
Необходимо следовать этим инструкциям от другой установки или живых медиа.
Установите grub-efi-amd64-bin
пакет. Это только установит необходимые ресурсы. Это не переключит Вашу существующую установку стиля MBR на UEFI и перевернет вещи вверх дном.
Уменьшите свой раздел Ubuntu в GParted для создания пространства для ESP. Рекомендуемые размеры для диапазона ESPs от 100 МБ до 500 МБ, но файлов, созданных путем следования этим инструкциям здесь, не потребуют больше чем 2 - 5 мегабайтов.
Примечание: Не должно иметь значения, где Ваш ESP расположен на диске, и уменьшение Вашего раздела Ubuntu несколькими мегабайтами от конца должно быть быстрым и безопасным. Уменьшение вначале не безопасно. Один протест, хотя, Ваш ESP должен быть основным разделом и не быть частью расширенного раздела или логического тома, числа раздела от 1 до 4 прекрасны, числа выше указывают на расширенный раздел на таблицах разделов MBR.
Выберите FAT32 в качестве файловой системы и установите флаг начальной загрузки.
Смонтируйте ESP, который Вы просто создали и корневая файловая система Вы уменьшенный:
mkdir -p /mnt/esp
mount $esp_device /mnt/esp
mkdir -p /mnt/rootfs
mount $root_device /mnt/rootfs
Примечание: Замена
$esp_device
и$root_device
с соответствующими устройствами, например./dev/sdb2
и/dev/sdb1
. Точки монтирования/mnt/esp
и/mnt/rootfs
просто примеры, выбранные для работы с остающейся частью этого ответа.
Установите изображение EFI GRUB и минимальный конфигурационный файл с:
grub-install --efi-directory /mnt/esp --boot-directory /mnt/rootfs/boot --target x86_64-efi --removable $device
Отметьте это
$device
целое устройство, например./dev/sdb
, не раздел.
Вот именно мы уже сделаны, но позволяем мне попытаться объяснить несколько вещей.
Параметр --target x86_64-efi
гарантирует, что изображения UEFI и модули будут установлены на данных путях. --removable
установит изображение UEFI на пути hardcoded \EFI\BOOT\BOOT{arch}.EFI
для съемных носителей, вместо распределения определенный путь. Ваш grub.cfg
в /boot/grub/
должен работать и с методами начальной загрузки и с новой названной папкой x86_64-efi
должен теперь существовать рядом с i386-pc
.
Для полноты это - команда для несъемных носителей, которая пишет и полагается на записи NVRAM в платформе:
grub-install --efi-directory /mnt/esp --boot-directory /mnt/rootfs/boot --target x86_64-efi --bootloader-id "Ubuntu" $device
Надлежащие установки UEFI включают строку, подобную той ниже в /etc/fstab
, но установка функциональна без, и изображение UEFI (подобный загрузчику MBR) обычно только пишется/обновляется во время установки ОС.
UUID=1234-567F /boot/efi vfat defaults 0 1
При добавлении ESP к установке прежней версии на GPT разделенный диск очень похож на вышеупомянутое:
grub-efi-amd64-bin
пакет.boot
флаг.grub-install
команда от вышеупомянутого, который включает --removable
параметр.Это также работает, если Вы просто хотите загрузить свой exisitng UEFI установка на другом компьютере.
Создание BIOS загрузочного раздела (BBP) для GRUB несколько отличается:
Установите grub-pc-bin
пакет.
Создайте раздел, подобный инструкциям выше путем изменения размеров корневого раздела, и установите bios_grub
флаг. Не выберите файловую систему и оставьте восстановленным после форматирования.
Отредактируйте конфигурационный файл /etc/default/grub
с административными правами и добавляют GRUB_DEVICE=/dev/sdb6
в конец. Замена /dev/sdb6
с названием существующего устройства Вашего BBP. Можно использовать редактора командной строки нано для хранения вещи простым.
Установите изображение MBR GRUB на BBP с:
grub-install --boot-directory /mnt/test/boot/ --target i386-pc $device
Вы могли бы хотеть удалить или прокомментировать строку в /etc/default/grub
и добавьте его к фактической установке.
Я нашел, что очень новый Mac (Mac Мини-A1347 EMC 2840) тестировал с, мог загрузиться от стандартного FAT32 ESP, даже от MBR! Так или иначе здесь мы идем:
Установите grub-efi-amd64-bin
, hfsprogs
, mactel-boot
и mactel-boot-logo
(дополнительно) пакеты. Необходимо ли включить репозитории Вселенной (Как я включаю репозиторий "Вселенной" из командной строки?) и добавляют, что текущие Mactel поддерживают PPA (дополнительную информацию см. в команде Сообщества поддержки Mactel) устанавливать всех их.
Создайте раздел с HFS + файловая система, подобная инструкциям выше путем изменения размеров корневого раздела. На этот раз нам нужны несколько мегабайтов больше пространства, так удвойте размер ESP, если у Вас было только 5 мегабайтов или меньше прежде. Никакой флаг не требуется.
Смонтируйте разделы:
mkdir -p /mnt/esp-mac
mount $esp-mac_device /mnt/esp-mac
mkdir -p /mnt/rootfs
mount $root_device /mnt/rootfs
Примечание: Я выбрал
$esp-mac_device
и/mnt/esp-mac
избегать конфликтов.
Работайте grub-install
команда, которая включает --removable
параметр:
grub-install --efi-directory /mnt/esp-mac --boot-directory /mnt/rootfs/boot --target x86_64-efi --removable $device
Наконец установите раздел путем, Mac ожидает, что это будет:
sudo hfs-bless /mnt/esp-mac/EFI/BOOT/bootx64.efi
sudo cp -v /mnt/esp-mac/EFI/BOOT/bootx64.efi /mnt/esp-mac/System/Library/CoreServices/boot.efi
sudo cp -v /mnt/esp-mac/EFI/BOOT/grub.cfg /mnt/esp-mac/System/Library/CoreServices/grub.cfg
sudo cp -v /usr/share/mactel-boot/SystemVersion.plist /mnt/esp-mac/System/Library/CoreServices/SystemVersion.plist
sudo cp -v /usr/share/mactel-boot-logo/ubuntu.icns /mnt/esp-mac/.VolumeIcon.icns
echo "Dummy kernel for booting" | sudo tee /mnt/esp-mac/mach_kernel
Для начальной загрузки Ubuntu от внешних медиа на Mac, необходимо было бы теперь просто нажать функциональную клавишу ⌥ или Высокий звук на клавиатурах Windows и выбрать правильный диск.
Чтобы быть максимально точным, флаг начальной загрузки не важен для GRUB, GRUB по умолчанию ищет UUID, чтобы найти, что правильная файловая система загружается от. Установка флага начальной загрузки или флага bios_grub в GParted обычно устанавливает тип (MBR) или GUID (GPT) для раздела.
Преимущество установки корректного типа или GUID, помимо наличия правильно рабочей установки, то, что эти разделы будут скрыты в filemanager. Самый легкий способ проверить и изменить типы и GUID через Диски (gnome-disks
).
Кроме того, Вы могли использовать разделенный или gdisk:
Википедия имеет большой список GUID для GPT.
Эквиваленты командной строки в parted
согласно руководству parted $device set partition esp on
и parted $device set partition bios_grub on
.