Сохранение nvram. Как сделать и восстановить бэкап NVRAM - Смартфоны Lenovo - общие вопросы - Lenovo Forums RU

Что такое NVRAM

NVRAM в приложении к смартфонам на платформе МТК - это служебная область в энергонезависимой памяти, в которой хранятся IMEI, MAC-адреса для WiFi, BT, и много другой уникальной для Вашего смартфона информации. Когда Вы делаете сброс к заводским настройкам, из этого раздела делается копия в раздел пользовательских данных /data, и уже эти данные использует Андроид.

Чем чревата порча раздела NVRAM

Работающими со сбоями или вообще не работающими WiFi, BT, мобильной связью

Как можно испортить раздел NVRAM

Некорректно отработавшей при прошивке версией SP Flash Tool (именно поэтому рекомендуется пользоваться именно той версией, которая идет вместе с прошивкой), полным форматированием памяти в SP Flash Tool (в редких случаях приходится делать эту операцию), неправильным скриптом для рекавери.

Этих проблем можно избежать, если следовать простому правилу : получив на руки смартфон, первым делом надо сделать бэкап (в том числе, и раздела NVRAM, или хотя бы только его) и сохранить его на компьютере!

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

Для создания бэкапа у Вас должны быть права root на телефоне или установлено рекавери TWRP.

Бэкап раздела NVRAM можно получить следующими способами:

Спойлер

С помощью кастомного рекавери TWRP.

Если для Вашего телефона уже есть расширенное рекавери TWRP, в нем можно сделать бэкап для восстановления (в нем же) всех основных системных разделов - просто в главном меню нажмите кнопку

Backup , отметьте галочки на всех пунктах Select partitions to back Up , поставьте галочку включения сжатия Enable compression , задайте имя нажатием Set Backup Name и свайпом вправо запустите создание бэкапа

Спойлер

После этого перегрузитесь и, подключив смарт к ПК, скопируйте папку TWRP\BACKUPS\имя вашего бэкапа в надежное место. Из такого полного бэкапа Вы всегда можете восстановить любой необходимый раздел, в том числе и NVRAM

Спойлер

C помощью программы MTK Droid Tools с ПК.

Большинство владельцев телефонов на платформе МТК знает этот мощный инструмент.

Скачайте последнюю версию отсюда (ссылка авторская, будет простейшей формой благодарности скачать программу по ней)

  • На телефоне в настройках в разделе "Параметры разработчика" включена Отладка по USB . Если у Вас в настройках нет раздела "Параметры разработчика", то зайдите в настройках в пункт "О телефоне" и 7-кратным тапом по номеру сборки включите отображение раздела "Параметры разработчика".

После этого от имени администратора запускайте MTKdroidTools.exe и подключайте кабелем телефон к порту на материнской плате ПК (сзади)

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

Если этот прямоугольник зеленый , как на скриншоте - все в порядке, root shell есть

Спойлер

Если этот прямоугольник желтый , то надо нажать справа внизу кнопку ROOT и следовать указаниям

Спойлер

Чаще всего программе удается получить временный root shell.

После этого нажмите кнопку IMEI/NVRAM, проверьте наличие галочек на пунктах /dev/nvram и /data/nvram и нажмите кнопку Backup . По окончании работы в подпапке программы BackupNVRAM появятся два файла с расширениями bin и tar и информацией в имени о имени телефона, IMEI и дате/времени создания бэкапа NVRAM.

Спойлер

Спойлер

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

Проверьте перед запуском, что:

  • На компьютере временно отключен антивирус
  • На компьютере установлены драйвера ADB
  • На телефоне в настройках в разделе "Параметры разработчика" включена Отладка по USB. Если у Вас в настройках нет раздела "Параметры разработчика", то зайдите в настройках в пункт "О телефоне" и 7-кратным тапом по номеру сборки включите отображение раздела "Параметры разработчика".

Подключите кабелем телефон к порту на материнской плате ПК (сзади) и запустите NVRAM_backup.bat , по окончании работы в папке появится файл nvram.img .

Затирание IMEI и правильный способ решения проблемы, или что такое NVRAM .

IMEI на наших устройствах слетает при форматировании, а иногда и при прошивке FlashTool-ом.
Чтобы понять природу этого явления, необходимо окунуться в недра EMMC. Там есть раздел /dev/nvram . В нем находятся IMEI, SN, MAC адреса сетевых интерфейсов и др.
Если открыть скаттер то можно обнаружить в 16-й строке __NODL_NVRAM 0xe00000. Начало строки __NODL_ заставляет флэштул игнорировать этот пункт. Почему же, несмотря на это, он его иногда затирает - мне неизвестно. Именно это и является причиной исчезновения IMEI после прошивки, и как понятно из предыдущего, не только ИМЕЙ. То есть, мы удаляем раздел не давая взамен ничего!
Итак, /dev/nvram прошивается на заводе и все дальнейшие официальные апдейты и прошивки даже думать не смеют его трогать. Как бы не менялась программная часть, он остается неизменным. В редких случаях, производитель вносит изменения в него, и выпускает прошивки для сервис центров, включая в нее и этот раздел.

В рабочей системе IMEI находятся по пути /data/nvram . Точнее /data/nvram/md/NVRAM/NVD_IMEI/. Директория /data/nvram создается при первом запуске устройства, путем копирования в нее содержимого /dev/nvram . Распространена рекомендация сохранять папку /data/nvram для восстановления имей в будущем. Это, конечно, справедливо, как и призывы к бэкапу в принципе. Калибровки с имеями вы восстановите, но эта директория бесполезна при восстановлении раздела /dev/nvram.

Что необходимо предпринять дабы избежать проблем в будущем?
Во первых нужно создать полный дамп памяти устройства. Рекомендую это сделать сразу после покупки устройства, до начала поиска лучшей в мире прошивки. В зависимости от метода дампа, среди прочих файлов должен быть файл nvram.img . Именно img размером 5242880. Это и есть образ необходимого раздела. Всякие nvram.tar и прочие ext4 это копии /data/nvram и интереса не представляют.
Для создания только образа раздела /dev/nvram можно воспользоваться командой:
dd if=/dev/nvram of=/sdcard/nvram.img bs=5242880 count=1
5242880 это размер раздела для устройств на платформах 6577-6589. В результате по пути sdcard будет создан файл nvram.img . Сохраняем его в надежное место.

Как восстановить затертый раздел /dev/nvram?
Самый простой способ, скопировать сохраненный ранее файл его в память устройства набрать команду:
dd if=/sdcard/nvram.img of=/dev/nvram
Результатом успешной отработки команды послужат строчки
10240+0 records in
10240+0 records out
5242880 bytes transfered in…..
Для прошивки этого раздела ФлэшТулом находим в скатере строчку __NODL_NVRAM .... и удаляем в ней __NODL_ , после чего в окне программы выбираем наш nvram.img . Именно выбираем. Хоть он и станет доступен в окне программы, но ФлэшТул его сам не подхватит.
Иногда флэштул не хочет шить отдельно этот раздел. В этом случае необходимо скачать прошивку для флэштула, открыть правленый скатер и отметить кроме прочего и nvram.img

Для того чтобы прошить ФлэшТулом методом Upgrate, который требует включения всех пунктов, только необходимые на момент разделы, делаем следующее:

Открываем scatter в любом текстовом редакторе. Дописываем в начало строки раздела который хотим исключить __NODL_. Например __NODL_PRELOADER 0x0. Сохраняем, открываем скаттер ФлэшТулом и шьем только те разделы которые остались не закомментированы, тк ФлэшТул их не увидит.

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

Как сделать и восстановить бэкап NVRAM

NVRAM в приложении к смартфонам на платформе МТК - это служебная область в энергонезависимой памяти, в которой хранятся IMEI, MAC-адреса для WiFi, BT, и много другой уникальной для Вашего смартфона информации. Когда Вы делаете сброс к заводским настройкам, из этого раздела делается копия в раздел пользовательских данных /data, и уже эти данные использует Андроид.

Чем чревата порча раздела NVRAM

Работающими со сбоями или вообще не работающими WiFi, BT, мобильной связью

Как можно испортить раздел NVRAM

Некорректно отработавшей при прошивке версией SP Flash Tool (именно поэтому рекомендуется пользоваться именно той версией, которая идет вместе с прошивкой), полным форматированием памяти в SP Flash Tool (в редких случаях приходится делать эту операцию), неправильным скриптом для рекавери.

Этих проблем можно избежать, если следовать простому правилу : получив на руки смартфон, первым делом надо сделать бэкап (в том числе, и раздела NVRAM, или хотя бы только его) и сохранить его на компьютере!

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

Для создания бэкапа у Вас должны быть права root на телефоне или установлено рекавери TWRP.

Бэкап раздела NVRAM можно получить следующими способами:

С помощью рекавери TWRP

Если для Вашего телефона уже есть расширенное рекавери TWRP, в нем можно сделать бэкап для восстановления (в нем же) всех основных системных разделов - просто в главном меню нажмите кнопку Backup , отметьте галочки на всех пунктах Select partitions to back Up , поставьте галочку включения сжатия Enable compression , задайте имя нажатием Set Backup Name и свайпом вправо запустите создание бэкапа

Скриншот

После этого перегрузитесь и, подключив смарт к ПК, скопируйте папку TWRP\BACKUPS\имя вашего бэкапа в надежное место. Из такого полного бэкапа Вы всегда можете восстановить любой необходимый раздел, в том числе и NVRAM

С помощью MTK Droid Tool

Большинство владельцев телефонов на платформе МТК знает этот мощный инструмент.

Скачайте последнюю версию отсюда

  • На компьютере установлены
  • На телефоне в настройках в разделе "Параметры разработчика" включена Отладка по USB . Если у Вас в настройках нет раздела "Параметры разработчика", то зайдите в настройках в пункт "О телефоне" и 7-кратным тапом по номеру сборки включите отображение раздела "Параметры разработчика".

После этого от имени администратора запускайте MTKdroidTools и подключайте кабелем телефон к порту на материнской плате ПК

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

Если этот прямоугольник зеленый , как на скриншоте - все в порядке, root shell есть

Скриншот


Если этот прямоугольник желтый , то надо нажать справа внизу кнопку ROOT и следовать указаниям

Скриншот


Чаще всего программе удается получить временный root shell.

После этого нажмите кнопку IMEI/NVRAM, проверьте наличие галочек на пунктах /dev/nvram и /data/nvram и нажмите кнопку Backup . По окончании работы в подпапке программы BackupNVRAM появятся два файла с расширениями bin и tar и информацией в имени о имени телефона, IMEI и дате/времени создания бэкапа NVRAM.

Скриншот


С помощью ADB

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

Проверьте перед запуском, что:

  • На компьютере временно отключен антивирус
  • На компьютере установлены ADB
  • На телефоне в настройках в разделе "Параметры разработчика" включена Отладка по USB. Если у Вас в настройках нет раздела "Параметры разработчика", то зайдите в настройках в пункт "О телефоне" и 7-кратным тапом по номеру сборки включите отображение раздела "Параметры разработчика".

Подключите кабелем телефон к порту на материнской плате ПК и запустите NVRAM_backup.bat , по окончании работы в папке появится файл nvram.img .

Восстановление бэкапа раздела NVRAM:

Я на соседнем форуме писал как-то на тему сабж-а. Если правила не запрещают, выложу сюда то сообщение полностью. Это, скажем

так, вторая редакция.)) До этого писал на эту тему, но бэкапил nvram.img дампом g-script, а восстанавливал ФлэшТулом. Из этой темы почерпнул команды бэкапа и восстановления. Работают безотказно, спасибо javum-у за них.

В чем-то похоже на некое резюме этой темы.)

Спойлер

Не в первый раз в личке просят прокомментировать или дать разъяснения по одному посту.
Так как это напрямую относится к теме, решил выложить сюда новую редакцию. Надеюсь, на этот раз не так туманно получилось.

IMEI на наших устройствах слетает при форматировании, а иногда и при прошивке FlashTool-ом.
Чтобы понять природу этого явления, необходимо окунуться в недра EMMC. Там есть раздел /dev/nvram . В нем находятся IMEI, SN, MAC адреса сетевых интерфейсов и др.
Если открыть скаттер то его можно обнаружить в 16-й строке - __NODL_NVRAM 0xe00000. Начало строки __NODL_ заставляет флэштул игнорировать этот пункт. Почему же, несмотря на это, он его иногда затирает - мне неизвестно. Именно это и является причиной исчезновения IMEI после прошивки, и как понятно из предыдущего, не только ИМЕЙ. То есть, мы удаляем раздел не давая взамен ничего!
Итак, /dev/nvram прошивается на заводе и все дальнейшие официальные апдейты и прошивки даже думать не смеют его трогать. Как бы не менялась программная часть, он остается неизменным. В редких случаях, производитель вносит изменения в него, и выпускает прошивки для сервис центров, включая в нее и этот раздел.

В рабочей ситеме IMEI находятся по пути /data/nvram . Точнее /data/nvram/md/NVRAM/NVD_IMEI/. Директория /data/nvram создается при первом запуске устройства, путем копирования в нее содержимого /dev/nvram . Распространена рекомендация сохранять папку /data/nvram для востановления имей в будущем. Это, конечно, справедливо, как и призывы к бэкапу в принципе. Калибровки с имеями вы востановите, но эта директория бесполезна при востановлении раздела /dev/nvram.

Что необходимо предпринять дабы избежать проблем в будущем?
Во первых нужно создать полный дамп памяти устройства. Рекомендую это сделать сразу после покупки устройства, до начала поиска лучшей в мире прошивки. В зависимости от метода дампа, среди прочих файлов должен быть файл nvram.img . Именно img размером 5242880. Это и есть образ необходимого раздела. Всякие nvram.tar и прочие ext4 это копии /data/nvram и интереса не представляют.
Для создания только образа раздела /dev/nvram можно воспользоваться командой:
dd if=/dev/nvram of=/sdcard/nvram.img bs=5242880 count=1
5242880 это размер раздела для устройств на платформах 6577-6589. В результате по пути sdcard будет создан файл nvram.img . Сохраняем его в надежное место.

Как восстановить затертый раздел /dev/nvram?
Самый простой способ , скопировать сохраненный ранее файл его в память устройства набрать команду:
dd if=/sdcard/nvram.img of=/dev/nvram
Результатом успешной отработки команды послужат строчки
10240+0 records in
10240+0 records out
5242880 bytes transfered in…..
Для прошивки этого раздела ФлэшТулом находим в скатере строчку __NODL_NVRAM .... и удаляем в ней __NODL_ , после чего в окне программы выбираем наш nvram.img . Именно выбираем. Хоть он и станет доступен в окне программы, но ФлэшТул его сам не подхватит.
Иногда флэштул не хочет шить отдельно этот раздел. В этом случае необходимо скачать прошивку для флэштула, открыть правленый скатер и отметить кроме прочего и nvram.img

Для того чтобы прошить ФлэшТулом методом Upgrate, который требует включения всех пунктов, только необходимые на момент разделы, делаем следующее:

Открываем scatter в любом текстовом редакторе. Дописываем в начало строки раздела который хотим исключить __NODL_ . Например __NODL_PRELOADER 0x0 . Сохраняем, открываем скаттер ФлэшТулом и шьем только те разделы которые остались незакомментированы, тк ФлэшТул их не увидит.
Данный трюк позволяет как скрывать, так и открывать закрытые пункты скаттера. Таким образом, можно выборочно шить необходимые разделы через Upgrate, например nvram.

Как восстановить раздел, в случае отсутствия резервной копии?
Для этого нужно воспользоваться файлом от донора. Попросите кого-то в теме вашего аппарата одолжить вам свой nvram.img. Как его получить написано выше. Недостаток очевиден, мы получаем чужие IMEI, MAC и пр. Способы правки nvram.img мне неизвестны, однако есть программные средства для редактирования раздела /dev/nvram (ссылки ниже). После успешного внесения изменений в раздел, сохраняем его командой что выше.

Как узнать, затерт или нет /dev/nvram?
Смысл проверить есть, только если вы хоть раз "теряли" IMEI. Для этого достаточно в рекавери сбросить аппарат к заводским настройкам, удалив тем самым /data. Если после первого запуска IMEI опять отсутствует, значит все что выше написано - для вас..

Возникает резонный вопрос – зачем вся эта камасутра, когда восстановить IMEI можно за минуту с помощью софта?
Можно, но вы "восстановите" его по адресу /data/nvram, а "статья" о том как восстановить важный раздел, в котором кроме имея много нужного и после затирания которого отмечены проблемы различного характера. Кроме того, он опять слетит при следующей перепрошивке.

Обратите внимание, что новая версия MTK Droid Tools получила функцию бэкапа /dev/nvram. Сохраняет с расширением.bin

Методы проверены и работают. Я восстановил три живых аппарата и четыре в оффлайне. Последний менее часу назад в кумысе.

Как восстановить IMEI на Андроид (MTK) . Проблема отсутствия IMEI может возникнуть на китайском Android смартфоне из за того, выполняли сброс или прошивали его. Как восстановить IMEI на китайском смартфоне можно узнать из данной статьи.

Есть IMEI или нет?

Узнать это можно набрав в номеронабиратели комбинацию *#06#, после чего вы либо увидите свой IMEI либо ничего или нули.

Есть IMEI нет? Как восстановить IMEI на китайском смартфоне?

Способ №1 (инженерное меню)

CDS Information > Radio Information > Phone 1

4. В верхней строке, после надписи AT+ и введите EGMR=1,7,»»
5. Передвиньте курсор между кавычками «» после чего необходимо ввести 15 цифр вашего IMEI;

Пример: AT+EGMR=1,7,»12345678912345″

6. Подтвердите ваш выбор нажав на кнопку SEND AT COMMAND ;

Если появляется ошибка «This command is not ed in UserBuild», тогда поставьте пробел после + . То есть вот так: AT+ EGMR=1,7,»12345678912345″

7. Для смартфона с 2-мя сим картами необходимо восстановить второй IMEI, для этого ввести код AT+EGMR=1,10,«12345678912345«
8. После того как вы вели IMEI выйдите из инженерного меню, выключите смартфон и снова включите его;
9. Набрать в номеронабиратели комбинацию *#06#, после чего вы увидите свой IMEI;
10. Вставьте сим карты обратно.

Способ №2 (инженерное меню 2)

Если инженерное меню не похоже на то, что описано в первом способе, тогда возможно у вас будет следующий вариант.

  1. Переходим в инженерное, для этого набрав *#*#3646633#*#* ;
  2. Ищем вкладку «Telephony » и далее выбираем «GPRS » ;
  3. Поочередно выбираем SIM1 и SIM2 , вбиваем IMEI и жмем «WRITE IMEI » ;
  4. Перезагрузить устройство и IMEI на месте!

Способ №3 (приложением, необходим root)

На вашем Android должен быть установлены Root права !

  • 1 Скачайте и установите приложение Chamelephon с магазина Google Play
  • 2 Запустите приложение Chamelephon
  • 3 Установите или cгенерируйте новый IMEI

Способ №4 (приложением, необходим root)

2. Извлечь приложение из архива;
3. Вынуть SIM карту из смартфона;
4. Установить приложение на смартфон;
5. При первом запуске приложение уведомит о типе вашего Android устройства, после ознакомления нажмите кнопку ok;
6. Приложение считает IMEI, если не считало нажать кнопку считать;
7. Снять галочку с «одинаковые IMEI» вписать новые IMEI;

8. Нажать кнопку «выйти». Перезагрузить Android устройство/

Способ №5 (необходим root)

1. Скачать и установить программу ADB RUN;
2. Запустить программу ADB RUN и перейти в меню: Manual Command -> Restore Imei (MTK Only) ;
3. Для односимочного устройство выбрать пункт One Sim, для устройства с двумя сим выбрать Dual Sim;

4. Написать свой IMEI, после чего у вас на рабоче создаться файл MP0B_001 ;
5. Переместить файл MP0B_001 на карту памяти или внутреннюю память;
6. Скачать и установить приложение Root Browser;
7. С помощью Root Broser переместить файл MP0B_001 по пути:

/data/nvram/md/NVRAM/NVD_IMEI/MP0B_001 /nvram/md/NVRAM/NVD_IMEI/MP0B_001

8. Перезагрузить устройство.