Some checks failed
Published content check / validate (push) Failing after 3s
Обновить правила репозитория и подписи исходников в 99 заметках, не затрагивая пользовательские незакоммиченные файлы. Сделать Forgejo Actions содержательным: проверять опубликованный commit, а не пустое рабочее дерево после checkout.
132 lines
15 KiB
Markdown
132 lines
15 KiB
Markdown
---
|
||
date: 2026-07-18
|
||
tags:
|
||
- root
|
||
- android
|
||
- magisk
|
||
- install
|
||
aliases:
|
||
- Установка Magisk
|
||
- Magisk install
|
||
- Прошивка Magisk
|
||
- патч boot Magisk
|
||
link: https://topjohnwu.github.io/Magisk/install.html
|
||
---
|
||
|
||
# 🛠️ Установка Magisk — патч boot/init_boot, Recovery, Samsung
|
||
|
||
> [!info] О чём заметка
|
||
> Пошаговая установка **Magisk** на Android по [официальной документации](https://topjohnwu.github.io/Magisk/install.html): требования, как понять, какой образ патчить, патч `boot`/`init_boot`/`recovery`, отдельные случаи для устройств без boot-ramdisk и для Samsung, удаление и сохранение root при обновлениях. Что такое Magisk, зачем он и как устроен (systemless, модули, Zygisk, скрытие root) — в обзорной заметке [[root/Magisk|Magisk — systemless-root и модули]].
|
||
|
||
> [!danger] Нужны навыки прошивки и разблокированный загрузчик
|
||
> Инструкция предполагает, что вы умеете пользоваться **`adb` и `fastboot`** и знаете, как выводить устройство из «кирпича». **Загрузчик обязан быть разблокирован** (его разблокировка стирает все данные). Если планируете ещё и **кастомное ядро** — ставьте его **после** Magisk. Заранее сохраните оригинальные `boot.img`/`init_boot.img` для отката.
|
||
|
||
## TL;DR
|
||
|
||
- Ставится **приложением Magisk**: оно патчит **загрузочный образ**, который вы затем прошиваете через `fastboot`.
|
||
- Сначала определите по строке **Ramdisk** в приложении, какой образ патчить: `boot.img`/`init_boot.img` (есть ramdisk) или `recovery.img` (нет).
|
||
- Образ берите **от своей прошивки той же версии** и патчите **только на своём устройстве** — чужой пропатченный образ шить нельзя.
|
||
- **Samsung** — особый путь (Odin + AP tar, необратимый Knox, полный wipe).
|
||
- После каждого **OTA** root слетает; на A/B-устройствах спасает «Install to Inactive Slot».
|
||
|
||
## Шаг 1. Понять, какой образ патчить (строка Ramdisk)
|
||
|
||
Ключевой вопрос перед установкой — **есть ли ramdisk в boot-разделе** устройства. От этого зависит, какой образ патчить. Установите свежее **приложение Magisk** (APK) и посмотрите на главном экране строку **Ramdisk**:
|
||
|
||
- **Ramdisk = Yes** → патчим `boot.img`; на устройствах с отдельным разделом `init_boot` (Pixel с Android 13+ и др.) — **`init_boot.img`**. Это случай большинства современных устройств.
|
||
- **Ramdisk = No** → ramdisk в boot нет, Magisk «захватывает» **recovery-раздел**: патчим `recovery.img` (см. [[#Особый случай: Magisk in Recovery (устройства без boot-ramdisk)|Magisk in Recovery]]).
|
||
|
||
> [!note] Редкое исключение
|
||
> Некоторые устройства (известны отдельные модели Xiaomi) принимают ramdisk в boot, даже когда «не должны». Автоматически это не определить — если стандартный путь не срабатывает, действуйте так, будто ramdisk в boot **есть**. Большинству об этом можно не думать.
|
||
|
||
Нужный образ (`boot.img` / `init_boot.img` / `recovery.img`) извлекают из **официальной прошивки или zip вашего кастомного ROM** — строго **той версии**, что стоит на устройстве.
|
||
|
||
## Шаг 2. Пропатчить образ и прошить (общий случай)
|
||
|
||
Стандартный путь для устройств с boot-ramdisk (например, Pixel — там `init_boot`). Порядок по [официальной инструкции](https://topjohnwu.github.io/Magisk/install.html):
|
||
|
||
- [ ] Скопировать стоковый `boot.img` / `init_boot.img` от **вашей текущей прошивки** на телефон.
|
||
- [ ] В приложении Magisk нажать **Install** (кнопка в карточке Magisk).
|
||
- [ ] *(Только для recovery-образа)* включить опцию **«Recovery Mode»**.
|
||
- [ ] Метод — **«Select and Patch a File»**, выбрать образ, запустить установку.
|
||
- [ ] Забрать пропатченный образ на ПК: `adb pull /sdcard/Download/magisk_patched_[строки].img`.
|
||
- [ ] Уйти в fastboot и прошить в **тот же раздел**, что патчили:
|
||
|
||
```bash
|
||
fastboot flash init_boot magisk_patched-*.img
|
||
# или: fastboot flash boot magisk_patched-*.img
|
||
# или: fastboot flash recovery magisk_patched-*.img
|
||
```
|
||
|
||
- [ ] *(Необязательно)* если есть отдельный раздел `vbmeta`: `fastboot flash vbmeta --disable-verity --disable-verification vbmeta.img` — **может стереть данные**.
|
||
- [ ] Перезагрузиться и запустить приложение Magisk; на запрос «environment fix» согласиться и дождаться ребута. Готово.
|
||
|
||
> [!danger] Патчить образ — только на своём устройстве и от своей прошивки
|
||
> **Никогда не прошивайте чужой пропатченный образ** и не патчите образ на другом устройстве — даже той же модели. Это может привести к «кирпичу» с необходимостью полного wipe данных. Всегда патчьте `boot`/`init_boot` **на том же устройстве**, где ставите Magisk, и **от точно той прошивки**, что установлена.
|
||
|
||
> [!note] Известная проблема на Android 16 (Pixel)
|
||
> По сообщениям ([Magisk issue #9583](https://github.com/topjohnwu/Magisk/issues/9583)), на **Android 16** со свежими сборками Magisk root иногда «не берётся» после прошивки — патч не распознаётся. Обходной путь из обсуждения: **переустановить сам APK Magisk** после флеша, тогда Zygisk и модули появляются. Это баг-репорт, а не официально закрытая проблема — проверяйте актуальность.
|
||
|
||
## Особый случай: Magisk in Recovery (устройства без boot-ramdisk)
|
||
|
||
Если у устройства **нет ramdisk в boot** (`Ramdisk = No`), Magisk вынужденно **занимает recovery-раздел**. Тогда Magisk включается **только при загрузке в recovery**: обычная загрузка идёт **без** Magisk, а чтобы система стартовала с root, нужно каждый раз входить через комбинацию клавиш recovery (у каждой модели своя — легко ищется по названию устройства).
|
||
|
||
Схема (от выключенного состояния):
|
||
|
||
- **Обычное включение** → система **без** Magisk.
|
||
- **Комбо recovery** → сплеш-экран → **отпустить все кнопки** → система **с** Magisk.
|
||
- **Комбо recovery** → сплеш-экран → **долго держать Volume Up** → настоящий recovery.
|
||
|
||
В этом режиме **обновлять/ставить Magisk через кастомный recovery нельзя** — только методом «Patch Image».
|
||
|
||
## Особый случай: устройства Samsung
|
||
|
||
> [!warning] Samsung: необратимый Knox и обязательный wipe
|
||
> На Samsung установка Magisk **навсегда «сжигает» Knox Warranty Bit** (необратимо) и **при первой установке требует полного wipe данных**.
|
||
|
||
Порядок на Samsung отличается — вместо `fastboot` используется **Odin** (Windows) / **Odin4** (Linux) / **Heimdall**:
|
||
|
||
- [ ] Проверить в **Download mode**, что загрузчик разблокирован: `OEM Lock = OFF (U)` и что **KnoxGuard (RMM)** не активен (значения `Checking`/`Completed`/`Broken` = разблокирован). Активный KnoxGuard не даст поставить Magisk.
|
||
- [ ] Скачать официальную прошивку своей модели (SamFirm.NET, Frija, Samloader, Bifrost) и скопировать на телефон **AP tar** (`AP_[модель_версия].tar.md5`).
|
||
- [ ] В Magisk: **Install** → *(если нет boot-ramdisk — включить «Recovery Mode»)* → **«Select and Patch a File»** → выбрать AP tar.
|
||
- [ ] Забрать результат по ADB: `adb pull /sdcard/Download/magisk_patched_[строки].tar`. **Не использовать MTP** — он портит большие файлы.
|
||
- [ ] В **Odin** прошить `magisk_patched.tar` как **AP** вместе с `BL`, `CP` и `CSC` (именно `CSC`, а не `HOME_CSC`, — чтобы стереть данные при первой установке).
|
||
- [ ] После прошивки согласиться на factory reset; при отсутствии boot-ramdisk — загрузиться в recovery, чтобы включить Magisk. Запустить приложение Magisk и дать ему доделать настройку с автоперезагрузкой.
|
||
|
||
> [!danger] Samsung: важные запреты
|
||
> - После рутинга **OTA недоступны** — новую прошивку ставят вручную тем же патчем AP. При **апгрейде** в Odin используют `HOME_CSC` (а не `CSC`), чтобы **не** стирать данные.
|
||
> - **Никогда не восстанавливайте `boot`/`init_boot`/`recovery`/`vbmeta` обратно на сток** — это грозит «кирпичом» с восстановлением только через полный Odin-флеш с wipe.
|
||
> - Никогда не шейте стоковый AP напрямую при обновлении — всегда сперва патчьте его в Magisk.
|
||
|
||
## Root и обновления прошивки (OTA): как не терять root
|
||
|
||
Как и любой boot-based root, **Magisk слетает после OTA** — обновление перезаписывает `boot`/`init_boot`. На **A/B-устройствах** (современные Pixel и др.) переустанавливать через ПК не нужно — есть функция **«Install to Inactive Slot (After OTA)»**:
|
||
|
||
- [ ] Установить обновление (например, в LineageOS Updater / системном апдейтере), но **не перезагружаться**, когда предложит «Reboot».
|
||
- [ ] В Magisk: **Install → «Install to Inactive Slot (After OTA)»** — Magisk пропатчит неактивный слот, куда легло обновление.
|
||
- [ ] Только теперь перезагрузиться — система стартует с обновлённого слота уже с root.
|
||
|
||
> [!warning] Порядок критичен
|
||
> Сначала установка OTA в неактивный слот, **потом** Magisk в тот же слот, и лишь затем перезагрузка. Если перезагрузиться раньше — root слетит, и придётся патчить `boot`/`init_boot` вручную и шить через `fastboot`. Изредка трюк с неактивным слотом даёт сбой (зависит от версии Magisk/сборки) — тогда откатываетесь к ручному патчу текущего образа.
|
||
|
||
## Удаление Magisk
|
||
|
||
- **Через приложение Magisk** — кнопка **Uninstall** (простой и рекомендуемый способ).
|
||
- **Через кастомный recovery** — переименовать APK Magisk в `uninstall.zip` и прошить как обычный flashable-zip. Способ **устарел** и поддерживается по минимуму; на современных устройствах используйте метод «Patch Image».
|
||
|
||
> [!warning] Не стирайте cache-раздел
|
||
> Файлы правил `sepolicy.rule` некоторых модулей могут лежать в разделе `cache`. При манипуляциях **не выполняйте wipe cache**, иначе потеряете настройки модулей.
|
||
|
||
## 📚 См. также
|
||
|
||
- [[root/Magisk|Magisk — systemless-root и модули]] — обзорная заметка: что это, зачем, systemless, модули, Zygisk, скрытие root, сравнение с KernelSU
|
||
- [[root/ReSukiSU-install|Установка ReSukiSU]] — установка root **через ядро**; там же общий разбор `fastboot`, слотов A/B и почему на LineageOS удобнее Magisk
|
||
- [[Zapret/android|Обход блокировок на Android]] — смежная тема: DPI и блокировки на телефоне (root не требуется, но иногда с ним удобнее)
|
||
- 🔗 [Официальная инструкция по установке Magisk](https://topjohnwu.github.io/Magisk/install.html) — первоисточник этой заметки
|
||
- 🔗 [Репозиторий Magisk на GitHub](https://github.com/topjohnwu/Magisk) — исходники и релизы (в т.ч. Canary)
|
||
- 🔗 [Magisk issue #9583](https://github.com/topjohnwu/Magisk/issues/9583) — root «не берётся» на Android 16, обходной путь
|
||
|
||
---
|
||
|
||
> [!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ
|
||
> При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: [исходник этой заметки](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main/root/Magisk-install.md) · [весь репозиторий](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main).
|