[Из песочницы] Использование гибридного жесткого диска в MacBook и установка на него Windows

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

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

image

Предыстория


В 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] 
  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] 
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] 
 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 и переходим в каталог с программой, которую предварительно скопировали на флешку. А тут всё просто, запускаем её, указываем файл с установкой, куда хотим ставить и жмём старт. После чего идёт распаковка файлов, запись загрузчика и всё, система почти установлена.

image

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

image

Заключение


После подобных манипуляций и информации в интернете, работа приложения 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

© Habrahabr.ru