Содержание
Правильная загрузка ядра 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 без всяких эмуляций. Документации достаточно мало, поэтому хочу поделиться своим способом.
- EFI стартует при загрузке.
- Запускает rEFIt, программа, которая расширяет возможности дефолтного загрузчика, добавляя нормальное загрузочное меню, командную строку, и т. п.
- Сканирует
FAT/HFS
разделы (ext* не поддерживаются) ища загрузочный, который содержал бы каталог/efi/
; и загрузочные образы. - Запускает образ
Grub2
EFI сFAT
раздела. - Загружает ядро Linux с
/boot
(+initrd/initramfs
если задано). - Ядро, как обычно, загружается с корневого раздела, можно выбрать любую файловую систему.
Можно использовать 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, например, для управления параметрами приложений, такими как анимированная графика, или для
указать пути к временным папкам.
- Чтобы открыть
Диалоговое окно настроек:На компьютере с Windows щелкните Правка > Настройки.
На компьютере с Mac OS нажмите Command WorkStation > Настройки.
- Укажите любой из этих параметров:
Автоматически подключаться к серверам из предыдущих
сеанс — применяется только к пользователям с сохраненными паролями. Если этот флажок установлен, 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 сохранять локально такую информацию, как эскизы, для более быстрого просмотра
задания на экране. Укажите папку для хранения кэшированной информации. Нажмите «Изменить папку», чтобы перейти к новому расположению пути. Щелкните Очистить кэш, чтобы удалить сохраненные данные из указанной папки.