- Сообщения
- 8,005
- Решения
- 15
- Реакции
- 6,799
Привет!
Здесь рассмотрим починку загрузчика, когда у вас ОС не загружается с очевидной надписью о том, что есть проблемы с загрузчиком.
Статья для продвинутых, которые хотя бы знают как пользоваться командной строкой и достаточно внимательные.
Остальным - строго запрещается, юзайте вместо этого готовые инструменты восстановления на загрузочной флешке.
Существует множество разных повреждений загрузчика, начиная от неверной конфигурации, заканчивая повреждением самих файлов.
Мы всё рассматривать не будем. Остановимся только на базовых моментах, как заюзать bcdedit, так чтобы не угробить загрузку системы, которая допустим стоит у вас в параллели.
О других видах ремонта (типа восстановление MBR) можете почитать, например здесь (на англ.):
https://woshub.com/how-to-rebuild-bcd-file-in-windows-10/
Делать мы всё будем либо из-под соседней ОС (если у вас на машине их больше одной), либо загрузившись в ком. строку через среду восстановления.
В ком строке от админа просто вводим
и изучаем что там есть, допустим:
Это нормальный конфиг.
По description, мы видим, что есть сам:
1) диспетчер загрузки (его не трогаем)
2) запись Windows 7, при этом {current} - говорит о том, что она грузится по дефолту
3) запись Windows 10
идентификатор - это id через который сможем редактировать записи, используя bcdedit
device и osdevice - собственно диск, на котором расположена система. Для вашего удобства там пишется конкретное имя диска. В реальности загрузчик хранит его в независимом от буквы диска формате, так что вы можете без боязни поменять эту букву в "моем компьютере" через оснастку diskmgmt.msc
path - путь к бинарю инициализации конкретной ОС
systemroot - относительный путь к системным файлам
Остальное нас не сильно беспокоит, но если что-то будет не в порядке, можете взять конфиг выше за образец.
У вас вообще нет загрузочной записи, т.е. bcdedit показывает, что нет description с нужной вам системой.
Создадим запись вручную на примере Windows 10.
Вернет ответ:
Если вам нужно сделать, чтобы эта ОС загружалась по дефолту:
Заметьте, что теперь идентификатор {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} заменился на {default} и теперь все команды bcdedit вам нужно будет вводить с допиской {default}, а не {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs}
Если вы не уверены, то просто введите bcdedit, и посмотрите что к чему.
Далее вам нужно прописать правильно пути:
где v: - это буква диска, на котором установлена нужная ОС*
* буква может отличаться в зависимости от того, загружены вы под средой восстановления, из соседней ОС, или когда вы находитесь в ОС, доступ к которой сейчас восстанавливаете, поэтому полазьте через "мой компьютер", notepad -> файл -> открыть, или ком. строку по папкам и определите, какая сейчас буква у той системы на самом деле.
Затем вам нужно сделать эту запись видимой в диспетчере загрузки:
На этом создание загрузочной записи завершено.
Замечу, что если вы не делали эту запись дефолтовой, то все операции нужно выполнять с числовым идентификатором, например, вот у вас:
bcdedit
Альтернатива.
Через режим WinRE можно воспользоваться командой:
для автоматического поиска и добавления по желанию всех найденных ОС.
Испорчены или перепутались пути к диску (скажем после перестановки жестаков в корпусе)
Вводим bcdedit и видим такую картину:
Как видим, у нас device и osdevice в записи Windows 10 ведут непонятно куда.
Исправляется просто. Запоминаем "идентификатор" записи. У нас он - {cbc51734-4344-11e8-bc90-e325709f7e98}
Вводим две команды:
где вместо v: - ставим букву вашего диска, на котором установлена нужная ОС *
* буква может отличаться в зависимости от того, загружены вы под средой восстановления, из соседней ОС, или когда вы находитесь в ОС, доступ к которой сейчас восстанавливаете, поэтому полазьте через "мой компьютер", notepad -> файл -> открыть, или ком. строку по папкам и определите, какая сейчас буква у той системы на самом деле.
По желанию, вы можете включить классическое меню выбора ОС командой (можно вводить, находясь в ОС не ниже Windows 8):
Если загрузочное меню не отображается, а начинается сразу загрузка ОС по умолчанию, то введите команды:
Для восстановления стандартного меню выбора, введите:
На этом всё, всем удачи!
Здесь рассмотрим починку загрузчика, когда у вас ОС не загружается с очевидной надписью о том, что есть проблемы с загрузчиком.
Статья для продвинутых, которые хотя бы знают как пользоваться командной строкой и достаточно внимательные.
Остальным - строго запрещается, юзайте вместо этого готовые инструменты восстановления на загрузочной флешке.
Существует множество разных повреждений загрузчика, начиная от неверной конфигурации, заканчивая повреждением самих файлов.
Мы всё рассматривать не будем. Остановимся только на базовых моментах, как заюзать bcdedit, так чтобы не угробить загрузку системы, которая допустим стоит у вас в параллели.
О других видах ремонта (типа восстановление MBR) можете почитать, например здесь (на англ.):
https://woshub.com/how-to-rebuild-bcd-file-in-windows-10/
Делать мы всё будем либо из-под соседней ОС (если у вас на машине их больше одной), либо загрузившись в ком. строку через среду восстановления.
Изучаем BCDEDIT
В ком строке от админа просто вводим
Код:
bcdedit
и изучаем что там есть, допустим:
Диспетчер загрузки Windows
--------------------
идентификатор {bootmgr}
device partition=\Device\HarddiskVolume3
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {current}
resumeobject {cbc51733-4344-11e8-bc90-e325709f7e98}
displayorder {cbc51734-4344-11e8-bc90-e325709f7e98}
{current}
toolsdisplayorder {memdiag}
timeout 3
displaybootmenu Yes
Загрузка Windows
-------------------
идентификатор {cbc51734-4344-11e8-bc90-e325709f7e98}
device partition=V:
path \Windows\system32\winload.exe
description Windows 10
locale en-US
inherit {bootloadersettings}
recoverysequence {cbc51735-4344-11e8-bc90-e325709f7e98}
custom:15000066 3
recoveryenabled Yes
custom:17000077 352321653
osdevice partition=V:
systemroot \Windows
resumeobject {cbc51733-4344-11e8-bc90-e325709f7e98}
nx OptIn
custom:250000c2 1
Загрузка Windows
-------------------
идентификатор {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale ru-RU
inherit {bootloadersettings}
recoverysequence {cbc51725-4344-11e8-bc90-e325709f7e98}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {cbc51723-4344-11e8-bc90-e325709f7e98}
nx OptIn
Это нормальный конфиг.
По description, мы видим, что есть сам:
1) диспетчер загрузки (его не трогаем)
2) запись Windows 7, при этом {current} - говорит о том, что она грузится по дефолту
3) запись Windows 10
идентификатор - это id через который сможем редактировать записи, используя bcdedit
device и osdevice - собственно диск, на котором расположена система. Для вашего удобства там пишется конкретное имя диска. В реальности загрузчик хранит его в независимом от буквы диска формате, так что вы можете без боязни поменять эту букву в "моем компьютере" через оснастку diskmgmt.msc
path - путь к бинарю инициализации конкретной ОС
systemroot - относительный путь к системным файлам
Остальное нас не сильно беспокоит, но если что-то будет не в порядке, можете взять конфиг выше за образец.
Кейс 1.
У вас вообще нет загрузочной записи, т.е. bcdedit показывает, что нет description с нужной вам системой.
Создадим запись вручную на примере Windows 10.
Код:
bcdedit.exe /create /d "Windows 10" /application osloader
где {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} - всегда рандом, это "идентификатор" вашей записи. В примерах ниже замените его на свой.The entry {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} was successfully created.
Если вам нужно сделать, чтобы эта ОС загружалась по дефолту:
Код:
bcdedit /default {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs}
Заметьте, что теперь идентификатор {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} заменился на {default} и теперь все команды bcdedit вам нужно будет вводить с допиской {default}, а не {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs}
Если вы не уверены, то просто введите bcdedit, и посмотрите что к чему.
Далее вам нужно прописать правильно пути:
Код:
bcdedit.exe /set {default} device partition=v:
bcdedit.exe /set {default} osdevice partition=v:
bcdedit.exe /set {default} path \Windows\system32\winload.exe
bcdedit.exe /set {default} systemroot \Windows
* буква может отличаться в зависимости от того, загружены вы под средой восстановления, из соседней ОС, или когда вы находитесь в ОС, доступ к которой сейчас восстанавливаете, поэтому полазьте через "мой компьютер", notepad -> файл -> открыть, или ком. строку по папкам и определите, какая сейчас буква у той системы на самом деле.
Затем вам нужно сделать эту запись видимой в диспетчере загрузки:
Код:
bcdedit.exe /displayorder {default} /addlast
На этом создание загрузочной записи завершено.
Замечу, что если вы не делали эту запись дефолтовой, то все операции нужно выполнять с числовым идентификатором, например, вот у вас:
bcdedit
тогда другие команды будут выглядеть примерно так:Загрузка Windows
-------------------
идентификатор {cbc51734-4344-11e8-bc90-e325709f7e98}
Код:
bcdedit.exe /displayorder {cbc51734-4344-11e8-bc90-e325709f7e98} /addlast
Альтернатива.
Через режим WinRE можно воспользоваться командой:
Код:
bootrec /rebuildbcd
Кейс 2.
Испорчены или перепутались пути к диску (скажем после перестановки жестаков в корпусе)
Вводим bcdedit и видим такую картину:
Диспетчер загрузки Windows
--------------------
идентификатор {bootmgr}
device partition=\Device\HarddiskVolume3
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {current}
resumeobject {cbc51733-4344-11e8-bc90-e325709f7e98}
displayorder {cbc51734-4344-11e8-bc90-e325709f7e98}
{current}
toolsdisplayorder {memdiag}
timeout 3
displaybootmenu Yes
Загрузка Windows
-------------------
идентификатор {cbc51734-4344-11e8-bc90-e325709f7e98}
device unknown
path \Windows\system32\winload.exe
description Windows 10
locale en-US
inherit {bootloadersettings}
recoverysequence {cbc51735-4344-11e8-bc90-e325709f7e98}
custom:15000066 3
recoveryenabled Yes
custom:17000077 352321653
osdevice unknown
systemroot \Windows
resumeobject {cbc51733-4344-11e8-bc90-e325709f7e98}
nx OptIn
custom:250000c2 1
Загрузка Windows
-------------------
идентификатор {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale ru-RU
inherit {bootloadersettings}
recoverysequence {cbc51725-4344-11e8-bc90-e325709f7e98}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {cbc51723-4344-11e8-bc90-e325709f7e98}
nx OptIn
Как видим, у нас device и osdevice в записи Windows 10 ведут непонятно куда.
Исправляется просто. Запоминаем "идентификатор" записи. У нас он - {cbc51734-4344-11e8-bc90-e325709f7e98}
Вводим две команды:
Код:
bcdedit.exe /set {cbc51734-4344-11e8-bc90-e325709f7e98} device partition=v:
bcdedit.exe /set {cbc51734-4344-11e8-bc90-e325709f7e98} osdevice partition=v:
где вместо v: - ставим букву вашего диска, на котором установлена нужная ОС *
* буква может отличаться в зависимости от того, загружены вы под средой восстановления, из соседней ОС, или когда вы находитесь в ОС, доступ к которой сейчас восстанавливаете, поэтому полазьте через "мой компьютер", notepad -> файл -> открыть, или ком. строку по папкам и определите, какая сейчас буква у той системы на самом деле.
Дополнительно.
По желанию, вы можете включить классическое меню выбора ОС командой (можно вводить, находясь в ОС не ниже Windows 8):
Код:
bcdedit /set "{current}" bootmenupolicy legacy
Код:
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} displaybootmenu yes
Код:
bcdedit /set "{current}" bootmenupolicy standard
На этом всё, всем удачи!
Использованы материалы сайта woshub.com
Последнее редактирование модератором: