Как исправить работу программы DVD Player после установки OptiBay в свой Mac.

Установка дополнительного накопителя в свой MacBook, MacBook Pro, Mac mini или iMac стало «модной» тенденцией в последние несколько лет. Почему бы и нет? – Накопители на флеш-памяти (SSD) стали довольно доступной «роскошью», а переходники OptiBay массово появились на местных рынках. Всё это позволило большому числу желающих доволно удачно проапгрейдить свои «маки». Однако, как это часто бывает, не обошлось без «ложки дёгтя в бочке мёда»: операционная система Mac OS X не была готова к такому самоволию со стороны пользователей, и это отразилось в некретических и небольших глюках. Например, заменив встроенный DVD-привод на OptiBay с дополнительным накопителем, утилита Ассистент Boot Camp начинает «ругаться» на отсутствие DVD и отказывается работать. Для того, чтоб Ассистента Boot Camp заставить работать, нужно немного модифицировать его внутренности. Такая же беда происходит и со стандартной программой DVD-плеер, которая наотрез отказывается определять внешний USB DVD-драйв и ругается вот такой ошибкой:

Произошла ошибка инициализации
Не найден доступный дисковод DVD. [-70012]

На английском выглядит так:

There was an initialization error
A valid DVD drive could not not be found. [-70012]

Если вы столкнулись с такой же ошибкой – можно воспользоваться альтернативными программами, позволяющими проигрывать DVD и которым наплевать та то, внутренний или внешний привод используется. Но приятнее всё-же, когда встроенный функционал работает как положенно. В этой коротенькой заметке я расскажу, как исправить программу DVD-плеер, чтоб она начала прекрасно работать с внешним DVD-приводом.

На hardmac.com я нашёл давняшнее упоминание, что для работы программы DVD-плеер с внешним DVD-приводом нужно при помощи HEX-редактора пропатчить бинарный исполняемый модуль в фреймворке DVDPlayback.framework. Так и было сделано: при помощи программы HexEdit я заменил все значения «Internal» на «External» в файле DVDPlayback. После подключил свой внешний DVD-привод, запустил программу DVD-плеер… Вуаля! Всё заработало! Далее, руководствуясь налаженному методу автоматического патчинга бинариков, соорудил вот такую конструкцию:

sudo perl -pi -e 's|\x49\x6E\x74\x65\x72\x6E\x61\x6C|\x45\x78\x74\x65\x72\x6E\x61\x6C|g' \
/System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback

Выполнение данной команды при помощи Терминала позволяет автоматически пропатчить DVDPlayback.framework, и всё начинает работать как нужно. Для возврата к оригиналу нужно выполнить обратный патчинг:

sudo perl -pi -e 's|\x45\x78\x74\x65\x72\x6E\x61\x6C|\x49\x6E\x74\x65\x72\x6E\x61\x6C|g' \
/System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback

Но на этом я решил не останавливаться, и сделал небольшой AppleScript-апплет, позволяющий делать то же самое нажатием всего одной кнопки. Загружаем и распаковываем в удобное место этот архив, запускаем DVD Switcher – так я назвал свой апплет, и нажимаем на нужную кнопку:

Выбор DVD-привода в программе DVD Switcher На запрос ввода пароля администратора системы не стесняемся, вводим его (зловредов я никаких не встраивал). Ну вот, собственно, и всё. Пробуйте теперь запустить DVD-плеер.

 

Скачать DVD Switcher

 

P.S.: Программка локализирована на три языка: русский, украинский и английский, работа её испытана на OS X Mountain Lion (должна работать на всех предыдущих версиях Mac OS X). Кто захочет добавить свой язык – не проблема: в ресурсах апплета по адресу: DVD Switcher.app/Contents/Resources/Scripts/ находится некомпелированный AppleScript main.scpt. Его можно править на ваше усмотрение добавив ещё какую-либо локализацию или свои модификации. Дополнительная локализация добавляется вот такой конструкцией:

.............................
else if syslocale = "en" then --локализация
	set Title to "DVD Switcher" --заголовок окна
	set DialodText to "Which DVD drive do you want to use?" --текст диалогового окна
	set Button1 to "Internal" --кнопка выбора внутреннего DVD
	set Button2 to "External" --кнопка выбора внешнего DVD
	set Button3 to "Cancel" --кнопка отмены
.............................
Share this article
0
Share
Prev Post

Quick Brightness. Приложение для быстрой регулировки яркости экрана iOS-девайса.

Next Post

Если проблемы с очисткой Корзины…

Comments 28
  1. неплохо!Особенно если учитывать что и у меня есть внешний привод двд.Надо будет попробовать установить.А то у меня что то тоже не определился внешний привод и видит система только встроенную мацуситу но наотрез не определяет трансенд

  2. Здраствуйте,меня интересует один вопрос:
    можно ли как нибудь разогнать процессор в MacBook pro? или же заставить комп работать быстрее… Заранее спасибо

    1. Привет! Разогнать можно,но:
      1. только работая в Windows;
      2. это дурная затея.
      В MacBook, MacBook Pro, MacBook Air, iMac и Mac mini очень тонко настроена система охлаждения. Если «насиловать» процессор, то можно ненароком натворить беды. Самый эффективный способ «разгона» своего Mac – установка SSD + ОЗУ по-максимуму. Что хоть за MBP?

  3. оверклокинг процедура несложная.Но на ноутбуке неосуществимая в силу ограничений по железу-в ноутбуке поставлены довольно жесткие ограничения по мощности.То есть умышлено обрезана возможность разгона как по частоте так и по напряжению.Системный блок совсем другое дело-их собирают обычно с запасом мощности на случай разгона.Хотя говорю сразу запас небольшой.Так что если хотите заняться экспериментами по разгону системы то придется собирать себе самому системный блок с запасом мощности для этого дела.Да,и еще чуть не забыл-в ноутбуке именно из за ограничений по железу ставят только определенный биос-по моему там тоже есть какое то ограничение в отношении перегрузки но точно не смогу утверждать.И как правильно вам выше указали то придется использовать Виндовс(или некоторые дистрибутивы линукса) так как Мак ос не рассчитана на работу в оверклокинге

  4. Возможно ли использовать программу DVD Player без наличия DVD привода, внешнего либо внутреннего. У меня нет нужды в DVD приводе, однако иногда фильмы попадаются в виде папки VIDEO_TS которую удобно открывать через DVD Player.

    1. 1. Создаёшь пустую папку и перемещаешь в неё скопированные с оригинального DVD папки VIDEO_TS и AUDIO_TS (или только VIDEO_TS);
      2. Называешь данную папку как угодно и добавляешь вконце расширение .dvdmedia. У папки должен измениться значок на такой же как у программы DVD-плеер;
      3. Теперь двойным кликом открываешь данный пакет, DVD-плеер должен открыть его как обычный DVD диск.
      Не уверен, правда, будет ли DVD-плеер работать вообще без DVD-привода.

      _____
      Мда, только что проверил. Такая схема работает, но DVD-плеер по прежнему требует наличие DVD-привода. Попробую разобраться можно ли обойти данную пакость.

  5. Огромное спасибо, что пробуете. Комментарий этот можно не добавлять.
    Я просто хотел бы напомнить, что обращаться на вы стоит к людям старше 12 лет, по правилам этикета. Думаю это только украсит ваш милый и чудесный блог.

  6. Здравствуйте. Скажите пжл , вот мой внутренний двд диск определился как внешний , и чтобы все работало как надо мне надо ввести в терминале команду или установить програмку выше и все будет ок? На маверике будет работать?спасибо

  7. Рискнул , установил и запустил на маверике 10.9.1 – все работает)))) интересно а есть такие же програмки чтобы сделать съемные hdd внутренними, а то не правильно определились? А так спасибо огромное за програмку

  8. Блин я не чего не понял… как сделать конкретно? не понятно, напишите плиз пошаговую инструкцию, есле есть возможность командами через терминал, а то что делать с программой этой hexeditor и со свичер двд не чего не ясно, как заменить хекс фаилы пошагово можно написать пожалуйста?

    1. Ничего не нужно делать. Скачайте программу DVD Switcher (ссылка в посте), запустите её, нажмите кнопку соответствующую тому, какой у вас привод: внешний или внутренний…и всё.

  9. Спасибо большое за DVD Switcher! За одну секунду решил проблему, с которой бился долго! Слава талантам!

  10. MacBook Pro (mid 2009) / OS X 10.10.2 / DVD – внешний, на его месте SSD. Так вот, господа, – всё работает! Ура товарищи! 🙂

  11. Спасибо за мануал. Долго не мог завести DVD плеер на хаке, теперь все определяется и работает.
    Использовал терминальный способ.

  12. в captain os x способ с ДВД ПЕРЕКЛЮЧАТЕЛЕМ не работает.Что делать?Может есть другой?

  13. Скажите пожалуйста как подружить DVD внешний в КАПИТАНЕ ОС 10.10.11?DVD утилитой скачанной здесь не получается выдает ошибку.Заранее спасибо.

  14. MacBook Pro (mid 2009) / OS X 10.10.2 / DVD — внешний- не срабатывает. В терминале пишет: Operation not permitted, skipping file.
    Не сталкивался никто?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Read next