LINUX.ORG.RU

Восстановление виндового UEFI загрузчика, сломанного clonezilla

 , , ,


0

2

Доброго времени суток, дорогие форумчане. На днях меня в очередной раз винда (win8.1) довела до сами знаете чего, и я решил-таки наконец переехать. После долгого пути (ubuntu -> mint -> debian -> arch) я все таки остановился на Fedora.

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

В общем, я в очередной раз все сломал и решил восстановиться. Все бы хорошо, да вот clonezilla помимо диска приложилась еще и к EFI NVRAM (ну или где там очередности и пути к загрузчикам UEFI лежат?). В результате эта херь победоносно снесла все загрузчики, кроме федоровского гроба.

В общем, я думаю, моя проблема уже понятна.

Вот что я пытался сделать после:

1. Скачал и поставил на флешку установщик 8.1, загрузился и попытался запустить автоматическое восстановление. Естественно, получил от богомерзкой винды пинок под зад со словами:«А че? А где? Моя хата с краю - ничего не знаю».

2. Загрузился в командную оболочку винды (с того самого установщика). Примонтировал uefi раздел. Все файлы на месте. Вроде. Команды восстановления ничего не дают.

3. Загрузился в федору. Поставил efibootmgr и попытался с его помощью восстановить запись в очереди загрузки. Запись-то появилась, однако работать отказывается

Немного дополнительной информации.

1. В гробу остался пункт загрузки винды. Он ведет на некий bootmgfw.efi. Я проверил, этот файл есть на разделе. Он не пустой и лежит по верному пути.

2. Вывод команды tree в виндовом uefi-разделе

3. В системе установлено 2 HDD. На одном вольготно раcположилась винда, на другом - linux.

4. Мать ASUS. С uefi, естественно.

P.s. Наверняка в ответах будут посты вроде «А за каким тебе эти форточки нужны? Запихни ее в виртуалку @ живи нормально!». Заранее дам на них ответ. Мне нужна именно полноценная винда. Во первых она быстрее, а во вторых на ней хоть поиграться можно. А в виртуалке - это не то.

P.p.s. Почему бы мне не снести ее к чертям и не поставить заново? Дело в том, что у меня есть лицензионный ключик только от Win8. Соответственно, мне нужно будет сначала поставить win8, активировать ее (по телефону, т.к. ключ активировался мною уже туеву хучу раз), обновить до 8.1, причесать... В общем не хочется.

Заранее благодарю за помощь.

Восстанавливай вниду диском винды, потом GRUB восстанавливай.

peregrine ★★★★★ ()

и я решил-таки наконец переехать

Ну и зачем тебе винда в дуалбуте? Поставь ее в виртуалку и грузи сразу ядро linux.

B ()
Ответ на: комментарий от B

Тему не читай @ на вопрос отвечай.

Нет. Ну серьезно. Я же специально написал, что поставить ее в виртуалку не вариант

rdvlip ()
Ответ на: комментарий от peregrine

Как я уже сказал, все стандартные средства восстановления уже были перепробованы. И да. После двух дней мучений я таки нашел решение.

Для будущих поколений:

Проблема была не в самом загрузчике винды, а в том, что EFI о нем ничего не знал. Соответственно, проблема решилась простым использованием утилиты efibootmgr.

Внимательные заметят, что в посте я уже упоминал его. Тогда у меня не получилось потому, что командная строка неверно интерпретировала символ \ в пути к загрузчику. Соответственно, \ надо заменить на \\.

Тема закрыта.

rdvlip ()
Ответ на: комментарий от rdvlip

А в виртуалке - это не то.

Что не то?

3. В системе установлено 2 HDD. На одном вольготно раcположилась винда, на другом - linux.

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

B ()
Ответ на: комментарий от B

Ок.

1) Не то потому, что запустить некоторые игры/софт на linux/под wine не реально, а играть на виртуалке - звучит бредовато.

2) Так не в том проблема. Дело в том, что система у меня построена исключительно на UEFI. И win и lin имеют UEFI загрузчики. Но в один прекрасный момент UEFI загрузчик винды затерся (точнее не сам он, а ссылка на него в NVRAM материнской платы). Вопрос был о том, как его восстановить, учитывая что стандартных средств винды для этого нет (ни bootrec, ни генерация BCD, ни что-либо другое). И я уже вроде сказал, что проблема решена при помощи линуксовой efibootmgr?

rdvlip ()
Ответ на: комментарий от rdvlip

Костыльно как-то, биос-вей. Только гемороя больше.

B ()

Если нужна полноценная винда зачем Вам linux? С двумя системами же не удобно.

anonymous ()
Ответ на: комментарий от anonymous

Честно говоря - я гик по жизни, и изучать что-то новое мне нравится. Да и разрабатывать на python гораздо удобнее в родной для него среде. А винда так и остается для игрушек/офисов и проч.

rdvlip ()
Ответ на: комментарий от anonymous

Разметка MBR подразумевает наличие диспетчера загрузки на активном разделе диска. В разметке GPT эта роль возложена на раздел EFI размером в 100MB, который отформатирован в FAT32.

Чтобы организовать загрузку, достаточно одной команды, в которой заданная на первом этапе буква W обозначает раздел с восстановленной ОС

bcdboot W:\Windows

Команда копирует необходимые для загрузки файлы на раздел EFI и создает там конфигурацию загрузки (BCD), в чем вы можете убедиться командной dir S:\EFI\Microsoft\boot

Загрузка создана! Можно уже загружаться в Windows, но если в образ у вас включена среда восстановления, быстрее будет создать ее прямо сейчас.

Ни с линуксом, ни с виндовс ты справиться не можешь, куда тебе федору пользовать?

anonymous ()
Ответ на: комментарий от anonymous

Да, вы правы. Вот только не пойму одного. Когда я возился с виндой, эта команда лишь копировала файлы, напрочь отказываясь создавать загрузочную запись в efi. Тем не менее, я не буду настаивать на своей правоте. Проблема решена, тема закрыта. Спасибо за помощь.

И да. Можно без оскорблений, о великий гуру? Мне до вас, вероятно, еще много лет расти.

rdvlip ()
Ответ на: комментарий от rdvlip

И да. Можно без оскорблений, о великий гуру? Мне до вас, вероятно, еще много лет расти.

Где ты оскорбление узрел? Очень вежливый анонимус.

B ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.