Нужен ли отдельный раздел EFI для каждой ОС, использующей общий диск?
Я устанавливал FreeBSD на мой MacBook Air. При разбиении диска установщик сказал мне
This partition scheme requires a boot partition for the disk to be bootable. Would you like to make one now? <Yes/No>
Проблема в том, что у меня уже есть раздел EFI на моем внутреннем SSD, который, по-видимому, обслуживает macOS. Нужно ли создавать другой для FreeBSD?
Я провел несколько болезненных экспериментов по этому вопросу:
- Когда я выбрал
No
FreeBSD перестает загружаться, т. Е. FreeBSD просто не отображается в меню rEFInd. Когда я выбрал
Yes
"Установщик FreeBSD, похоже, создал очень плохую гибридную MBR на вашем диске, и это сбивает с толку OS X", и, таким образом, мой диск был поврежден. К счастью, после того, как я следую инструкции @Rod Smith (создал новую защитную MBR вместо плохой гибридной MBR), эта проблема теперь решена, но теперь на моем диске 2 раздела EFI.Теперь мой внутренний SSD выглядит так:
sunqingyaos-MacBook-Air:~ sunqingyao$ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *121.3 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_HFS Macintosh HD 60.6 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 4: EFI EFI 209.7 MB disk0s4 5: FreeBSD UFS 53.5 GB disk0s5 6: FreeBSD Swap 6.2 GB disk0s6 7: 83BD6B9D-7F41-11DC-BE0B-001560B84F0F 101.4 KB disk0s7
Также,
sunqingyaos-MacBook-Air:~ sunqingyao$ sudo gpt -r show disk0 Password: start size index contents 0 1 PMBR 1 1 Pri GPT header 2 32 Pri GPT table 34 6 40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B 409640 118284248 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC 118693888 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC 119963424 409600 4 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B 120373024 104447992 5 GPT part - 516E7CB6-6ECF-11D6-8FF8-00022D09712B 224821016 12156928 6 GPT part - 516E7CB5-6ECF-11D6-8FF8-00022D09712B 236977944 198 7 GPT part - 83BD6B9D-7F41-11DC-BE0B-001560B84F0F 236978142 1 236978143 32 Sec GPT table 236978175 1 Sec GPT header
2 ответа
ESP обычно разделяются между операционными системами, поэтому нет, вам не нужна вторая; но это также не должно вызывать проблем. Тем не менее, некоторые инструменты или операционные системы могут запутаться из-за присутствия двух ESP. Установщик Windows - единственный пример, о котором я знаю. (Это влияет на Windows 7, но я не знаю о более поздних версиях.) Если вы столкнулись с такой проблемой, вы всегда можете изменить код типа на ESP, который вы не хотите использовать установщиком Windows - даже просто временно, (Временное изменение может быть полезно, если вы хотите установить две версии Windows, каждая с собственным ESP.)
Расположение ESP относительно других ваших разделов делает удаление одного неудобным - для восстановления места вам нужно переместить начальную точку хотя бы одного раздела, что отнимает много времени и опасно. Возможно, не стоит восстанавливать только около 200 МБ пространства, но опять же, ваш диск занимает всего 120 ГБ. Вы должны будете оценить, насколько драгоценно ваше пространство, в сравнении с затратами времени и риска.
Удалите раздел 4, так как он имеет ту же подпись (C12A7328-F81F-11D2-BA4B-00A0C93EC93B), что и 1-й раздел!
Для последовательности загрузки UEFI требуется только один системный раздел EFI (ESP).
Диспетчер загрузки UEFI проверяет устройства и загружает файл (загрузчик ОС), к которому обращается первый кандидат на загрузку, сохраненный в NVRAM (если его устройство присутствует), в противном случае пытается следующий кандидат на загрузку и так далее.
Все загрузчики UEFI хранятся в ESP:
\ EFI \ компания.....
\ EFI \ boot... является резервным загрузчиком.
MBR не должен играть с процессом загрузки UEFI. MBR необходим только для старшей загрузки BIOS. Возможно, загруженная ОС (OSX) проверяет MBR по какой-то неизвестной причине, поскольку диски в стиле GPT имеют таблицу разделов GPT и не используют информацию, хранящуюся в MBR.
Существует также гибридный процесс загрузки на дисках в стиле GPT:
Код MBR загружает загрузочный код из специального "загрузочного раздела BIOS", который, в свою очередь, "знает", что загружать дальше. Эта схема создается некоторыми дистрибутивами Linux, когда вы загружаете установочный носитель с помощью загрузки BIOS, а затем производите установку - предполагается, что загрузка BIOS выполняется на GPT-диске.
С прошивкой UEFI и GPT-диском всегда загружайте любой (установочный) носитель с помощью загрузки UEFI!!!