Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Защита админ-панели на сайте php?

Лучший ответ:
Если взять простой вариант решения этого - тебе нужно написать запрос, где проверяешь статус пользователя. 
Распишу простенький пример, для простоты не берем в рассчет защиту от иньекций и т.п.
К примеру, тебе нужно открыть доступ пользователям только имеющим status = 4, тогда это может выглядеть наподобие этого.
К примеру, пользователь авторизируется через форму логина и отправляет свой логин и пароль. Ты их проверяешь и тянешь данные из базы. На живом примере еще нужно написать проверку на то, верные ли вообще данные введены и существует ли пользователь такой. Но тем не менее.$r = mysqli_query($mysqli, "
  SELECT * FROM `users` 
  WHERE `email` = '$email' 
  AND `password` = '$password'
");
$f = mysqli_fetch_array($r);

if($f['status'] == '4') { // Если в поле status для текущего юзера у нас значение 4
  echo 'Разрешаем доступ, выполняем дальнешие действия по авторизации';
} else {
  echo 'Пользователю с вашим статусом доступ запрещен';
}

Худший ответ:
Добрый день.В БД в таблице users есть столбец status хочу что бы доступ к разделу админов имели только юзеры с статусом 3,4,5 но не совсем понимаю как это реализовать.
Если не понимаете, то не надо изобретать велосипед.
Возьмите какой-либо framework, там всё это реализовано. Изучите как это работает, а уж после этого приступайте к реализации собственного решения.
Начните с framework-ов YII2 или Laravel. Так же параллельно можете изучать этот материал.
Вопрос: Как запретить подключение по RDP к WinServ2008R2 определённому пользователю из интернета, после ввода логин\пароль?

Лучший ответ:
если пользователю разрешено подключаться к серверу терминалов через RDP, то ему разрешено это делать с любого устройства, которое способно к нему пробиться через таблицы маршрутизации и правила файервола.
либо запрещайте или ограничивайте доступ из интернета на сервер терминалов, либо используйте VPN для авторизации пользователей.

Худший ответ:
Посмотрите локальные политики безопасности - там по-моему есть возможность заблокировать логин. Правда скорее всего и локальный логин на сервер тоже заблокируется :)
Вопрос: Как создать правильную систему авторизации?

Лучший ответ:
каша в голове связанная с токенами
Хорошо что ты это понимаешь. Небось как и все нубасики начитался прплаченных статеек от Auth0 и Firebase? Ну так каша специально, чтобы ты к ним побежал делать эти токены) Маркетинг. Хайп. 
Второй шаг - не использовать токены для авторизации (как это делают ВСЕ реальные проекты, а не Hello World туториалы). Вместо токенов - обычные сессии. Токены - если будет публичный апи и микросервисы.
Третий шаг - не использовать Паспорт. Зачем он нужен если есть express-session, не понимаю? Паспорт юзай только если будешь прикручивать несколько авторизаций социалок и времени вообще впритык. И то лучше самому и это сделать.

Худший ответ:
Вы пытаетесь откусить слишком большой кусок пирога. Определитесь что вы хотите изучить, node, postgres или vue?  Для общения с бд я бы не рекомендовал сразу использовать sequelize, разберитесь сначала с базовыми CRUD операциями на sql запросах, это не сложно. Въехать в sequelize проще, если понимаете поверх чего эта надстройка.
Для авторизации - сессии, для фронтенда - любой шаблонизатор. А работу в паре с vue начинать, когда с экспрессом уже будет более менее все понятно.
Вопрос: Как в Vue передать из компонента в родителя?

Лучший ответ:
@changeMessage="changeMessage"
Да ну? Я вот слышал, будто бы

директивы прослушивания событий v-on внутри DOM-шаблонов автоматически преобразуются в нижний регистр (из-за нечувствительности HTML к регистру), поэтому v-on:myEvent станет v-on:myevent — что делает прослушивание события myEvent невозможным

Худший ответ:
в родителе написать:var vm = new Vue({
    el: '.app',
    data: {
        data: null,
        message: 'Hello World'
    },
    mounted () {
       this.$on('changeMessage', (message) => {
         this.message = message
       })
    }
})
раз вы используете кастомные события, так читайте доку, как их слушать
Вопрос: Windows-сервер перезагружается из-за ошибки BugCheck, что делать?

Лучший ответ:
В общем, это жесть какая-то...
Сегодня получил левел-ап в администрировании Windows )
Скачал Windows Drivers Kit, с помощью WinDbg и набора символов проанализировал последний дамп.
Оказалось, что сервер падает из-за открытых портов SMB. Это какая-то новая уязвимость Windows, под которую по-моему еще даже обновление не вышло (или вышло, но мне не пришло). Закрыл порты и удалил SMB1 из набора компонентов Windows - полдня полёт нормальный.
Подробнее, если кому нужно, можно почитать здесь или здесь. Ситуация довольно нетривиальная (лично для меня), поэтому решил здесь опубликовать результат её решения.

Худший ответ:
Проверьте аппаратную память (memtest или что сейчас есть более продвинутое сейчас). Рандомные bugcheck'и обычно свидетельствуют о том, что память где-то не хранит данные. Эту проблему ещё и усугубляет ASLR, который в сбойный блок памяти может записать код или данные вообще любого процесса.
Вопрос: Как получить все изменённые файлы после определенного коммита?

Лучший ответ:
git diff --name-only startid endid
Напримерgit diff --name-only HEAD~3 HEAD
Все изменения за последние 3 коммита.

Худший ответ:
а как перенаправить полученный результат? ну т.е. скопировать файлы?
Вопрос: Что содержится в торрент файле?

Лучший ответ:
Скачиваете uTorrent.
меню Файл -> Создать новый торрент.
А вообще формат файла легко гуглится.

Худший ответ:
Любым торрент клиентом.
А вообще, почитать википедию ?
https://ru.wikipedia.org/wiki/.torrent
https://habr.com/ru/post/119753/
Вопрос: Где разместить бриф на оценку разработки Андроид-приложения?

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

Худший ответ:
Оставив свое техническое задание на какой-нибудь фриланс бирже, исполнитель назовет вилку цен, от и до. Цена будет не точная, но на основе нее вы сможете оценить примерный бюджет.
Вероятно ваш заказ не является товаром, и у него точно нет шаблонной, фиксированной цены, поэтому точную цену узнать вы сможете только у конкретного исполнителя.
Вопрос: Можно испльзовать БЭМ не во всем коде?

Лучший ответ:
Нет, с точки зрения БЭМ-методологии, вы можете использовать эту схему только к тем зависимостям и элементам, которые считаете для этого приемлемыми. А значит - не ко всем)

Худший ответ:
А вот с точки зрения упорядоченности кода, лучше использовать бэм во всем проекте. И глаза приятно и людям которые возможно после Вас полезут в код будет проще
Вопрос: Какой подход лучше выбрать в разработке сайта на wordpress?

Лучший ответ:
Лично я не тащу избыточный функционал слоупочными плагинами типа билдеров и тп. Даже css фреймворки не использую, ибо это потом все обрастает костылями на нестандартной верстке. 
Есть определенная заготовка темы с небольшим конструктором, собранным с помощью acf, в который при необходимости дописываю нужные блоки с подключением необходимых js библиотек. 
В итоге сайт легкий, быстрый и работает годами без глюков и поддержки, не ломаясь от обновлений движка.

Худший ответ:
Каждый проект уникален.
Если что-то нужно менять через админку, выводить плагинами.
Если блок статичный, то нафик, обычным html.
Вопрос: Преминимость powershell для web-приложения?

Лучший ответ:
Простейший поиск даёт пример https://gist.github.com/19WAS85/5424431
Но зачем?

Худший ответ:
ну допустим можно поднять, только это бессмысленно и беспощадно, это же по сути консолька/bash скрипты, вообще для других целей существует.
И нет полноценным он не будет, в любом случае нужен другой "сервер" обработчик для конкретного языка.
Вопрос: Есть ли плагин WordPress для указания любой области картинки в качестве миниатюры записи?

Лучший ответ:
Вот это?

Худший ответ:
а чем тебе решение из под коробки не нравится?  joxi.ru/Y2LQw49H0p8pA6
Вопрос: Почему не работает label вне формы?

Лучший ответ:
Всё работает
Единственная ошибка которая есть - в первой строчке не закрыт тег (но вряд ли в этом проблема)
Напишите конкретнее что именно не работает.
Других не слушайте, они несут глупости про спецификации. Спецификация (1, 2) не запрещает связывать с формой и при этом помещать label куда угодно на странице. Они даже соответствующий атрибут (form) у label убрали из спецификации за ненадобностью.Labels are not themselves directly associated with forms. They are only indirectly associated with forms through the controls with which they're associated.The for attribute may be specified to indicate a form control with which the caption is to be associated. If the attribute is specified, the attribute’s value must be the ID of a labelable element in the same Document as the label element. 

Худший ответ:
Потому, что элеметны формы - это определенная группа, которая должна физически находится внутри тега form. Поставьте 3-тий label аналогично двум предыдущим, а для выноса отображения результат визуально сделайте следующее в css:
.label.l-3 {
display: inline-block;
position: absolute;
top: 75px;
right: 0px;
left: 0px:
}
Для точечного позиционирования подберите свои значения top, right или top, left конкретно в вашем случае. Таким образом вы извлечете этот элемент из нормального потока и расположите его где вашей душе вздумается!)
Вопрос: Какой купить монитор при бюджете до 25 тысяч рублей (лучше меньше)?

Лучший ответ:
DELL P2414H думаю будет неплох.
Также очень хвалят DELL U2515H
Сам брал DELL P2415Q - доволен.

Худший ответ:
Тот, который понравится внешне. В пределах одного ценового диапазона мониторы отличаются только формой подставки и цветом светодиода. Купить монитор с плохими углами обзора и зелёным чёрным - ещё надо умудриться.
Вопрос: Где научат созданию электронных схем и их программированию?

Лучший ответ:
В ИТМО или аналогичном ВУЗе.

Худший ответ:
"микропроцессорное управление производственными процессами" приходит в голову.
в принципе это два связанных предмета, "последовательно" связанных . знаешь хорошо схемотехнику - начинаешь развиваться в миропроцессорном направлении.
Вопрос: Как разрешить выполнение определённых команд без ввода пароля?

Лучший ответ:
/etc/sudoersusername ALL=(ALL) NOPASSWD: /bin/apache2ctl, /bin/a2ensite, /bin/a2dissite
Обязательно узнай точные пути к apache2ctl, a2ensite и a2dissite с помощью команды which, в зависимости от дистрибутива может быть как в /bin, так и в /usr/bin, или вообще где-то в другом месте.

Худший ответ:
команда visudo
Вопрос: Как сделать два (локальных) диска в Boot Camp на Mac OS — один из SSD, другой из HDD?

Лучший ответ:
А не проще использовть Parralels? Если конечно не играть в игрушки надо...
Ставьте систему по новой на SSD. Диск HDD отформатируйте в NTFS формат. Винда все увидит. На мак надо будет поставить драйвер ntfs типа paragon ntfs. Либо форматировать в диск МАК ос, и ставить драйвер на чтение etx4 в винду...

Худший ответ:
У Парагона есть CampTune, который в принципе размер раздела bootcamp может менять.  Через дисковую утилиту можно попытаться перенести раздел на другой диск. Но не факт что отработает.
Вопрос: Машинные константы и асимптотический анализ алгоритмов?

Лучший ответ:
machine dependent constants - это количество тактов на один цикл алгоритма и тактовая частота процессора.
Предположим, что линейный алгоритм O(n) работает на быстром компьютере и каждый цикл выполняется за 1 наносекунду, то есть общее время будет 1×n. Логарифмический алгоритм O(log n) работает на медленном компьютере и каждый его цикл занимает 100 наносекунд, общее время 100×log(n)  Посмотрим, как будет меняться время алгоритма при изменении n.n    | O(n) | O(log n)
1    |    1 |   100
10   |   10 |   200
100  |  100 |   300
1000 | 1000 |   400
То есть, в интервале от 100 до 1000 есть значение n, после которого логарифмический алгоритм работает быстрее даже на более медленном компьютере. 
В общем случае  значение n можно получить из равенства a×n = b×log(n)

Худший ответ:
По моему речь о характеристиках ЦП, влияющих на производительность, например, тактовая частота, размер кэша и проч.
Игнорировать их можно потому, что алгоритм с логарифмической сложностью будет выполняться быстрее на более медленном устройстве - как раз описанный случай. Для каждых двух разных аппаратных конфигураций и алгоритмов размер входных данных, при котором алгоритм с логарифмической сложностью будет выигрывать у линейного, будет разным и его нужно подбирать опытным путем. 
Просто примите к сведению и продолжайте изучение, это не то на чем требуется заострять внимание.
В практических задачах часто оптимизируют алгоритмы для того что бы можно было выполнять задачу на более слабом устройстве, при этом имеют конечную цель снизить энергопотребление устройства. Актуально для разного рода встроенных решений.
Вопрос: Как вы думаете, на сколько сложно будет веб-дизайнеру изучить BOOTSTRAP?

Лучший ответ:
Зачем дизайнеру бутстрап. Ему нужно знать о сетке для адаптивной верстки и о том как лучше дизайнить под эту сетку. При нормальном дизайне прорисованым никто в здравом уме не будет брать из бутстрапа ничего кроме сетки. Вы предсетавьте эту мешанину из бутстраковских стилей всевозможных отступов. Бутстрап в цельном виде годиться для накидки прототипа дизайна, дизайна админок или бекенщик к примеру возьмёт бустрапом накидает на элементы классов что бы не так уродливо верстка смотрелась. Если вы дочитали и все такие это вам нужно, то для изучения бутстрапа вам нужно 2 дня.  День на ознакомление с основами и день потренироваться на нем поверстать пару лендингов.

Худший ответ:
Все и правда зависит от опыта. =)
Если знакомы с версткой, и приходилось верстать странички на html, то проблем и сложностей не возникнет.
BOOTSTRAP - это готовый набор стилей. Ваша задача - просто расставить все в правильном порядки и все. ) 
Читать и учить - на официальном сайте это само собой. Ну и так как это один из самым популярных фреймворков, то есть огромная куча инфы в сети.
Если не знакомы с версткой, то еще потребуется:
базовые понятия в html.
базовые понятия БЭМ.
В целом, если именно в веб-дизайне уже давно, то неделя-две (ну или пара сверстанных сайтов), и скил будет приобретен. А дальше, чем больше практики - тем лучше.
Вопрос: В чем удобство указывать константам двоичные и шестнадцатиричные числа?

Лучший ответ:
Вопрос читабельности.
Немного проще прикинуть что 0b100 + 0b10 = 0b110
Еще сильнее это заметно, когда надо наоборот, понять по какой-то сумме какие компоненты в нее входят.
Гораздо проще разложить в уме 101010 на 100000, 1000 и 10, чем 42 на 32, 8 и 2

Худший ответ:
Те константы допускают одновременную комбинацию любых из них в итоговом значении – битовой маске. 
Там каждый бит означает что-то своё.
1-й – подтверждение старого адреса, 2-й — нового, и т.д. Поэтому для наглядности удобнее показывать, какой это бит. Тогда для, скажем, 4-го и 5-го может, нагляднее написать 0b1000 и 0b10000, чем 8 и 16.
Вопрос: Не могу разобраться в книге Герберт Шилдт C++. Ошибка в книге или в VS?

Лучший ответ:
Это не ошибка. Программа запустилась, что-то напечатала и вернула 0. VS себя ведёт правильно и программа тоже. Никто в книгах по плюсам общей направленности не будет ориентироваться на конкретную IDE, OS или же компилятор. По крайней мере так должно быть.
Попробуйте запустить свою программу из консоли, и тогда чёрное окошечко не закроется, или же настроить IDE, чтобы не закрывала консоль. Думаю, что это нагуглится на раз-два.

Худший ответ:
1. Ошибки нет, это чисто тонкость, и внимание на ней не стоит зацикливать.
2. Вывод строки "Hello" в консоль происходит очень быстро, поэтому окошко моментально закрывается.3. Программу можно поставить на "паузу" если вставить строчку system("pause"); перед return 0;
p.s. Рекомендую к прочтению C++ Базовый курс, Липпман вместо Шилдта
Вопрос: Почему нельзя создать сеть Си-Би и не платить мобильным операторам?

Лучший ответ:
То есть создать ещё одного оператора, вложить туда деньги, сделать связь бесплатной, не иметь никакой выгоды от затрачивания своих временных и финансовых ресурсов, предоставлять пользователям хорошу зону покрытия и поддержку, дешевое оборудование. Можно. Дерзайте!  Очень хочу на это посмотреть, готов предоставить город :)

Худший ответ:
Все очень просто. На обслуживание одного терминала у сотовых операторов уходит примерно 100 долларов в год и это оптовая цена (десятки миллионов терминалов). В розницу цена возрастет многократно  + нужно быть специалистом в сотовой связи. Короче, подобная сеть будет нерентабельной. Зачем платить за связь сомнительного качества 500-700$ в год когда можно заплатить 120-150$ за высококачественную услугу?
В конце 90-х было нечто подобное, называлось это радиоудлиннитель, что-то типа радиотелефонов DECT, но с радиусом действия от 2 до 10 км. Стоил сей девайс от 300$ и с его подключением нужно было повозится в то же время когда я купил свой первый мобильник за 50$ включил и пользовался
Вопрос: Как по-настоящему научиться программировать?

Лучший ответ:
Придумать себе проект и реализовать его, как сумеешь.
Почитать про шаблоны проектирования.
Переписать, опираясь на шаблоны.
Понять, что вышло не очень.
Переписать ещё раз.

Худший ответ:
берите реальный проект и разбирайте код. затем пишите аналогичный с нуля.  затем выкладывайте для критики. затем переписывайте. так несколько итераций. параллельно подпитывая все это теорией из умных книг. это если нет возможности в команду попасть. в целом,  не более  20 процентов могут преодолеть этот барьер самостоятельно (данные из книги Шаталова).
Вопрос: Как уменьшить большое время ожидания при отдаче статики с vps?

Лучший ответ:
Отдавайте статику nginx'ом, нет смысла проксировать к apache для этого

Худший ответ:
Нгинксом отдавайте статику
Вопрос: Призыв о помощи, или насколько реально выпускнице юрфака-эникею устроиться в системное администрирование?

Лучший ответ:
возможно ли в моем случае претендовать на вакансию помощника сисадмина?
Возможно. Люди претендуют и с меньшими знаниями, реально бывает чел не знает как кабель обжать :)И что кроме подай-принеси-перетащи в его обязанности на самом деле входит?
Все, за что не захочет браться штатный админ, либо все, что придумает начальник отдела. Например, пойти в серверную, разобрать лежащий там хлам :) Тесты какие-нибудь нудные, сборка-разборка автомата системного блока - есть множество работ, которые админ делать не хочет/некогда/не срочные...девушку, еще и юр дипломом сразу отбракуют как гуманитария,
Возможно. Но если такое происходит, а хочется именно туда, попробуйте пробиться напрямую к потенциальному начальнику. Кроме того, все очень зависит от конторы и от ситуации внутри конторы, насколько нужен боец. В мелких конторах такого обычно не бывает, но там велик риск нарваться на надувательство и кидалово. Тут есть прямая зависимость - чем толще контора, тем она формализованнее. Во всем. И в требованиях к кадрам и в порядке выплаты зарплаты.тягать тяжелое оборудование
evilemon , админы - тоже люди :) Никто не поручит девушке тягать тяжелое оборудование по двум причинам :)
- Девушки украшают ИТ и их нужно беречь :)
- Оборудование стоит денег, а если Вы его уроните - виноват будет тот, кто отдал распоряжение. Потому что см. пункт вышеЧто мне сказать на собеседовании по поводу зп
Посмотреть вакансии примерно коррелирующие по скиллам и просить медиану по данному срезу рынка

Худший ответ:
Идите и устраивайтесь
По ЗП логично всегда говорить сумму которая вам нужна чтобы жить
Вопрос: Как работает рассылка Lamoda?

Лучший ответ:
В рассылках от их партнёров (или просто от того же поставщика рассылок) может быть трекинг факта открытия скрытой картинкой, подгружаемой с удалённого сервера при открытии письма.
Возможно, что поставщик рассылок имеет договорённости с Lamoda инициировать отправку письма ровно в момент открытия трекинговой картинки этим получателем.

Худший ответ:
А почта случаем не на мейл.ру находится?) На сколько я знаю lamoda каким-то образом относится к мейл.ру, возможно у них свои скрипты написаны для отправки почты в момент онлайн. Но, могу ошибаться.
Вопрос: Как запретить рассылку спама в форме?

Лучший ответ:
1. Капча (поставьте ту что всем привычна: https://www.google.com/recaptcha/intro/invisible.html )
2. Генерируйте разные имена полей формы каждый раз (избавит от ботов, которые заполняют поля формы по известным алгоритам)
3. Введите регистрацию с подтверждением. Скажем писать без капчи можно только зарегистрированным пользователям.

Худший ответ:
Имхо, очевидное отличие рекламного бота от человека - ссылка на что-то в тексте.
Вам реальные люди вообще будут присылать что-то со ссылками? 
Нет - выкидывайте этот мусор автоматически, и все тут.
Можете проверять это лишний раз на стороне клиента и предупреждать его о том, что ссылки не пройдут - конверсию это не уменьшит.
Вопрос: Почему IE11 не видит svg спрайт?

Лучший ответ:
Чтобы  была поддержка в IE svg спрайта из внешнего файла нужно использовать полифилы https://github.com/jonathantneal/svg4everybody или https://github.com/Keyamoon/svgxuse

Худший ответ:
Недавно перешел на иконочные шрифты. Попробуйте, вам понравиться
Вопрос: Как правильно обрабатывать события в JavaScript?

Лучший ответ:
Почитайте про всплытие событий и паттерн "behavior".
Суть проста: на родительский блок вешается обработчик всплывающего события, в котором проверяется target/currentTarget и на основании их значений уже выполняются нужные действия. 
https://learn.javascript.ru/behavior

Худший ответ:
Пример где на событие можно прописать ещё событие, внутри события... Работает как часы.<nav>
<ul>
<li  tabindex="1"><a  id="10000000000"  data-page="page1"> 1  страница</a></li>
<li  tabindex="1"><a  id="1111111111111111"  data-page="page1"> 1 1  страница</a></li>
<li  tabindex="1"><a  id="20000000000"  data-page="page2"> 2  страница</a></li>
<li  tabindex="1"><a  id="30000000000"  data-page="page3"> 3 стрнаница</a></li>
</ul>
</nav>
Где id выводится
'+event.target.id+'
Вопрос: Как лучше познать основы программирования?

Лучший ответ:
программировать

Худший ответ:
Весьма абстрактный вопрос. Спросите себя, чем хотите заниматься и смотрите какие языки там используются.
Если следовать вашему вопросу то мой ответ.
C, Pascal.
Часто эти языки как основу учат. Pascal так вообще в школах есть.
Вопрос: Что не так с reCaptcha?

Лучший ответ:
Я как то один раз тоже помучился с этой капчей, то бесконечная проверка, то какие то ошибки вылетают. На мобильных вылазит за экран и как только не пытался уменьшить ширину... В общем отказался я от нее в пользу Captcha Code. Работает безотказно, не надо тыкать по 50 раз и мало вероятно что разгадывают её на сервисах. И самое главное не айфрейм, а картинка.

Худший ответ:
Если со стандартными настройками не выйдет, то можно попробовать воспользоваться плагином Invisible reCaptcha.
Вопрос: Как автоматически сбрасывать opcache?

Лучший ответ:
Разобрался сам.opcache.validate_timestamps=1 - чтобы автоматическая перезапись происходила изменённых файлов
регулируеться параметром (чеканья в секундах).opcache.revalidate_freq=20

Худший ответ:
Перезапускайте PHP-FPM. Или создайте скрипт, который дёргает opcache_reset() и выполняйте его после деплоя (автоматически).
Вопрос: Как сделать hardware кнопку, чтобы мог распознавать windows?

Лучший ответ:
Есть такая штука Teensy. На Aliexpress находится.
А вот и руководство как сделать однокнопочный аггрегат.

Худший ответ:
Сделай из старой USB клавиатуры.
Вопрос: Можно ли восстановить данные после форматирования диска?

Лучший ответ:
Вам в компанию по восстановлению данных, возможно их частично можно идентифицировать и восстановить по метаданным, услуга очень дорогая

Худший ответ:
возможно часть данных уцелела, но прийдется потратить уйму времени. Ищите на рутрекере набор утилит для восстановления данных, там есть и программы по восстановлению после форматирования, например Easy Recovery Pro или что-то подобное.
UPD: Я бы не стал полагаться на какую-то одну утилиту которую тут конкретно рекомендуют, ибо неоднократно сталкивался с тем что все они работают по разному и в разных ситуациях одни хваленые проги могут не сработать, в отличие от какой-то замухрышной неизвестной тулзы. Качайте пак, пробуйте все по порядку, возможно что то неизвестное из прог как раз поможет, уже было у меня такое.