Изменить размер / системного раздела Galaxy S 2

Мне нужно увеличить размер раздела моего Galaxy S 2 /systemс 503,4 МБ до... Ну, все возможное.

(Основная) причина, по которой я хочу это сделать, заключается в том, что я хочу установить GApps 20140606, который несовместим с устройствами с небольшими (менее 500 МБ) /system разделами.

Внутреннее хранилище Galaxy S 2 составляет 16 ГБ, но я в основном использую свою SD-карту, поэтому мне все равно, сколько из этого будет занято в /systemразделе.

Я нашел много страниц, объясняющих различные методы достижения этого, например, этот от TechoTV и этот от XDA , но все они были специфичны для телефона и никогда не давали информации о том, будет ли он совместим с другими моделями или нет. , или они будут изменять размер до определенного заданного размера.

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

Чтобы добавить еще немного информации, телефон рутирован и имеет CyanogenMod 11 (20140806-NIGHTLY), то есть Android 4.4.4.

Было бы интересно, если бы предоставленная информация работала под Linux. У меня есть доступ к Windows, но мне не нужно его использовать.

Нет ли простого способа изменить размер разделов, например GParted (но для Android)?

Просто добавлю, что мне удалось успешно изменить его размер. Я напишу ответ, подробно объясняющий, как это сделать. Это несложно.
У вас когда-нибудь была возможность написать этот ответ? Я также заинтересован в переразметке моего S2. Спасибо
@Mikeage Извините за это, я думаю, что теперь, когда я оставил этот комментарий, сообщество владеет этим ответом ... Я пишу его прямо сейчас, проверьте его позже :)
@Mikeage проверь ответ и удачи ;)

Ответы (4)

Во-первых, и самое главное, кредиты:

Я сделал это после этого замечательного руководства на XDA-Developers пользователем metalgearhathaway: http://forum.xda-developers.com/galaxy-s2/development-derivatives/mod-partition-internal-memory-app-t2538947

Я использовал PITфайлы (я объясню, что это такое, не волнуйтесь), сделанные пользователем ElGamalс XDA, также расположенные здесь (номер комментария 509) .

И небольшая помощь от пользователя CrackDaddy, также с XDA.

Во-вторых, что вам понадобится:

  • Машина под управлением Windows. Я использовал 64-разрядную версию Windows 7 Ultimate;
  • Один 3.07. Будьте осторожны при установке, он полон дополнительных AdWares. Также доступна версия для Linux и Mac под названием JOdin3, но я ее не пробовал;
  • Прошиваемый ClockWorkMod 6 для Galaxy S II (это .tarфайл с именем файла zImageвнутри);
  • PITфайл с желаемой конфигурацией таблицы разделов;
  • Драйвера Samsung для Galaxy S2. Обычно вы можете установить Samsung Kies, но есть также установщик с доступными только драйверами;
  • Ваша оригинальная прошивка Samsung Jellybean без рута. Вы можете найти его на sammobile.com ;
  • Любое ПЗУ на ваш выбор. Крайне рекомендую последнюю ночную сборку Cyanogenmod 11;
  • Опционально: GApps 20140606 или новее.

Я сделал большинство из них доступными в следующем файле пакета: https://drive.google.com/open?id=0BxccpydIocBpd21FOE5MaGJiMkU&authuser=0 .

Чего не хватает, так это GApps, CyanogenMod и стандартного ПЗУ Samsung JellyBean (поскольку это зависит от страны и оператора, и его предоставление здесь может быть незаконным).

В-третьих, предупреждение по умолчанию:

Я не несу ответственности ни за что, что может пойти не так с вашим устройством, ни за кого-либо из упомянутых пользователей, ни за кого-либо из Stack Overflow или XDA-Developers. Эта процедура рутирует ваш телефон, если это еще не сделано, а также аннулирует вашу гарантию, если это еще не сделано. Если что-то пойдет не так, не паникуйте, это, скорее всего, можно исправить, перепрошив стандартный ПЗУ и начав заново.

Наконец, как:

Это будет работать только с международной версией 16 ГБ (GT-I9100) Samsung Galaxy S II.

Во- первых, скопируйте .zipфайл CyanogenMod 11 (или желаемое ПЗУ) и, при необходимости, файл GApps .zipна внешнюю SD-карту;

Сделайте резервную копию всего внутри вашей внутренней памяти, скопируйте ее на свой компьютер или куда-нибудь еще. Он будет полностью стерт. Не беспокойтесь о вашей внешней SD-карте, ее никто не тронет.

Сделайте NAnd резервную копию вашего текущего ПЗУ, вы сможете восстановить его после переразметки. Для этого у вас должно быть установлено восстановление ClockWorkMod, затем загрузите телефон в режим восстановления ( Volume UP + Home + Power), выберите backups and restore, затем backup to /storage/sdcard1;

По завершении резервного копирования перезагрузите телефон в режиме загрузки ( Volume DOWN + Home + Power) и подключите телефон к компьютеру. Позвольте Windows установить драйверы. Если это не удается, попробуйте установить Samsung Kies или просто драйверы, предоставленные в комплекте, который я предоставил, и повторите попытку.

Откройте Odin3 от имени администратора и подключите телефон. Он должен обнаружить ваш телефон и показать его под этикеткой ID:COM, а также в формате Message. Если этого не произошло, попробуйте перезагрузить компьютер, телефон, переустановить драйверы, проверить USB-кабель и т. д. и повторить попытку.

Теперь вам нужно выбрать PITфайл. PITзначит Partition Information Table, и это только для Samsung. ElGamalВ файле пакета я сделал доступным PITфайл , I91001GB_6GB.pitкоторый также изменяет размер /systemраздела до 1 ГБ, до 6 ГБ, /dataа остальное уходит во внутреннюю память. Если вам нужны другие размеры, проверьте ветку на XDA-Developers, так как он сделал доступным много разных версий. Я также включил файл PIT для конфигурации по умолчанию ( I9100_2GB-STOCK.pit), если вы хотите вернуться к тому, как это было позже.

Когда вы выбрали свой PITфайл, перейдите в Odin и установите следующие флажки: Re-Partition, Auto Rebootи F. Reset Time. В Re-Partition section, нажмите на PITкнопку и выберите выбранный PITфайл. В Files (Download)разделе нажмите на APкнопку и выберите стоковую прошивку JellyBean от Samsung. Дважды проверьте все и нажмите Start. Это может занять некоторое время, иди выпей кофе.

После того, как все завершится, ваш телефон перезагрузится в стандартную прошивку Samsung JellyBean. Теперь могут произойти две вещи, или он будет работать нормально, и если да, то вы можете использовать его и проверить, все ли так, как вы хотите. Или он может запросить у вас пароль для доступа к «зашифрованному тому», который представляет собой не что иное, как ваше внутреннее хранилище, которое не отформатировано. В обоих случаях отключите телефон (он все еще подключен) и снова перезагрузите его в режиме загрузки.

Интересно закрыть и снова открыть Odin3 для сброса настроек. Снова подключите телефон и подождите, пока Odin3 обнаружит его. На этот раз оставьте отмеченным только Auto Rebootи F. Reset Timeубедитесь, что Re-PartitionНЕ отмечено . Нажмите APкнопку и выберите файл ClockWorkMod Recovery .tar, затем нажмите Start. Этот быстрее, но если вы чувствуете сонливость, выпейте еще кофе ;)

Когда он завершится, на вашем телефоне должен быть установлен ClockWorkMod Recovery 6, поэтому перезагрузитесь в режим восстановления. Перейдите к mounts and storage, выберите format /storage/sdcard0и отформатируйте его как exfat(если по какой-то причине у вас позже возникнут проблемы с записью во внутреннюю память, вернитесь сюда и выберите другой формат, пока он не заработает, но exfatдолжен помочь).

Когда он закончится, все еще в режиме восстановления Wipe data/factory reset, Wipe cacheи Wipe Dalvik cache. Убедимся, что от предыдущих ПЗУ ничего не осталось.

Теперь install zip-> choose zip from /storage/sdcard1и выберите файл CyanogenMod 11 .zip(или желаемого ПЗУ) и прошейте его. При желании также прошивайте GApps после этого. Перезагрузите телефон и проверьте, все ли в порядке.

Если все в порядке, снова перезагрузите телефон в режиме восстановления, выполните новый wipe data/factory reset, wipe cacheи wipe Dalvik cache, а затем восстановите резервную копию ПЗУ с самого начала. Перезагрузите телефон.

Проверьте еще раз, все ли работает правильно. Возможно, потребуется переустановить несколько приложений (например, Spotify и Waze), чтобы они снова работали правильно, но это единственная серьезная проблема.

Надеюсь, все пойдет хорошо.

Что делать, если мне нужно сделать в другом телефоне?. Есть ли какой-нибудь универсальный инструмент или метод?
К сожалению, кажется, что нет. Я тоже очень долго искал, но не нашел. Я не могу сказать, потому ли это, что он еще не создан, или потому, что каждый телефон или производитель имеет свою собственную архитектуру разделения. Идеальным способом был бы такой же простой в использовании инструмент, как GParted, но я не ожидаю увидеть его для Android в ближайшее время.
Как насчет изменения файла образа прошивки перед его записью на телефоне?

Спасибо @Bruno за подробное решение и необходимые файлы. Ниже указан гораздо более быстрый метод, который не требует установки каких-либо ПЗУ / Gapps или перезагрузки в ПЗУ между шагами. Вам нужна внешняя SD-карта с достаточным количеством свободного места для хранения всех приложений, данных, фотографий и т. д., которые находятся во внутренней памяти телефона.

Вы можете пропустить шаги 1-5, если у вас уже есть CWM, а также резервная копия NAND на внешней SD-карте (но убедитесь, что у вас есть резервная копия NAND на внешней SD, иначе вы потеряете все данные).

ПРИМЕЧАНИЕ. Вы также должны сделать резервную копию данных с внутренней SD-карты на случай, если что-то пойдет не так, например /storage/sdcard0 (резервная копия NAND не создает резервную копию).

  1. Извлеките файлы, предоставленные @Bruno, куда-нибудь на свой компьютер.
  2. Перезагрузите телефон в режиме загрузки (громкость вниз + домой + питание), затем подключите его к компьютеру через USB.
  3. Запустите Один 3.09. Снимите флажок Auto-Reboot, поместите CWM-KitKatCompatible-i9100.tarфайл в раздел AP, затем нажмите «Пуск» и подождите, пока Odin не скажет «RES OK !!» в журнале сообщений. Это должно быть довольно быстро, несколько секунд.
  4. Теперь перезагрузите телефон в режиме восстановления (громкость вверх + дом + питание)
  5. Перейдите в меню « Резервное копирование и восстановление» > «Резервное копирование на /storage/sdcard1» — обратите внимание на 1, а не на 0 (ваш CWM может сказать «external sd» вместо /storage/sdcard1; просто выберите параметр резервного копирования, соответствующий внешней SD-карте, это Important , иначе вы потеряете все данные). Дождитесь завершения резервного копирования, это займет некоторое время.
  6. Перезагрузите телефон в режим загрузки (громкость вниз + дом + питание)
  7. Запустите Odin 3.09, снимите отметкуAuto-Reboot , отметьте , поместите файл в раздел PIT, поместите файл в раздел AP, затем нажмите и подождите, пока Odin не скажет «RES OK!!» в журнале сообщений. Это займет некоторое время. Re-PartitionI91001GB_6GB.pitCWM-KitKatCompatible-i9100.tarStart
  8. Перезагрузите телефон в режим восстановления (увеличение громкости + дом + питание)
  9. Перейдите в mounts and storage > Format /system , затем Format /cache , затем Format /data
  10. Вернитесь к очистке данных/сбросу к заводским настройкам
  11. Вернитесь к резервному копированию и восстановлению> восстановить из /storage/sdcard1 и восстановите резервную копию NAND, сделанную ранее.
  12. Выполнено. Перезагрузите телефон в обычном режиме.

Процедура протестирована с Cyanogenmod 11 (KitKat 4.4) каждую ночь и снимком. Должен работать с любым последним ПЗУ. Нет необходимости устанавливать какие-либо пользовательские или стандартные ПЗУ или Gapps или даже загружать ПЗУ между шагами.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я не несу ответственности, если ваш телефон начнет петь или танцевать Ламбаду (о, как я ненавижу эту песню!), обзывать вас, взрываться, терять какие-либо ваши данные и т. д.

Это лучший ответ в сети, который я когда-либо читал! Я знал, что должен быть способ избежать переустановки стандартного ПЗУ. Большое спасибо! Все остальные ответы либо плохо написаны, либо отсутствуют важные вещи, либо делают лишние вещи +1!
Мне это нравится больше, чем снова устанавливать стоковую прошивку. Я попробую.
Спасибо за урок, но я получил "Ошибка монтажа..." в конце шага 11, и телефон умер :-( (кстати, шаг 7 был очень быстрым)
Ошибка монтирования /storage/sdcard0.,android_secure! Формат пропуска... Не удается смонтировать /storage/sdcard0/.android_secure!
Я попытался отформатировать /storage/sdcard0 и снова выполнить шаг 11. Это закончилось без ошибки монтирования (восстановление завершено!), Но при перезагрузке все еще черный экран..
@ItayB Вы не говорите, какой телефон или ПЗУ вы используете. На момент написания статьи я тестировал все вышеперечисленное только на GalaxyS2 и CyanogenMod 11 (на основе KitKat 4.4). Я не могу ничего гарантировать для любой другой конфигурации :( ... может быть, ответ Бруно работает лучше?
@Normadize У меня были настройки сохранения (SII, CM11, 4.4). Я попробую вышеуказанное решение .. в любом случае спасибо за подробные инструкции!
Я думаю, что в шаге 10 отсутствует некоторая информация, что мне следует сделать после ввода данных очистки / сброса настроек?
Этот набор инструкций неверен. У меня было ровно то же самое, что и у ItayB — черный экран. Чтобы выйти из этого затруднительного положения, я проконсультировался по этой ссылке здесь: forum.xda-developers.com/showthread.php?t=2364978 . По сути, вам нужно отформатировать /data, а затем отформатировать /storage/sdcard0. Затем вы загружаете свое ПЗУ на SD-карту и прошиваете новое ПЗУ. Чистая доска.
@ItayB, не могли бы вы получить доступ к телефону после того, как он умер? ты установил в итоге?
@adeer да, просто скопируйте cm на sdcard1 (моя внешняя SD-карта) и установите чистую версию с 6 ГБ / 6 ГБ. Работает нормально, андроид 5.1.1, и с тех пор я не получаю уведомления о хранении ;-)

В моем случае мне нужно было кроссплатформенное решение, так как я использую Linux. Вот что сработало для меня:

  1. Сделайте резервную копию всего. Это сотрет все на телефоне, включая внутреннюю SD-карту.

  2. Скачать:

    • Файл PIT, который вы хотите прошить. Я использовал этот , который изменяет размер /system с 512 МБ до 1 ГБ и /data с 2 ГБ до 6 ГБ.
    • Любой совместимый рекавери. я использовал этот
    • (Необязательно) ПЗУ, которое вы хотите установить. Я установил CyanogenMod 13 каждую ночь.
  3. Загрузите и установите Хеймдалля

  4. Загрузитесь в режим загрузки

    1. Отсоедините USB-кабель
    2. Выключение
    3. Нажмите и удерживайте кнопки уменьшения громкости, дома и питания (вы можете отпустить, когда увидите экран с предупреждением)
    4. Нажмите кнопку увеличения громкости, чтобы продолжить мимо экрана предупреждения.
  5. Подключите USB-кабель к телефону и ПК

  6. (Необязательно) Создайте резервную копию существующего PIT

    sudo heimdall download-pit --output i9100-stock.pit --no-reboot
    
  7. Прошить новый PIT и рекавери

    sudo heimdall flash --repartition --pit I91001GB_6GB.pit --KERNEL cwmr6047.img --no-reboot
    
  8. Загрузитесь в рекавери

    1. Отсоедините USB-кабель
    2. Выключение
    3. Нажмите и удерживайте кнопки увеличения громкости, дома и питания (вы можете отпустить, когда увидите экран I9100)
  9. Отформатируйте все разделы, включая /system, /data, /cache и внутреннюю SD-карту (sdcard0).

    • При форматировании внутренней SD-карты, если она спросит вас, какую файловую систему использовать, выберите fat, vfat или exfat. Если вы выберете ext4, у вас будут проблемы. (Источники: [1] [2] )
    • Для всех остальных разделов выберите ext4, если спросят.
  10. Установите ПЗУ или восстановите резервную копию

К этому было предложено редактирование, которое, я думаю, должно быть комментарием: «Для cm13 вы должны выбрать ext4 или любую другую файловую систему Linux. В противном случае ваше внутреннее хранилище не будет работать».
Я отформатировал /system, /data, /cache и т. д. как ext4. Но когда я отформатировал внутреннюю память как ext4, она постоянно повреждалась. Это произошло у меня на CM 12.1, а также CM 13. Я переформатировал как vfat и снова как exfat, и мои проблемы ушли. Я нашел пару других источников, в которых говорилось то же самое: (1) (2)
@Patrick Патрик Я уточнил свой ответ и добавил источники. Спасибо что подметил это!

Вот что, вероятно, еще лучше: https://github.com/Lanchon/REPIT

Это так же просто, как прошить почтовый индекс и сохранить данные. Требуется восстановление TWRP и терпение. У меня впервые сработало на S2 (i9100), на котором уже был CM13.

Кажется, почему-то не работает. Прошил один из этих zip'ов с помощью TWRP. Recovery пожаловался, что я должен запустить его снова из tmp. Запускаю снова, рекавери перезагружается через несколько секунд. Все еще не могу прошить OpenGApps.
Не уверен, что там происходит, @HugoZink - вам, вероятно, следует сохранить несколько скриншотов / журналов и сообщить о проблеме на github REPIT.