Я хотел бы, чтобы я недавно установил Debian Linux на свой Macbook, что потребовало переразметки жесткого диска.
Теперь я не могу загрузиться в режиме восстановления. Удерживание Command + R при загрузке вызывает режим восстановления Интернета. Удержание Option при загрузке вызывает диспетчер запуска, в котором указан Recovery HD, но если я выберу его, загрузится обычная OS X.
Я использую Retina MacBook Pro начала 2015 г. 13 дюймов на OS X 10.11.4.
$ 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 843043264 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
843452904 1269536 3 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
844722440 123046872 4 GPT part - 0FC63DAF-8483-4772-8E79-3D69D8477DE4
967769312 262144
968031456 8811424 5 GPT part - 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
976842880 262147
977105027 32 Sec GPT table
977105059 1 Sec GPT header
$ sudo fdisk /dev/disk0
Disk: /dev/disk0 geometry: 60821/255/63 [977105060 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 0 0 1 - 1023 254 63 [ 1 - 409639] <Unknown ID>
*2: AF 1023 254 63 - 1023 254 63 [ 409640 - 843043264] HFS+
3: AF 1023 254 63 - 1023 254 63 [ 843452904 - 1269536] HFS+
4: 83 1023 254 63 - 1023 254 63 [ 844722440 - 123046872] Linux files*
$ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 431.6 GB disk0s2
3: Apple_HFS Recovery HD 650.0 MB disk0s3
4: Linux Filesystem 63.0 GB disk0s4
5: Linux Swap 4.5 GB disk0s5
$ diskutil cs list
No CoreStorage logical volume groups found
Из опубликованных вами результатов я вижу, что GUID для раздела восстановления неверен. Это раздел номер 3 в таблицах. Правильное значение в GPT будет 426F6F74-0000-11AA-AA11-00306543ECAC. Команда fdisk
также показывает неправильное значение в таблице MBR. Здесь правильное значение должно быть AB
. Если вы не можете загрузиться в свой раздел восстановления после восстановления этих таблиц, я бы предположил, что содержимое раздела повреждено.
Насколько мне известно, в OS X нет утилиты для такого вида ремонта. (Технически вы можете использовать эту dd
команду, но ни один здравомыслящий человек не будет пытаться использовать ее dd
для решения этой проблемы.) Я бы рекомендовал скачать и установить gdisk
команду отсюда . Для установки вам может потребоваться изменить настройки на панели «Безопасность и конфиденциальность» в «Системных настройках».
Чтобы использовать эту gdisk
команду, вам необходимо отключить защиту целостности системы (SIP). Обычно это можно сделать в режиме восстановления. Поскольку вы не можете загрузиться в режиме восстановления, вы можете использовать продукт под названием «rEFInd». Многие пользователи Linux уже установили этот продукт на свои компьютеры Mac. Если вы этого не сделаете, вы можете создать версию флэш-накопителя USB, которую можно использовать для отключения/включения SIP. Инструкции даны здесь .
Примечание. Поскольку у вас уже установлен Debian Linux, вы можете запустить его
gdisk
из этой операционной системы. Поскольку у меня не установлена эта операционная система, я не собираюсь заниматься этим дальше. Вы можете получить дополнительную информацию с этого сайта . Такжеgdisk
может быть доступно при загрузке с внешнего аварийного диска. Если он доступен в Linux или с аварийного диска, вам не придется отключать SIP.
После gdisk
установки и отключения SIP вам нужно будет внести три изменения. Эти изменения включают изменение как таблицы разделов GUID (GPT), так и таблицы разделов основной загрузочной записи (MBR). Изменения перечислены ниже.
gdisk
использует значение AB00
для представления значения 426F6F74-0000-11AA-AA11-00306543ECAC.0002000000000000
. В приведенном ниже примере я предполагаю, что текущее значение атрибута равно 0000000000000000
. Если нет, внесите соответствующие исправления.AF
на AB
.В приведенном ниже примере я создаю и монтирую разреженный образ в формате /dev/disk1
. Затем я использовал это изображение в качестве входных данных для gdisk
команды. Это было сделано для имитации условий на вашем компьютере. Вы будете вносить изменения в свой/dev/disk0
.
Steelhead:~ davidanderson$ sudo gdisk /dev/disk1
GPT fdisk (gdisk) version 1.0.1
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): t
Partition number (1-5): 3
Current type is 'Apple HFS/HFS+'
Hex code or GUID (L to show codes, Enter = AF00): ab00
Changed type of partition to 'Recovery HD'
Command (? for help): x
Expert command (? for help): a
Partition number (1-5): 3
Known attributes are:
0: system partition
1: hide from EFI
2: legacy BIOS bootable
60: read-only
62: hidden
63: do not automount
Attribute value is 0000000000000000. Set fields are:
No fields set
Toggle which attribute field (0-63, 64 or <Enter> to exit): 49
Have enabled the 'Undefined bit #49' attribute.
Attribute value is 0002000000000000. Set fields are:
49 (Undefined bit #49)
Toggle which attribute field (0-63, 64 or <Enter> to exit):
Expert command (? for help): r
Recovery/transformation command (? for help): h
WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.
Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 2 3 4
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): y
Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default AF): af
Set the bootable flag? (Y/N): y
Creating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default AB): ab
Set the bootable flag? (Y/N): n
Creating entry for GPT partition #4 (MBR partition #4)
Enter an MBR hex code (default 83): 83
Set the bootable flag? (Y/N): n
Recovery/transformation command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/disk1.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.
Steelhead:~ davidanderson$
В этот момент я бы перезагрузил ваш Mac.
diskutil
, gpt
ни любая другая команда приложения OS X Terminal не имеет возможности изменить атрибут GPT./dev/sda
, а не из него./dev/disk0
Дэвид Андерсон
sudo gpt -r show /dev/disk0
,fdisk /dev/disk0
,diskutil list
иdiskutuil cs list
. Вы можете просто вырезать и вставить результаты в свой вопрос. Кто-то очистит вывод. Также добавьте модель/год вашего Mac и версию OS X, которую вы используете.Эрик Эндрю Льюис