Обновляем iPhone через Linux сохранив данные и нервы

  • Tutorial

Данная статья поведает как обновить iOS и данные на нём для пользователей Linux. На эту тему можно нагуглить как мануалы, так и возникшие проблемы:



Но информация эта весьма разрознена. И не содержит некоторых тонкостей, не учитывая которые можно потерять данные на телефоне (опять же, в этих статьях не сообщается какие данные и в каком случае можно потерять). А в месте с данными — и кучу нервов. Всё это может заставить пользователей новичков Линукса отказаться от его использования для работы с iOS.

Данный мануал — это пошаговая инструкция к счастливому обновлению iOS через Linux используя VirtualBox не потеряв данных.

Дальнейшее повествование тестировалось на связке:
  1. Ubuntu (12.10)
  2. iPhone4 (iOS 5.0.1 up to iOS 6.0.1)
  3. VirtualBox 4.2.6 (с установленной Windows 7 x32).

Хотя, наверняка то же самое будет верно и для iPad.
Внимание, под катом много картинок!


Шаг 1. Настройка VirtualBox



После установки VirtualBox мы должны правильно его настроить. Первое, что мы сделаем — подружим виртуалку с USB 2.0. Это необходимо для правильного распознавания и корректной работы виртуалки с iPhone. Для этого скачаем и установим VirtualBox Extension Pack с этой страницы.

Проверим, что он установился. Зайдите в Файл->Настройки. Должны увидеть что-то типа:


Не забудьте проверить, что текущий пользователь (под которым в Линуксе вы залогинены) включён в группу vboxusers:

$ groups shanker
shanker : shanker adm cdrom sudo dip plugdev lpadmin sambashare vboxusers


Если это не так — добавьте пользователя. Например, вот так я себя добавлял:

sudo gpasswd --add shanker vboxusers


Добавление USB фильтров


Следующий шаг нам потребуется для автоматического монтирования iPhone в виртуальную машину. Сначала скажу зачем это нужно. Дело в том, что в процессе обновления iPhone несколько раз переподключается по USB, с разными VID и PID. Из-за этого примонтированный iPhone автоматически не цепляется виртуалкой и начинает открываться в Ubuntu. Если вы всё время обновления iPhone просидите у компа и будете тщательно следить за процессом — у вас есть около минуты чтоб всё исправить: просто снова подцепите к виртуалке iPhone через Устройство->Устройство USB.
А если не успеете… можете наблюдать вот такую картинку:


или вот такую:


а на самом устройстве может появиться вот такая:


Более того, устройство не пожелает выключаться по кнопке выключения (даже если её ну очень долго удерживать). Спасает удерживание 2-х кнопок: выключения и кнопки Home.

Выберите созданную виртуальную машину, зайдите в Настроить->USB и создайте новый фильтр. В поле Производитель вбейте Apple Inc..


После создания этого фильтра iPhone после переподключения будет снова цепляться к виртуалке.

Создание общей папки

В процессе синхронизации устройства с виртуалкой и сохранения резервных копий на самом устройстве, виртуалка начинает непомерно сильно раздуваться. Более того, у VirtualBox мною обнаружилась одна неприятная особенность. Если место на диске с виртуалкой заканчивается — файл конфига бьётся. Это приводит к невозможности вернуться к сохранённым состоянием пока не почините файл конфига. А сделать это может быть очень непросто. Т.е. возникает такое двоякое чувство: вы осознаёте, что данные-то вы не потеряли. Но вернуться к состоянию с этими данными не так уж просто.

Итак, переходим в Настроить->Общие папки, выбираем папку на Ubuntu, куда будут сохраняться данные с iPhone. Указываем в параметрах авто подключение и разрешаем виртуалке полный доступ к папке:



Шаг 2. Настраиваем виртуалку Windows 7



Описывать установку iTunes не буду. Подразумеваю, что читатель знает это. Если нет — Google легко подскажет. Давайте-ка лучше подумаем вот о чём. Вам хочется постоянно копировать с виртуалки данные устройства после синхронизации в созданную нами общую папку вручную, каждый раз при обновлении и синхронизации? Хорошенечко подумайте! Чувствуете, как появляется лень, которая заставляет вас сказать: «нет, не хочу! Ни за что!». Вот и моя лень солидарна с вашей. А раз так, то давайте автоматизируем это. Благо, делается это до неприличия просто! Создадим символическую ссылку на общую папку, созданную чуть выше. Запускайте командную строчку от администратора и вводите команду:
mklink /D %appdata%\"Apple Computer" "your_share_folder"


Здесь your_share_folder — это путь из виртуалки к вашей общей папке с ней. У меня это диск Z.
Желательно эту процедуру сделать ДО установки в виртуалку iTunes. Иначе папка Apple Computer будет уже создана в системе и вам придётся копировать её содержимое, удалять саму папку и вставлять содержимое в созданную символическую ссылку.

Шаг 3. Создание резервной копии и синхронизация iPhone


Ну, вот теперь самое время заняться тем, для чего мы всё это делали. Подключайте iPhone к компьютеру. Убедитесь, что виртуалка его автоматом подцепила. Создайте резервную копию и синхронизируйте данные. Убедитесь, что эти данные попадают в общую папку. Резервные копии будут в общей папке в директории MobileSync\Backup. Теперь займитесь установкой нового ПО на iPhone и обновлением iOS.

Когда и какие данные можно потерять

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

Я сделал резервную копию. При этом я не делал синхронизацию iPhone с виртуалкой. Т.к. я не добавлял USB-фильтры и не имел возможности вовремя переподключить iPhone, то я увидел все те страшные картинки, которые я приводил выше. Здесь я признаюсь читателю, что эти картинки я нагуглил в интернете. Как можно догадаться, я тогда испытывал не самое хорошее психологическое состояние и у меня не было желания делать какие-то скриншоты.


Природный CPU загрузил на 100% два моих ядра-полушария одним процессом: «как спасти данные на телефоне????»
my_mind$ top
 PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND 
2325 shanker   20   0 1382m 467m  43m R   200 12,6  28:26.58 how_restore_my_data_on_iPhone?      

Пытаясь исправить ситуацию, я подключил iPhone с новым VID и PID. iTunes его увидел и выдал мне ещё одно сообщение, не добавляя оптимизма в уже и без того испорченный день:


Делать было нечего, и я согласился. В итоге iOS через минут 20 обновился и мне было предложено восстановить некоторые данные. И в списке была показана как раз та резервная копия, которую я сделал до обновления системы.



Ну, я и согласился. Процесс пошёл… Он длился всю ночь. К утру у меня данные восстановились. Что я восстановил? Проще будет сказать что я потерял: всю музыку, звуковые файлы, закачанные для установки на звонки и приход СМС и приложения с их данными (в яндекс.картах было 3 ГБ карт закачано). Больше потерь я не заметил. Всё остальное было нетронуто:
  • Списки контактов
  • СМС
  • Фотографии и видеоролики, снятые на камеру
  • Заметки
  • Напоминания
  • Настройки беспроводных сетей


Более того, если я всё правильно понимаю, то даже если вы забыли сделать резервную копию перед обновлением iOS, iTunes всё равно её сделает. А чтобы не потерять данные — не забудьте их синхронизировать с виртуалкой.

P.S. В данном туториале я не касался вопроса синхронизации контактов. Контакты синхронизируются в WAB (Windows Address Book) и при указанных шагах настройки, я полагаю, останутся в виртуалке, а не на общей папке в Ubuntu.

Only registered users can participate in poll. Log in, please.

Используете или планируете использовать VirtualBox для обновления iOS?

Share post

Similar posts

Comments 25

    +2
    кнопки ниже экрана

    Для справки: она называется Home.
      +1
      Спасибо, сейчас поправлю. Ночью сложно вспомнить некоторые банальные вещи :)
      +6
      Вообще-то в iPhone в новых прошивках есть пункт меню Software Update. А для бекапов использовать iCloud.

      Ваш способ пригодится только тем, у кого нет Wi-Fi.

      image
        –1
        Или таким вот параноикам как я, которые не любят в облаках держать свои данные
          +2
          Тогда я не понимаю, зачем нужен телефон, заточенный под свою ось и сервисы, созданные для удобной работы с ним.
            0
            Ну, начтнём с того, что я начал практиковать такой способ ещё ДО появления iCloud. И предложенный способ не кажется мне слишком сложным. Статья получилась массивная просто потому что я всё подробно описывал. Самих действий много не требуется.
            Да и так уж сложилось, что этот телефон мне подарили. Хотя, спорить не буду, он мне реально нравится. Но стал бы я для себя покупать его — большой вопрос. Скорее всего, взял бы что-нибудь на андроиде.
            Ну, и, наконец, iCloud — штука хорошая. Но не все хотят ей пользоваться. Также как свой планшет я тоже не синхронизирую с гугловским облаком.
            На вкус и цвет товарищей нет
        +1
        Обновить айфон через линукс ценой 2200р.? (или сколько там сейчас винда стоит..)
          0
          Конечно, кто использует только Линукс и винду не юзает вряд ли для таких целей будет искать винду для виртуалки. Но у всех взгляды разные.

          Ну, например, я имею доступ www.dreamspark.com/ и могу себе поставить Windows Server 2008 на виртуалку. Для образовательных задач и попутно заюзать для обновления айфона. И это не будет стоит для меня ни копейки.
          У многих, кто переходил с линукса, осталась винда. Её можно перетащить на виртуалку.
            0
            Для этих целей используют ota обновление. Ничего не пропадет. Качать намного меньше чем целую прошивку
          +2
          Эх, а я прочитал заголовок и уже обрадовался, что наконец научились iTunes на линуксе запускать, либо свой велосипед написали.
            –1
            зачем нужен iPhone когда на компьютере Ubuntu?
              –4
              Itunes — ужасное поделие. Я вообще не понимаю как это могли выпустить в свет. Он постоянно грузит проц на 100% непонятными процессами и.т.д.
              Под Mac'ом он работает примерно также.

              Интересно, насколько нереально написать открытую альтернативу?
                0
                Под маком оно работает отлично и не грузит проц. Виндузятникам не повезло
                  0
                  под вин проблем не было, хотя может всё успело поменяться, но проблем я не видел. правда тогда и тунец был другой
                  0
                  имхо, тунец испортился после четвертой версии, когда добавили возможность смотреть видео в нем, до этого момента — он был основным плеером на компе, и хранил всю мою музыкальную библиотеку — он был идеальным в моих глазах (в глазах человека сидевшего только на досе и винде), но после превращение в этакого монстрокомбайна — он испортился — сейчас я его использую только для синхронизации своих устройств, правда когда перешел на музыкальные подкасты — снова начал нравится, но совсем последнее изменение в дизайне — ужас полный, юзабилити — ноль, но это только справедливо для меня :)
                  0
                  А причем тут Убунта?
                    0
                    Картинка напугала, думал, сейчас узнаю как на айфон убунту поставить.
                      –2
                      Я конечно понимаю, что андроиды всякие далеко не идеальны и вообще не холивора ради… Но вот читаешь новость, читаешь другую и просто поражаешься, какое все-таки нужно мужество, чтобы пользоваться продукт*ми на базе iOS, поедая тонны кактусов в iTunes и т.д. При том что… А, даже не знаю что сказать, жму руку мужественным людям, вот и все!
                      • UFO just landed and posted this here
                          0
                          У каждого способа есть свои плюсы и минусы.
                          Всё зависит от того какую задачу Вы перед собой ставите. Я помимо обновления iOS хотел:
                          1. персонализировать телефончик, закачал другие обои, нестандартную музыку на звонки и на приход смс
                          2. иметь резервную копию данных на компе
                          3. не перезагружаться для этих целей в винду
                            0
                            1. Имеет смысл только в плане звонков…
                            2. Через коленку. Проще иметь в icloud
                              0
                              как я уже писал — не люблю синхронизировать свои данные с чужими облаками
                                0
                                уж простите, но с такой тягой к гемороям не долго и своё облако написать)

                                я вот планировал запилить своё для текстовых многоуровневых документов — вот чем мне гуглдок не подходит… следят они за нами — как параноик вы меня поймете)
                        0
                        исходя из результатов опроса, лишь 25% пользователей встретили 2013 год и нормально обновляют девайсы, в то время как 75% непонятно вообще зачем купили айфоны
                          0
                          Та немногочисленная аудитория, которая использует другое средство виртуализации — поделитесь в комментах своим опытом — есть ли там какие подводные камни и в чём отличия от описанного мной способа с VirtualBox

                          Only users with full accounts can post comments. Log in, please.