
Я собираюсь создать постоянный USB-накопитель с двойной загрузкой. Я хотел бы попробовать создать USB-накопитель, на котором я смогу загрузить macOS High Sierra и WIndows 10. Насколько я понимаю LVM, я могу создать 2 VG, 1 APFS и 1 NTFS. Это позволит мне загрузить Windows 10 на ПК и Windows 10/macOS на Mac. Я знаю, что обходные пути включают использование 2 USB-накопителей или использование bootcamp, но я хотел бы попробовать. rEFInd сможет предоставить мне необходимые параметры с отдельными файлами /boot в их собственных VG.
Вместо того, чтобы использовать GUI, я использую эту возможность, чтобы узнать об основах. Вот шаги, которые я предпринял.
Шаг 1: Я очистил свой USB-накопитель с помощью
sudo dd if=/dev/zero of=/dev/sdb bs=4k && sync
Шаг 2: Добавьте GPT.
sudo gdisk /dev/sdb
o # Create new empty GPT
Шаг 3: Создание раздела EFI
n # new partition
1 # 1st partition
<enter> # suggested/default start sector
+512M # Internet wisdom on EFI size
ef00 # EFI system
Шаг 4: Создание раздела LVM
n # new partition
4 # 2nd partition
+128M # Internet wisdom on good practice
-128M # Internet wisdom to create buffer space
8e00 # LVM file system
распечатываем конечный результат:
Disk /dev/sdd: 242614272 sectors, 115.7 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): FE8B1928-7122-4004-9CF6-D5D47C08999E
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 242614238
Partitions will be aligned on 2048-sector boundaries
Total free space is 526302 sectors (257.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1050623 512.0 MiB EF00 EFI System
2 1312768 242352094 114.9 GiB 8E00 Linux LVM
Вот тут я запутался. Я не знаю, как установить загрузчики в раздел EFI. Я следовал советам Рода СмитаУправление загрузчиками EFI для Linux: Установка загрузчика EFIиМенеджер загрузки rEFInd: Установка rEFIndно я запутался в этой /boot/efi
части. Моя Ubuntu-машина не /boot/efi, а /boot/grub.
Может ли кто-нибудь посоветовать реальные шаги для достижения rEFInd на внешнем USB-накопителе?
решение1
Системный раздел EFI — это просто раздел, отформатированный в FAT32 (с флагом загрузки ESP, установленным на таблицах разделов GPT). Некоторые системы UEFI с радостью загрузят загрузчики из раздела FAT32 на стандартный раздел MBR. Мне кажется, что вы создали его правильно, но не отформатировали. После форматирования вы «установите» туда rEFInd, скопировав файлы rEFInd.
- Формат:
mkfs.vfat -F 32 /dev/sdd1
- Устанавливать:
mkdir /tmp/usbboot && mount /dev/sdd1 /tmp/usbboot
- Подготовьте папку назначения:
mkdir /tmp/usbboot/EFI
- Скопируйте
rEFInd
файлы:cp -a /path/to/refind /tmp/usbboot/EFI/
(или используйтеrefind-install
скрипт:refind-install --root /tmp/usbboot
) - Отредактируйте
rEFInd
конфигурацию по вкусу (/tmp/usbboot/EFI/refind/refind.conf
)
Последний шаг для полной установки загрузчика в системе UEFI — это регистрация его в прошивке UEFI с помощью efibootmgr
или аналогичной. Это часто пропускается с загрузочными USB-накопителями; это повлияет только на текущую систему. Для загрузки в других системах вы должны использовать загрузочное меню прошивки. (Если не подключены другие диски и нет других загрузчиков на ESP USB, прошивка должна автоматически обнаружить rEFInd
и загрузить его.)
решение2
На съемном диске лучше всего скопировать/переименовать загрузчик ( refind.efi
) как /tmp/usbboot/EFI/boot/bootx64.efi
(используя пути, как в инструкциях quixotic). Это специальное имя файла, которое ищет прошивка UEFI: если оно существует, то диск будет определен как UEFI-bootable.
Если вы используете любой другой путь или имя файла для вашего загрузчика, то вам нужно будет использовать efibootmgr
или подобное, чтобы указать путь загрузки, как сказал quixotic. Это нормально для постоянных установок, но это не очень удобно, если ваша цель — иметь USB-устройство, которое вы можете подключить к любой системе для загрузки вашей собственной ОС.
Однако, похоже, вы планируете использовать Linux LVM на вашем USB-устройстве - это вряд ли вам подойдет. Ни Windows, ни macOS не поймут Linux LVM без дополнительного программного обеспечения (или вообще не поймут), и определенно не примут его в качестве места для своего системного раздела.
Вам здесь не нужен Linux LVM: это будет просто серьезным осложнением для ваших планов. Просто создайте раздел NTFS и раздел APFS, используя таблицу разделов GPT.