Восстанавливаем данные с диска на Mac из Single User mode

Март, 05th 2015
Рубрика: Apple изнутри
Подписаться на комментарии по RSS

Single User mode на Mac

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

Хорошо покопавшись, можно отыскать описание терминальной diskutil. Ведь бывают случаи, когда графическая оболочка недоступна или требуется получить расширенную информацию о разделах и структуре диска. Однако, сегодня мы копнем еще глубже.

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

Ясное дело, что с диском что-то не так. Сперва пошел простым путем - гружу OS X в режиме восстановления системы, удерживая клавишу Option(Alt) или клавиши Cmd+R при запуске компьютера. О режиме восстановления я писал ранее в статье как сбросить забытый пароль в OS X.

Мы получаем возможность воспользоваться Дисковой утилитой или проверить диск из командной строки командой diskutil (возможно позднее напишу о ней подробнее). Вот только в моем случае, ничего путного из этой затеи не вышло. Дисковая утилита и diskutil видят что диск с ошибками, но ничего сделать с этим не могут!

Всплыл один неприятный момент, вернее даже два...

Во-первых, мой товарищ добавив SSD в свою прошку, сделал Fusion Drive. Это такая фирменная технология Apple, позволяющая из двух дисков, SSD и обычного сделать гибридный. В сети ходит ошибочное мнение что это своего рода RAID-массив 1-ого уровня, ничего подобного. Кому интересно, может изучить данную тему более подробно самостоятельно.

Во-вторых включена система FileVault, которая защищает данные на диске, автоматически шифруя его содержимое. Честно говоря не знаю, может в Yosemite она активируется по умолчанию, как-то не проверял, надо будет ознакомиться с данным вопросом в свободное время.

Короче, дисковые утилиты оказались бессильны, Fusion Drive монтировался исключительно в режиме чтения. Кстати, отдельная проверка диска на bad-блоки (с извлечением последнего из тушки ноутбука) показала что диск в хорошем состоянии, не мальчик конечно, но бэдов нет.

Дальнейшее гугление уже буржуйского интернета подкинуло идею загрузиться в Single User Mode. Данный режим заботы хорошо знаком мне еще по FreeBSD, позволяет получить неограниченные права суперпользователя и делать с системой вообще всё что вздумается на свой страх и риск. Да, никаких графических оболочек тут нет в принципе.

Восстановление данных Mac OS X из Single User Mode

Для загрузки в однопользовательский режим (Single User Mode) нажимаем и удерживаем Cmd+S при включении компьютера. После всякой лабуды на экране, появится командная строка. Вообще там в конце есть подсказка что нужно сделать для монтирования диска в режиме записи. Требуется выполнить всего две команды:

/sbin/fsck –fy
/sbin/mount –uw /

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

Для меня осталось загадкой что же случилось с диском, но даже в этом режиме он завершил проверку с ошибкой и в результате отказался монтироваться на запись.

Осталось одно - спасать данные на внешний диск и ставить систему начисто.

Подключение внешнего жесткого диска или флешки из терминала OS X

Из закромов был извлечен жесткий диск достаточного объема, я заранее отформатировал его в родной для мака системе HFS. Желательно использовать именно её, ведь NTFS на запись не поддерживается, а FAT32 имеет ограничение на размер файлов и об этом не стоит забывать. Конкретно в моем случае нужно было вернуть образ виртуальной машины, а он явно превышал 4 Гига, выше которых не может писать система FAT32.

Ок. Диск отформатирован и физически подключен к компьютеру. Осталось подмонтировать его в файловую систему.

Смотрим какие диски и разделы вообще подключены командой ls -l /dev/disk*:

ls -l /dev/disk*
у меня выдался такой список
/dev/disk0
/dev/disk0s1
/dev/disk0s2
/dev/disk0s3
/dev/disk1
/dev/disk1s1
/dev/disk1s2
/dev/disk1s3
/dev/disk2
/dev/disk2s1
/dev/disk2s2

Здесь disk0 и disk1 - это как раз диски, входящие в Fusion Drive, а disk2 - мой подключенный внешний диск. Осталось его подмонтировать в систему:

mount_hfs /dev/disk2s2 /Volumes/

Вопрос почему я подключил именно disk2s2 оставлю вам на самостоятельно изучение, подскажу только куда копать - ищите что такое слайсы в FreeBSD, там об этом подробно написано :)

Я, честно говоря, не понял почему запросто смог увидеть каталоги пользователей и файлы в них, при включенной системе FileVault - видимо большой пробел в моем образовании. Но главное результат - осталось просто скопировать содержимое каталога пользователя на подмонтированный диск.

cp -Rv /Users/troy/* /Volumes/

С командой cp, наверное вы знакомы, опция -R означает копировать все содержимое каталогов и подкаталогов, а -v просто вываливает на экран информацию что именно копируется в данные момент. Красиво :)

Восстанавливаем данные с диска на Mac

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

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

Комментариев: 4

  1. 2015-03-06 в 11:26:26 | Алексей MC

    Познавательный опыт да и читать было интересно. Спасибо что пишете свои материалы, а не копируете как остальные, потому и подписался на ваш блог :)

  2. 2015-05-17 в 06:29:15 | Евгения

    Добрый день!

    Инструкция отличная! Но у меня не получилось:( мак пишет что неизвестная команда когда пытаюсь обнаружить доступные диски. Тестирование диска говорит, что все ок.

    Что делать?

    Проблема изначальная в том что при установке Yosemite комп перестал включатся.

    Можете подсказать как выкачать инфо с диска на внешний диск?

  3. 2016-03-03 в 23:58:54 | Михаил

    б. Проверьте диск утилитой fsck. (команда /sbin/fsck –fy)

    После этой команды вижу

    В ряду остального disk full error

    The volume Macintosh HD could not be repaired

    /dev/rdisck0s2 (hfs) EXITED WITH SIGNAL 8

    Ноутбук мак не загружается, только с нажатым альт и выбором системы виндовс, видна стоит давно, проблема возникла при пере загрузке из виндовс в мак. Подскажите что делать. Под видной грузятся нормально

  4. 2016-04-25 в 02:00:52 | Alex]]>avatar]]>

    Спасибо огромное! очень толково все, даже для заядлого виндофила помогла инструкция. единственное что проблема была с монтированием внешнего диска. но потом нашел куда примонтировать

comments powered by HyperComments
Без регистрации
ваш комментарий будет опубликован после проверки
Регистрация на сайте

На указанный адрес будет отправлено письмо с кодом активации. Вы можете настроить собственный профиль и стать активным участником или автором.