Данный мануал - это пошаговая инструкция по обновлению iOS через Linux используя VirtualBox не потеряв данных.
Дальнейшее повествование тестировалось на связке:
- Ubuntu 12.10
- iPhone 4 (iOS 5.0.1 up to iOS 6.0.1)
- VirtualBox 4.2.6 (с установленной Windows 7 x32).
Хотя, наверняка то же самое будет верно и для iPad.
Содержание
Настройка VirtualBox
После установки VirtualBox мы должны правильно его настроить. Первое, что мы сделаем - подружим виртуалку с USB 2.0. Это необходимо для правильного распознавания и корректной работы виртуалки с iPhone. Для этого скачаем и установим VirtualBox Extension Pack с этой страницы.
Проверим, что он установился. Зайдите в Файл -> Настройки. Должны увидеть что-то типа:
После установки выполните следующую инструкцию: USB и VirtualBox.
Добавление USB фильтров
Следующий шаг нам потребуется для автоматического монтирования iPhone в виртуальную машину.
Сначала скажу зачем это нужно. Дело в том, что в процессе обновления iPhone несколько раз переподключается по USB, с разными VID и PID. Из-за этого примонтированный iPhone автоматически не цепляется виртуалкой и начинает открываться в Ubuntu. Если вы всё время обновления iPhone просидите у компа и будете тщательно следить за процессом - у вас есть около минуты чтоб всё исправить: просто снова подцепите к виртуалке iPhone через Устройство -> Устройство USB.
А если не успеете... Можете наблюдать вот такую картинку:
Или вот такую:
А на самом устройстве может появиться вот такая:
Более того, устройство не пожелает выключаться по кнопке выключения (даже если её ну очень долго удерживать). Спасает удерживание 2-х кнопок: выключения и кнопки Home.
Выберите созданную виртуальную машину, зайдите в Настроить -> USB и создайте новый фильтр. В поле "Производитель" вбейте "Apple Inc.":
После создания этого фильтра iPhone после переподключения будет снова цепляться к виртуалке.
Создание общей папки
В процессе синхронизации устройства с виртуалкой и сохранения резервных копий на самом устройстве, виртуалка начинает непомерно сильно раздуваться. Более того, у VirtualBox мною обнаружилась одна неприятная особенность. Если место на диске с виртуалкой заканчивается - файл конфига бьётся. Это приводит к невозможности вернуться к сохранённым состоянием пока не почините файл конфига. А сделать это может быть очень непросто. То есть возникает такое двоякое чувство: вы осознаёте, что данные-то вы не потеряли. Но вернуться к состоянию с этими данными не так уж просто.
Итак, переходим в Настроить -> Общие папки, выбираем папку на Ubuntu, куда будут сохраняться данные с iPhone. Указываем в параметрах авто подключение и разрешаем виртуалке полный доступ к папке:
Настраиваем виртуалку Windows 7
Описывать установку iTunes не буду. Подразумеваю, что читатель знает это. Если нет - Google легко подскажет. Давайте-ка лучше подумаем вот о чём. Вам хочется постоянно копировать с виртуалки данные устройства после синхронизации в созданную нами общую папку вручную, каждый раз при обновлении и синхронизации? Хорошенечко подумайте! Чувствуете, как появляется лень, которая заставляет вас сказать: "Нет, не хочу! Ни за что!"? Вот и моя лень солидарна с вашей. А раз так, то давайте автоматизируем это. Благо, делается это до неприличия просто! Создадим символическую ссылку на общую папку, созданную чуть выше. Запускайте командную строчку от администратора и вводите команду:
1
|
mklink
/
D
%
appdata
%
"Apple Computer"
"your_share_folder"
|
Здесь your_share_folder - это путь из виртуалки к вашей общей папке с ней. У меня это диск Z.
Желательно эту процедуру сделать до установки в виртуалку iTunes. Иначе папка Apple Computer будет уже создана в системе и вам придётся копировать её содержимое, удалять саму папку и вставлять содержимое в созданную символическую ссылку.
Создание резервной копии и синхронизация iPhone
Ну, вот теперь самое время заняться тем, для чего мы всё это делали. Подключайте iPhone к компьютеру. Убедитесь, что виртуалка его автоматом подцепила. Создайте резервную копию и синхронизируйте данные. Убедитесь, что эти данные попадают в общую папку. Резервные копии будут в общей папке в директории MobileSyncBackup. Теперь займитесь установкой нового ПО на iPhone и обновлением iOS.
Когда и какие данные можно потерять
Т.к. я не сразу поумнел, а набил себе шишек на лоб до понимания что и как нужно делать, то меня всё же коснулась кара и я потерял кое-какие данные. Теперь я могу поделиться с читателями когда это может произойти и какие данные потеряются, а какие сохранятся.
Я сделал резервную копию. При этом я не делал синхронизацию iPhone с виртуалкой. Т.к. я не добавлял USB-фильтры и не имел возможности вовремя переподключить iPhone, то я увидел все те страшные картинки, которые я приводил выше. Здесь я признаюсь читателю, что эти картинки я нагуглил в интернете. Как можно догадаться, я тогда испытывал не самое хорошее психологическое состояние и у меня не было желания делать какие-то скриншоты.
Пытаясь исправить ситуацию, я подключил iPhone с новым VID и PID. iTunes его увидел и выдал мне ещё одно сообщение, не добавляя оптимизма в уже и без того испорченный день:
Делать было нечего, и я согласился. В итоге iOS через минут 20 обновился и мне было предложено восстановить некоторые данные. И в списке была показана как раз та резервная копия, которую я сделал до обновления системы.
Ну, я и согласился. Процесс пошёл… Он длился всю ночь. К утру у меня данные восстановились. Что я восстановил? Проще будет сказать что я потерял: всю музыку, звуковые файлы, закачанные для установки на звонки и приход СМС и приложения с их данными (в яндекс.картах было 3Gb карт закачано). Больше потерь я не заметил. Всё остальное было нетронуто:
- Списки контактов
- СМС
- Фотографии и видеоролики, снятые на камеру
- Заметки
- Напоминания
- Настройки беспроводных сетей
Более того, если я всё правильно понимаю, то даже если вы забыли сделать резервную копию перед обновлением iOS, iTunes всё равно её сделает. А чтобы не потерять данные - не забудьте их синхронизировать с виртуалкой.