Схоже, встановити Ubuntu на зовнішній жорсткий диск не можливо з UEFI, де, як і у MBR, не було великої різниці між зовнішнім і внутрішнім. Це правда чи це все-таки можливо?
Чи можливо навіть комбінувати обидва способи завантаження?
Схоже, встановити Ubuntu на зовнішній жорсткий диск не можливо з UEFI, де, як і у MBR, не було великої різниці між зовнішнім і внутрішнім. Це правда чи це все-таки можливо?
Чи можливо навіть комбінувати обидва способи завантаження?
Відповіді:
Це фактично можливо .
Перш ніж продовжувати, ці вказівки призначені для порожніх системних розділів EFI (ESP) і, ймовірно, перезаписують наявні файли або не працюватимуть, як очікувалося. Принаймні робіть резервні копії!
Платформи: Legacy PC, комп'ютер на базі UEFI на базі UEFI, комп'ютер Apple
Вам потрібно дотримуватися цих інструкцій з іншої установки або живого носія.
Встановіть grub-efi-amd64-bin
пакет. Це дозволить встановити лише необхідні ресурси. Він не переключить існуючу установку в стилі MBR на UEFI і не переверне речі догори дном.
Скоротіть свій Ubuntu-розділ у GParted, щоб звільнити місце для ESP. Рекомендовані розміри для ESP варіюються від 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
тільки приклади , вибрані для роботи з частиною цієї відповіді.
Встановіть зображення EFUB 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 на жорстко закодований шлях \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
параметр.Це також працює, якщо ви просто хочете завантажити інсталяцію UEFI на іншому комп'ютері.
Створення завантажувального розділу BIOS (BBP) для GRUB дещо інше:
Встановіть grub-pc-bin
пакет.
Створіть розділ, подібний до наведених вище інструкцій, змінивши розмір кореневого розділу та встановіть bios_grub
прапор. Виберіть жодну файлову систему та залиште її неформатованою.
Відредагуйте файл конфігурації /etc/default/grub
з правами адміністратора та додайте GRUB_DEVICE=/dev/sdb6
до кінця. Замініть /dev/sdb6
фактичну назву пристрою BBP. Ви можете використовувати нано- редактор командного рядка, щоб все було просто.
Встановіть зображення GRUB MBR на BBP за допомогою:
grub-install --boot-directory /mnt/test/boot/ --target i386-pc $device
Ви можете видалити або прокоментувати рядок у ньому /etc/default/grub
та додати його до фактичної установки.
Я виявив, що зовсім новий Mac (Mac Mini A1347 EMC 2840), з яким я тестував, може завантажуватися зі стандартного FAT32 ESP, навіть з MBR! У будь-якому випадку, ми тут:
Встановити grub-efi-amd64-bin
, hfsprogs
, mactel-boot
і mactel-boot-logo
( по бажанню) пакети. Потрібно ввімкнути сховища Universe ( Як увімкнути сховище "Universe" з командного рядка ) та додати поточну PPA підтримки Mactel (детальніше див. Команду спільноти служби підтримки 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 вам просто потрібно буде натиснути клавішу опції ⌥ або Altна клавіатурах Windows і вибрати потрібний диск.
Щоб бути максимально точним, прапор завантаження не важливий для GRUB, GRUB за замовчуванням шукає UUID, щоб знайти потрібну файлову систему для завантаження. Встановлення прапора завантаження або прапор bios_grub в GParted зазвичай встановлює тип (MBR) або GUID (GPT) для розділу.
Перевага встановлення правильного типу або GUID, крім правильної роботи, полягає в тому, що ці розділи будуть приховані у файловому менеджері. Найпростіший спосіб перевірити та змінити типи та GUID - це через Disks ( gnome-disks
).
Або ви можете використовувати parted або gdisk:
У Вікіпедії є великий список GUID для GPT .
Еквівалентами командного рядка parted
відповідно до посібника є parted $device set partition esp on
і parted $device set partition bios_grub on
.
/boot/
не знайдено". Розділ grub.cfg
ESP вказує на правий UUID. Будь-які ідеї? Я був би радий написати нове запитання.