Что такое Bootloader на Android

  • 20.06.2019

Много лет компания Microsoft улучшала систему восстановления операционной системы Windows, и в Windows 7 и Windows Vista она работает практически в автоматическом режиме. Если вы загрузитесь с установочного диска Windows 7 и щелкните "Восстановление системы " ("Repair Computer "), система восстановления Windows будет запущена и самостоятельно попытается исправить все ошибки, которые она найдет. Она способна исправить большое количество проблем, однако, вполне вероятна ситуация, когда оказывается поврежден загрузчик, и с этой проблемой система восстановления не может справиться. В этом случае можно восстановить загрузчик вручную при помощи утилиты Bootrec.exe.

Приложение Bootrec.exe служит для исправления ошибок, связанных с повреждением загрузчика и, как следствие, невозможностью запуска операционных систем Windows 7 и Windows Vista.

Последовательность действий

Описание ключей запуска утилиты Bootrec.exe

Bootrec.exe /FixMbr

Запущенная с ключом /FixMbr, утилита записывает совместимую с Windows 7 и Windows Vista главную загрузочную запись (Master Boot Record, MBR) в системный раздел. Используйте эту опцию для разрешения проблем, связанных с повреждением главной загрузочной записи, или если вы желаете удалить из неё нестандартный код. Существующая таблица разделов в этом случае не перезаписывается.

Bootrec.exe /FixBoot

Запущенная с ключом /FixBoot, утилита записывает в системный раздел новый загрузочный сектор, совместимый с Windows 7 и Windows Vista. Использовать эту опцию нужно в следующих случаях:

  1. Загрузочный сектор Windows Vista или Windows 7 был заменен нестандартным.
  2. Загрузочный сектор поврежден.
  3. Была установлена предыдущая версия операционной системы Windows после установки Windows Vista или Windows 7. Например, если была установлена Windows XP, будет использоваться NTLDR (Windows NT Loader, загрузчик Windows NT), код штатного загрузчика NT 6 (Bootmgr) будет затерт программой установки Windows XP.

Следует отметить, что подобного эффекта можно добиться использованием утилиты bootsect.exe, также находящейся на загрузочном носителе Windows 7. Для этого необходимо запустить bootsect.exe со следующими параметрами:

Bootsect /NT60 SYS

Загрузочный сектор системного раздела будет перезаписан кодом, совместимым с BOOTMGR. Подробней об использовании утилиты bootsect.exe можно узнать, запустив её с параметром /help .

Bootrec.exe /ScanOs

Запущенная с ключом /ScanOs, утилита сканирует все диски на предмет установленных операционных систем Windows Vista и Windows 7. Кроме того, при её использовании выводится список найденных систем, которые в данный момент не прописаны в хранилище данных конфигурации загрузки Windows (Boot Configuration Data (BCD) Store).

Bootrec.exe /RebuildBcd

Запущенная с этим ключом, утилита сканирует все диски на предмет наличия установленных операционных систем Windows Vista или Windows 7. Найденные ОС выводятся в список, из которого их можно добавить в хранилище данных конфигурации загрузки Windows (Boot Configuration Data Store). Используйте также эту опцию, если вы хотите полностью перестроить хранилище данных конфигурации загрузки. Перед этим необходимо удалить предыдущее хранилище. Набор команд при этом может быть таким:

Bcdedit /export C:\BCDcfg.bak attrib -s -h -r c:\boot\bcd del c:\boot\bcd bootrec /RebuildBcd

В вышеприведенном примере текущее хранилище конфигурации загрузки экспортируется в файл C:\BCDcfg.bak, с него снимаются атрибуты "системный", "скрытый" и "только для чтения", после чего оно удаляется командой DEL и заново перестраивается командной bootrec /RebuildBcd.


Увеличить рисунок

Конечно, утилита Bootrec.exe весьма функциональна, однако, она не поможет, если, например, файл загрузчика Windows bootmgr поврежден или физически отсутствует. В таком случае можно воспользоваться другой утилитой, также входящей в состав дистрибутивного носителя Windows 7 - bcdboot.exe .

Восстановление среды загрузки с помощью BCDboot.exe

BCDboot.exe - это средство, которое используется для создания или восстановления среды загрузки, расположенной в активном системном разделе. Утилита также может быть использована для переноса файлов загрузки .

Командная строка в данном случае может выглядеть таким образом:

Bcdboot.exe e:\windows

Замените e:\windows на путь, соответствующий вашей системе.
Эта операция восстановит поврежденную среду загрузки Windows, включая файлы хранилища конфигурации данных загрузки (BCD), в том числе упомянутый выше файл bootmgr.

Синтаксис параметров командной строки утилиты bcdboot

Утилита bcdboot.exe использует следующие параметры командной строки:

BCDBOOT источник ]

источник

Указывает расположение каталога Windows, используемого в качестве источника при копировании файлов среды загрузки.

Необязательный параметр. Задает язык среды загрузки. По умолчанию используется английский (США).

Необязательный параметр. Указывает букву диска системного раздела, куда будет установлены файлы среды загрузки. По умолчанию используется системный раздел, заданный микропрограммой BIOS.

Необязательный параметр. Включает режим подробного протоколирования работы утилиты.

Необязательный параметр. Объединяет параметры вновь созданной и уже имеющейся загрузочной записи хранилища и записывает их в новую загрузочную запись. Если GUID загрузчика операционной системы задан, для создания загрузочной записи объединяет объект загрузчика с шаблоном системы.

Резюме

В статье были рассмотрены принципы работы с утилитами bootrec.exe и bcdboot.exe, служащими для разрешения проблем, связанных с невозможностью запуска операционной системы Windows 7 из-за поврежденного или отсутствующего загрузчика.

В данной статье приводится пошаговая инструкция, которая поможет даже неопытному пользователю успешно разблокировать загрузчика bootloader и установить кастомный recovery Cyanogen Mod .

Ваши данные подлежат удалению. Если вам необходимо сохранить важную информацию – рекомендуем сделать бэкап. Все ваши действия вы совершаете на собственный страх и риск. Отметим, что автор не несет ответственности за «окирпичивание» смартфона пользователя.

Готовимся к установке

1. Качаем и устанавливаем драйвера. Сделать это можно, перейдя по нашей ссылке ниже.

2. Распаковываем архив в любом месте на жестком диске.
3. Отключаем телефон.
4. Запускаем телефон в режиме fastboot, для чего следует нажать «громкость -», и, удерживая ее, нажать «Power».
5. На ПК отобразится сообщение об обнаружении нового устройства.
6. Зайти в диспетчер устройств (путь: Панель управления – Система – Диспетчер устройств).
7. Найти неизвестное устройство, которое обычно обозначается в виде желтого треугольника с восклицательным знаком.
8. Дважды щелкнуть по нему.
9. В окне, которое появилось, надо нажать: Обновить драйвер – Выполнить поиск драйвера на этом ПК – Выбрать драйвера из перечня установленных драйверов – Установить с диска – Выбрать папку, куда были распакованы драйвера – Поставить флажок на «Поиск в подпапках» - завершить установку драйверов.
10. Устройство полностью готово к дальнейшим манипуляциям.
11. Скачать ADB и Fastboot согласно разрядности операционной системы: для x32/86 или x64. Распаковать архив в выбранную вами папку. Надо, чтобы путь не содержал русских букв (кириллицы) и цифр. Я, к примеру, распаковываю папку в d:\ADB.

12. Скачать кастомный Recovery: CWM и кинуть *.img файл в ту же папку, что ADB.

Разлочка Bootloader

Сначала следует произвести разлочку Bootloader на смартфоне. С этой целью необходимо подключить смартфон к ПК и перевести его в fastboot-режим. Чтобы перевести вданный режим, надо отключить телефон и в ходе выключения нажать и удерживать две кнопки: «Громкость –» и «Power». В Fastboot-режиме на дисплее смартфона появится зеленый робот, у которого вскрыт живот.

Далее вам предстоит запустить командную строчку: пуск – в строчке «выполнить» написать «cmd» (без кавычек) – сверху должно появиться «cmd.exe» - кликнуть правой кнопкой мыши «cmd.exe» - Запуск с правами администратора.

После этого заходим в папку, в которой находится ADB (в моем случае она расположена на пути d:\ADB):сначала я ввожу «d» (кавычки вводить не нужно) и нажимаю Enter – ввожу «cd ADB» и снова нажимаю Enter. Окно командной строки теперь выглядит так:

С целью разлокировки Bootloader надо ввести такую команду:

fastboot oem unlock

Принимаем разблокировку путем нажатия кнопки «Громкость +» и подтверждаем действие нажатием кнопки «power».

Итак, Bootloader разблокирован. Теперь перезагружаемся в систему. Смартфон введет необходимые изменения, загрузится,после чего следует осуществить первичную настройку от Гугл (я многое пропускаю, так как телефон еще разбудет перешит). Дальше – запуск fastboot и установка кастомного Recovery.

Теперь устанавливаем кастомный Recovery. С этой целью надо ввести в командную строку команду

fastboot flash recovery ***

Если вы используете плату MinimOSD под управлением микроконтроллера ATMega328p , и при настройке случайно стерли bootloader, при попытке конфигурации в программе ArduCam OSD Config вы вероятнее всего увидите следующее сообщение:

Давайте разберемся, как оперативно и с минимальными затратами решить эту проблему (2 способа)

Внимание! Вы делаете все операции на ваш страх и риск! Автор не несет ответственности за неисправности, финансовые затраты или потерю гарантии в результате выполнения Вами действий, описанных в этой статье.

1 способ (дорогой и непроверенный мной, но простой)

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

  • в меню "Tools→Board " выбрать тип платы (в нашем случае Arduino Pro or Pro Mini (5v, 16MHz) w/ATmega128)
  • в меню "Tools→Programmer " выбрать ваш тип программатора (например USBasp)
  • в меню "Tools
        " выбрать пункт "Burn Bootloader"
Далее, как пишут на форуме RC Groups необходимо подождеть 2-3 минуты, и увидеть предупреждение в стиле “warning: cannot set sck period. Please check for usbasp firmware update. Рекомендуется его игнорировать.
Затем необходимо отключить программатор, и подключиться к плате MinimOSD для её конфигурации по схеме, указанной в статье По идее, должно заработать.

Но, как известно, не у всех под рукой программатор, поэтому предлагаю

2 способ (сложнее, но проверенный)

Как известно, Arduino базируются на процессорах Atmel. А для программирования Atmel существует такая веселая приблуда, как avrdude. И она умеет прошивать наш контроллер через интерфейс ISP, он же SPI. А этот интерфейс поддерживается всем известной микросхемой FT232RL.

Я использовал такой переходник, купленный в подвальчике дядюшки Ляо на Aliexpress как для конфигурации платы, так и для восстановления бутлоадера:
Черная 6-пиновая гребенка используется для общения с другими платами через протокол rs232/USART , через него происходит общение ArduCam OSD Config с платой MinimOSD .
Желтая гребенка отвечает за интерфейс ISP/SPI, через него можно скормить микроконтроллеру практически все что угодно. Я ради эксперимента заливал через него прошивку minNAZAOSD_upload_MCM.hex из проекта. Правда отображалась только верхняя левая часть информационного поля, что меня не обрадовало.

Так вот. Чтобы BOOTLOADER снова закорешился с нашим камнем и начал отзываться на запросы ArduCam OSD Config, необходимо запаять в плату minimOSD двухрядную 6-пиновую гребенку в отверстия возле контроллера. Ну или проводки припаять - кому как душа лежит. Должно получиться как-то так:

Распиновка разъема на плате minimOSD и переходнике одинаковая, и выглядит следующим образом: Первый пад имеет квадратную форму.
Соединять необходимо соответственно 1→1, 2→2 и т.д.

Есди на переходнике есть переключатель напряжений - установите напряжение .

Затем нужно прошить прошивку с бутлоадером. Её можно взять в установочной папке Arduino под именем ATmegaBOOT_168_atmega328.hex

Чем будем жечь?

А жечь будем консольной программкой avrdude В этом же архиве можно взять ATmegaBOOT_168_atmega328.hex

Для удобства в архиве находится файл loader.cmd, который вызывает avrdude с необходимыми параметрами.
Его содержание следующее:

avrdude.exe -p m328p -c ftbb -P ft0 -U lfuse:w:0xFF:m

avrdude.exe -p m328p -c ftbb -P ft0 -U hfuse:w:0xDA:m
avrdude.exe -p m328p -c ftbb -P ft0 -U efuse:w:0x05:m
avrdude.exe -p m328p -c ftbb -P ft0 -U flash:w:ATmegaBOOT_168_atmega328.hex:a

ВНИМАНИЕ! ПРИ ИСПОЛЬЗОВАНИИ ДРУГОГО МИКРОКОНТРОЛЛЕРА ДАННЫЕ КОМАНДЫ, ВЫПОЛНЕННЫЕ ПРОГРАММОЙ, МОГУТ ПРЕВРАТИТЬ ВАШ КРИСТАЛЛ В НЕВОССТАНОВИМЫЙ БЕЗ ПАРАЛЛЕЛЬНОГО ПРОГРАММАТОРА КУСОК КРЕМНИЯ!

Первые 3 строки - это так называемые fuse-биты . Они определяют параметры работы контроллера : от какого источника тактироваться, каков размер загрузочного сектора, нужно ли запускать загрузчик и т.д.
4 строка - указание на файл прошивки. Изменять настройки категорически не рекомендуется!

Для особо осторожных - можете попробовать не трогать fuse-биты , удалив первые 3 строки, и залив только прошивку. Но не факт, что так будет работать. Конечно мала вероятность, что bootloader слетает от изменения состояний fuse , но если в вашем случае причина в этом - bootloader заработает только при исправлении всех fuse . В принципе, можно запускать loader. В результате работы программа будет отображать запись прошивки в наш любимый контроллер где-то в таком виде: BOOTLOADER восстановлен, что и требовалось.

НАУКА О КОНТАКТАХ

Приехавшая платка перед новым годом была прошита, радостно нарисовала на видео буковки и циферки, и была отложена «на потом». И вот недавно была запущена, «на потом» наступил. И все бы ничего, но захотелось мне надписи подвигать по картинке. Подключаю я значится OSD к большому брату, запускаю ArduCAM OSD Config, пытаюсь считать настройки с платы, а она мне и выдает.....

В общем, если обратите внимание на фото minimOSD выше, увидите там соплю и провод от разъема к контроллеру. Дядюшка Ляо видимо зажал отмывочной жидкости, вот и перетравились два полоска. А ведь полтора месяца назад все ОК было. Поэтому, если все прошилось, а прога все равно вашу плату не видит - проверьте контакты, товарищи!

Инженерный отдел:

Вт.-Сб. с 09.00 -18.00

Вс.-Пн. с 09.00 -15.00

Без выходных

Восстановление bootloader в телефонах GSM

Наш сервисный центр занимается восстановлением BOOT (загрузчика) телефонов SAMSUNG, HTC, LG, SONY, NOKIA.
Что такое BOOT или bootloader?
Загрузчик или bootloader - это программа, которая активируется, для того что бы получить доступ к ядру операционной системы. Загрузчик существует не только на телефонах или планшетах Android и им подобным, но и на всех других устройствах с операционными системами, к примеру на Mac или ПК с Windows, Linux и т.п.. Без загрузчика не запустится ОС, не законнектится устройство с ПК и т.д.

Что приводит к затиранию файлов в области загрузчика?
Когда Вы самостоятельно в домашних условиях пытаетесь обновить прошивку телефона, планшета, забывая проверить степень зарядки АКБ (аккумуляторной батареи), то при прошивке отключается питание аппарата из-за нехватки ёмкости АКБ, особенно если это происходит на первичной стадии, то есть когда затирается какая-то область файла, и процесс записи прерван.Так же Вы можете случайно задеть или отключить кабель USB во время прошивки. Перепады напряжения в сети 220 V, без использования стабилизаторов напряжения, кратковременные скачки импульсов питания приводят к сбою записи файлов во время восстановления программного обеспечения, вплоть до выхода из строя микросхемы fleash . Вы можете просто перепутать модели телефонов и прошить его прошивкой от другой модели.

Какие симптомы повреждения bootloader?
Отбросив такие факторы, как: низкая степень зарядки АКБ, а так же падение аппарата на твёрдую поверхность с некоторой высоты, что приводит к механическому повреждению аппаратной части устройства; проникновение жидкости внутрь устройства, что приводит к замыканию цепи; или вы нашли оное устройство на чердаке дома своей бабушки, и аппарат не включается и не запускается,то симптомы такие:
1 . При нажатии на кнопку включения, мигает светодиод расположенный на корпусной части аппарата или под клавиатурой. Он может быть как красного, так и другого цвета. Запуск устройства не происходит, загрузочный логотип аппарата не высвечивается на дисплее.
. Аппарат вообще не реагирует на кнопку включения, а при попытке перевести его в режим recovery mode с помощью комбинаций клавиш не удаётся. Есть и другие симптомы повреждения bootloader, но наиболее распространённые приведены в этой статье.

Сам процесс восстановления загрузчика крапотливый и требует специальных знаний, и соответствующего оборудования. Сему в Интернет есть не мало статей и обучающих видео роликов. Однако для этого нужно всего лишь иметь комплект JTAG кабелей и программаторов, а также уменее работать с паяльным оборудованием. Да, и самое пустяковое - правильно разобрать сам телефон.

Если по каким-либо причинам Вы всё же стёрли загрузчик, то наши инженеры восстановят его в кратчайшие сроки.

Проверить IMEI

Каждый телефон имеет свой индивидуальный номер, IMEI - это 15-значное число, которое является уникальным для каждого мобильного телефона. Код записан в памяти телефона. Для того чтобы узнать IMEI, достатачно набрать с помощью клавиатуры