Команды efi macbook: Какие функции выполняет в MacBook EFI (описание на примере MacBook Pro EFI)

Правильная загрузка ядра linux с EFI на Macbook / Хабр

temujin

Настройка Linux *

Перевод

Автор оригинала:

Arun Raghavan

Предлагаю несколько вольный перевод программиста Gentoo о правильном способе загрузке на ноутах с EFI вместо BIOC-а на борту.

Мне недавно купили Macbook Pro 13.3 дюйм и я решил поставить на нём Gentoo Linux.

Сказано — сделано. В целом инсталляция прошла успешно, не считая маленьких недоразумений вроде неработающей клавы из под LiveCD, ядро видит консоль только с vesafb.

Единственное, что немного меня напрягало, это эмуляция BIOS-а. Маки используют для загрузки интеловский EFI, а для остальных ОС Apple добавило уровень эмуляции BIOS-а. Именно так Ubuntu и грузится на Маках.

Мне же это показалось неверным в техническом плане и в принципе. Я немного поднапрягся и мне удалось запустить ядро Linux из под EFI без всяких эмуляций. Документации достаточно мало, поэтому хочу поделиться своим способом.

  1. EFI стартует при загрузке.
  2. Запускает rEFIt, программа, которая расширяет возможности дефолтного загрузчика, добавляя нормальное загрузочное меню, командную строку, и т. п.
  3. Сканирует FAT/HFS разделы (ext* не поддерживаются) ища загрузочный, который содержал бы каталог /efi/; и загрузочные образы.
  4. Запускает образ Grub2 EFI с FAT раздела.
  5. Загружает ядро Linux с /boot (+ initrd/initramfs если задано).
  6. Ядро, как обычно, загружается с корневого раздела, можно выбрать любую файловую систему.


Можно использовать elilo, но Grub2 (точнее Grub 1. 97.1) справляется лучше, вернее это единственное, что хоть как-то работает с небольшими модификациями (добавить в ebuild USE флаг efi через --with-platform=efi). У меня получилось настроить /boot раздел на файловую систему FAT, но от этого падает installkernel скрипт запускаемый из директории исходников ядра, который создает символические ссылки на новый и предыдущий образы ядра.

Инструкции по установке EFI образа Grub2 тут. Установите образ EFI в директорию, что-то наподобие /efi/grub (обязательно должен быть путь /efi). Команды bless можно пропустить, они для OS X. Можете создать простенький конфиг-файл командой grub-mkconfig и затем модифицировать его. Однако, для того, чтобы сделать По Уму™ вручную отредактируйте файлы из /etc/grub.d/.

Конечно же надо выставить в ядре поддержку EFI, но на этом уже всё. Теперь вы осознаете с некоторым маниакально-навязчивым удовлетворением, что не должны подключать лишнее звено для поддержки еще одного проприетарного интерфейса, находящегося за пределами вашей видимости и контроля.

Теги:

  • linux
  • gentoo
  • efi
  • mac
  • grub2
  • grub

Хабы:

  • Настройка Linux

Всего голосов 57: ↑35 и ↓22 +13

Просмотры

9.8K

Комментарии
67

Микаел Григорян
@temujin

BigData

Комментарии
Комментарии 67

Использование гибридного жесткого диска в MacBook и установка на него Windows / Хабр

Эта история о том, как простая переустановка затянулась на несколько дней.

И как я пытался подружить EFI и Legacy на одном SSD в MacBook Pro

Предыстория


В 2018 году я себе приобрел в личное пользование MacBook Pro 15 дюймов, конца 2011 года. Можно уже сказать что он старый, да только на замену прошлого Lenovo он был просто как атомный реактор.

Очень удачно попался с нестандартной комплектацией, с 1680х1050 экраном и увеличенной графикой. И кажется что всё хорошо, можно пользоваться и будет тебе счастье, только для работы одной Mac OS будет мало и через некоторое время я стал ставить на его Windows. И тут я встретил большие проблемы.

Поиск проблем


Большинство информации в интернете рекомендуют ставить через bootcamp, что я и решил сделать как советуют. Только вот мой bootcamp не мог поставить windows. Из предложенного он мог только скачать пакет драйверов и создать\удалить раздел для новой ОС. На этом его функционал закончился. Поиск предлагает переписать несколько строк кода — безрезультатно.

Отложив это дело не надолго я стал искать по ноутбуку информацию. Банально это сверить серийный номер с сайтом и посмотреть что за он. Только официальный сайт ничего полезного не рассказывает. Позже я стал проверять по версии EFI(BootRom) и SMC. И тут я был очень удивлен!

Если версия EFI иногда обновляется с приходом новых обновлений из AppStore, то SMC не обновляется вообще. Конечно, на официальном сайте есть раздел и можно скачать новую версию, что кажется вполне логичным. Только вся проблема в том, что у каждого ноутбука своя версия SMC и всё, она не может меняться(только в самых крайних случаях). В интернете набрел на сайт где рассказывают по модельно в каком ноутбуке должна зашита «эта» версия SMC. Как оказалось, у меня версия от 13 дюймового 1.69f4. В конце концов я пытался понизить версию SMC, а результатов не было. Система говорила что обновилась, а изменений нет.

После всех поисков я терял надежды и решил просто поставить с флешки. И тут разочарование! Система мою звуковую карту видит в системных устройствах, а при попытке установить AMD графику я получаю код ошибки 32. И после установки Intel HD Graphichs я получаю чёрный экран. Пробовал разные сборки, везде один и тот-же результат. В конце концов решение было найдено довольно банально, придя к отцу, взяв его MacBook Pro mid 2012 и поставив в его свой SSD, я поставил Windows и всё было хорошо, я имел одну AMD графику и рабочий звук с остальной периферией. Только я знал что это не вечно и может случиться так что второго ноутбука не будет а переустановить надо. И вот тогда я столкнулся с этим снова.

Таблетка от всех болезней


Практически 95% ресурсов требуют установку через BootCamp, мне эта идея не нравилась, всегда было приятно ручками вручную всё делать. Из прошлой работы Windows я узнал что она работает в режиме Legacy. Я был очень удивлен и не понял как так может быть, если у меня всё работает в системах EFI. По этому в интернете набрел на информацию по конвертации диска из обычного в «гибридный». Тем самым я могу использовать его как GPT и MBR одновременно.

Первым делом мне нужно узнать разметку своего диска.

Я получаю ответ:

sudo gpt -r show /dev/disk0
gpt show: /dev/disk0: Suspicious MBR at sector 0
      start       size  index  contents
          0          1         MBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  204799960      2  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
  205209600  294907904      3  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  500117504        655         
  500118159         32         Sec GPT table
  500118191          1         Sec GPT header
sudo fdisk /dev/disk0
Disk: /dev/disk0	geometry: 31130/255/63 [500118192 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 *1: EE    0   0   2 - 1023 254  63 [         0 -     500118191] <Unknown ID>
  2: 00    0   0   0 -    0   0   0 [         0 -          0] unused       
  3: 00    0   0   0 -    0   0   0 [         0 -          0] unused 
  4: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
mbp-mansi:~ mansi$ 

Далее, я начинаю редактировать структуру, согласно информации о разделах:

sudo fdisk -e /dev/disk0
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
Enter 'help' for information
fdisk: 1> edit 1
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE    0   0   2 - 1023 254  63 [         1 -     409639] <Unknown ID>
Partition id ('0' to disable)  [0 - FF]: [EE] (? for help) EE
Do you wish to edit in CHS mode? [n] N
Partition offset [0 - 500118192]: [63] 1
Partition size [1 - 500118191]: [500118191] 409639
fdisk:*1> edit 2
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 2: AF 1023 254  63 - 1023 254  63 [    409640 -  204799960] HFS+        
Partition id ('0' to disable)  [0 - FF]: [AF] (? for help) AF
Do you wish to edit in CHS mode? [n] N
Partition offset [0 - 500118192]: [409640] 409640
Partition size [1 - 499708552]: [499708552] 204799960
fdisk:*1> edit 3
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
*3: 0C 1023 254  63 - 1023 254  63 [ 205209600 -  294907904] Win95 FAT32L
Partition id ('0' to disable)  [0 - FF]: [C] (? for help) 0C
Do you wish to edit in CHS mode? [n] N
Partition offset [0 - 500118192]: [205209600] 205209600
Partition size [1 - 294908592]: [294908592] 294907904
fdisk:*1> 


После чего выставляем флаг на третий раздел командой

flag 3

, и закрываем утилиту, командой exit или q. И проверяем что у нас получилось.

sudo fdisk /dev/disk0
Disk: /dev/disk0	geometry: 31130/255/63 [500118192 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE    0   0   2 - 1023 254  63 [         1 -     409639] <Unknown ID>
 2: AF 1023 254  63 - 1023 254  63 [    409640 -  204799960] HFS+        
*3: 0C 1023 254  63 - 1023 254  63 [ 205209600 -  294907904] Win95 FAT32L
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused 


И что бы убедиться у нас всё получилось на 100%, можно скачать дополнительный пакет gdisk и запустить его с такой командой

sudo gdisk /dev/disk0
GPT fdisk (gdisk) version 1.0.4
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
  MBR: hybrid
  BSD: not present
  APM: not present
  GPT: present
Found valid GPT with hybrid MBR; using GPT. 
Command (? for help):

И если всё сделали верно, раздел с MBR стал гибридным.

EFI shell legacy mode?


Самое интересное теперь в установке Windows. Она у нас не пойдет как обычно, система попросту не даст установиться. Это и логично, мы ведь загружаем установку в режиме EFI и требуем работу с GPT разметкой а система не ставит в данном режиме на MBR.

WinNTSetup отлично помогла установить операционную систему. После выбора языка, вызываем консоль сочетанием клавиш Shift + F10 и переходим в каталог с программой, которую предварительно скопировали на флешку. А тут всё просто, запускаем её, указываем файл с установкой, куда хотим ставить и жмём старт. После чего идёт распаковка файлов, запись загрузчика и всё, система почти установлена.

После успешной установки закрываем программу, выходим из установки и перезагружаем ноутбук и выбираем новый раздел с Windows и ждём чудо. Система может перезагрузиться несколько раз, что вполне нормально и после нескольких минут ожидания мы получаем рабочую версию Windows c одной графикой и работающим звуком.

Заключение


После подобных манипуляций и информации в интернете, работа приложения BootCamp становится всё понятнее и понятнее. Она делает данные операции автоматически, мы всё правили вручную. А теперь, после такой информации уже не страшно переустанавливать всё и замена ssd на больше с установкой всех ОС займет на много меньше времени.

Полезные ссылки:

BootCamp — support.apple.com/en-us/HT201468

gdisk\fdisk — www.rodsbooks.com/gdisk

Конвертация GPT в гибридный — apple.stackexchange.com/questions/308824/how-to-convert-a-drive-from-the-gpt-format-to-the-hybrid-gpt-mbr-format-when-usi?rq=1

WinNTSetup — wntsetup.ru

справочная страница nvram — macOS

справочная страница nvram — macOS — SS64.com

  • SS64
  • macOS
  • Практическое руководство

Управление переменными прошивки.

 Синтаксис
      nvram [-p] [-f  имя файла ] [-d  имя ] [-c] [ имя  [=  значение ]] . ..

Ключ
   -d  имя  Удалить названную переменную прошивки.

   -f имя_файла Задать переменные прошивки из текстового файла. Файл должен быть списком операторов "имя-значение".
                Первый пробел в каждой строке используется как разделитель между «имя» и «значение».
                Если последним символом строки является \, значение распространяется на следующую строку.

   -x Использовать формат XML для чтения и записи переменных. Эта опция должна быть использована до
                опции -p или -f, так как аргументы обрабатываются по порядку.

   -c Удалить все переменные прошивки.

   -p Распечатать все переменные прошивки. 

Команда nvram позволяет манипулировать переменными встроенного ПО NVRAM. Его можно использовать для получения или установки переменной. Его также можно использовать для печати всех переменных или для установки списка переменных из файла. Изменения в переменных NVRAM сохраняются только при чистом перезапуске или завершении работы.

В принципе, имя может быть любой строкой. На практике не все строки будут приняты. Машины New World могут создавать новые переменные по желанию. Для получения или установки большинства переменных требуются права администратора sudo.

Заданное значение должно соответствовать типу данных, требуемому для имени . Двоичные данные могут быть установлены с использованием нотации %xx, где xx — шестнадцатеричное значение байта. Типом новых переменных всегда являются двоичные данные.

Изменения в настройках прошивки могут помешать загрузке компьютера. Сделайте резервную копию вашего Mac и данных с помощью Time Machine или выбранного вами метода резервного копирования и проверьте текущее значение с помощью -p, прежде чем вносить какие-либо изменения.

Переменные NVRAM

 aht-results Содержит сведения о последнем запуске Apple Hardware Test.
уровень подсветки
bluetoothActiveControllerInfo
bluetoothInternalControllerInfo
boot-args Можно задать несколько значений в виде списка, разделенного пробелами boot-args="item=0 item=1"
дисплей-конфигурация
efi-яблоко-восстановление
efi-загрузочное устройство
efi-загрузочные данные устройства
EFIBluetoothDelay Время, отведенное для подключения беспроводной клавиатуры во время запуска
fmm-имя-компьютера
LocationServicesEnabled
предыдущий язык:kbd
SystemAudioVolume Установите для этого параметра значение %01 на компьютерах Mac до 2017 года, чтобы отключить звуковой сигнал при запуске. 
SystemAudioVolumeDB 

Для сброса NVRAM на любой модели Mac

Выключите Mac.

Включите Mac, затем сразу же нажмите и удерживайте клавиши: Command, Option, P и R.

Подождите 20 секунд, пока Mac полностью загрузится.

После этого все настройки nvram вернутся к значениям по умолчанию.

Это также приведет к сбросу политики сторонних расширений ядра, если она была ранее изменена по умолчанию с помощью spctl.

Примеры

Список всех переменных, которые в настоящее время хранятся в NVRAM вашего Mac:

$nvram-p

Список всех переменных, которые в настоящее время хранятся в NVRAM вашего Mac в формате XML:

$nvram-xp

Список текущих значений (если есть) загрузочных аргументов:

$ nvram -p | grep загрузочные аргументы

Включите внешний Apple SuperDrive на Mac, который уже имеет встроенный оптический привод.

$ sudo nvram boot-args=»mbasd=1″

Установите переменную boot-args в однопользовательский режим с корневым устройством в разделе жесткого диска 10:

$ sudo nvram boot-args=»-s rd=*hd:10″

Создайте новую переменную ss64, содержащую список из двух C-строк, заканчивающихся символом NUL:

$ sudo nvram ss64=»Строка один%00Строка два%00%00″

Удалить переменную с именем ss64:

$ sudo nvram -d ss64

«Настоящая легкость письма исходит от искусства, а не от случая, потому что легче всего двигаются те, кто научился танцевать» ~ Александр Поуп

Связанные команды macOS:

launchctl — загружать или выгружать демоны/агенты.
spctl — безопасность системной политики SecAssessment.
sysctl — Получить или установить состояние ядра.
Сочетания клавиш macOS
HT204063 — сброс NVRAM или PRAM на вашем Mac.
HT201295 — Как сбросить настройки контроллера управления системой (SMC) на вашем Mac.


 

Copyright © 1999-2022 SS64.com
Некоторые права защищены

Задать настройки Command WorkStation

Задать настройки Command WorkStation

Скрыть или показать навигациюПредыдущая темаСледующая темаSharePrintPDF

Для использования этого сайта должен быть включен JavaScript.

Пожалуйста, включите JavaScript в вашем браузере и обновите страницу.

Вы можете установить глобальные настройки для Command WorkStation, например, для управления параметрами приложений, такими как анимированная графика, или для
указать пути к временным папкам.

  1. Чтобы открыть
    Диалоговое окно настроек:

    • На компьютере с Windows щелкните Правка > Настройки.

    • На компьютере с Mac OS нажмите Command WorkStation > Настройки.

  2. Укажите любой из этих параметров:
    • Автоматически подключаться к серверам из предыдущих
      сеанс — применяется только к пользователям с сохраненными паролями. Если этот флажок установлен, Command WorkStation автоматически подключается к каждому серверу Fiery Server, к которому вы подключались ранее.

    • Автоматически проверять наличие обновлений — открывает Fiery
      Диспетчер программного обеспечения для проверки наличия более поздней версии программного обеспечения Command WorkStation и приложений Fiery в Интернете.
    • Включить
      Cube Rotation — Включает отображение вращения куба при переходах.

    • Включить анимацию — включает отображение
      анимированная графика в полосах обработки и печати для указанного сервера Fiery Server.

    • Включить всплывающие подсказки — включает отображение
      всплывающий текст с описанием кнопок Command WorkStation и
      опции. Если выбран этот параметр, подсказки появляются при наведении указателя мыши на кнопку.
      или вариант.

    • Профиль монитора —
      Либо отображает настройку операционной системы для профиля монитора
      или позволяет выбрать профиль монитора для основного монитора.
      Профиль монитора используется Color Editor и Paper Simulation.
      Профиль, выбранный во время установки, используется по умолчанию. Нажмите кнопку Обзор, чтобы найти и
      импортировать новый профиль монитора.

    • Временный путь — указывает папку
      где Command WorkStation временно хранит копии заданий
      вы редактируете или меняете. Чтобы изменить временный путь, нажмите кнопку Обзор и укажите папку.

    • ПС по
      Преобразование PDF — указывает параметр Adobe PDF по умолчанию, используемый при преобразовании файлов в
      PDF для Impose/Compose и Quick Doc Merge. Выберите Использовать сервер
      преобразование, если оно поддерживается, чтобы сервер Fiery Server мог
      конвертировать файлы на сервере, а не на компьютере пользователя, и выбрать параметр PDF,
      вы хотите использовать. Выберите Использовать параметры сервера по умолчанию, чтобы разрешить серверу Fiery Server использовать собственный профиль по умолчанию. Выберите файл параметров задания, выбранный пользователем, чтобы разрешить пользователю просматривать и загружать
      их собственный профиль.

      Преобразование сервера часто происходит быстрее, чем загрузка файла на клиентский компьютер.
      для преобразования, а затем повторной загрузки на сервер Fiery Server.
      потом. Однако этот параметр не рекомендуется использовать в следующих случаях:

      • Имеются лицензионные шрифты, установленные только на компьютере пользователя, которые необходимы для
        преобразование.
      • Если доступна более новая версия Adobe Acrobat, преобразование должно быть выполнено с использованием более новой версии.
        версия для поддержки новых функций Acrobat.
      • Пользователь хочет убедиться, что сервер Fiery Server
        ресурсы выделяются только для обработки, а не для конвертации файлов.
      • Пользователь подключен к предыдущей версии Fiery Server, которая не поддерживает преобразование на стороне сервера.
    • Путь к шаблону спуска полос — указывает папку, в которой находятся шаблоны спуска полос.
      расположенный для Command WorkStation. Чтобы изменить папку шаблона
      путь, щелкните Обзор и укажите папку.

    • Масштаб — спецификация
      значение шкалы по умолчанию, используемое для наложенных заданий. Выберите масштаб для соответствия
      или 100%.

    • Отделка
      Размер — определяет готовый размер по умолчанию для наложенных заданий на основе поля кадрирования или пользователя.
      определенные значения. Параметр «На основе поля обрезки» используется по умолчанию и зависит от
      на поле обрезки PDF. Настройка User Defined позволяет Fiery Impose обнаруживать
      параметры поля обрезки, если они присутствуют в документе, и использовать их в качестве конечного размера по умолчанию.

    • Язык приложения — позволяет выбрать
      язык, на котором вы хотите отображать Command WorkStation.
      по умолчанию Command WorkStation использует локальную операционную систему
      язык, если язык поддерживается. Если язык не поддерживается, Command WorkStation использует английский или язык, выбранный во время
      установка программного обеспечения (только для Windows).

    • Единицы — указывает единицы измерения
      используется для отображения атрибутов, таких как размеры страниц и нестандартные размеры, которые вы вводите в задании.
      диалоговом окне свойств и в окне Command WorkStation.
      Этот параметр не влияет на предопределенные значения размера страницы.

      Примечание. Если установлено приложение Impose
      и включена, настройка Units также применяется к введенным значениям
      вручную в окне «Спуск полос».

    • Настройки кэша — выберите «Включить кэширование», чтобы разрешить Command WorkStation сохранять локально такую ​​информацию, как эскизы, для более быстрого просмотра
      задания на экране. Укажите папку для хранения кэшированной информации. Нажмите «Изменить папку», чтобы перейти к новому расположению пути. Щелкните Очистить кэш, чтобы удалить сохраненные данные из указанной папки.

scroll to top