Восстановление GRUB 2 после установки Windows
Сегодня я хотел бы показать вам способ, как можно восстановить GRUB 2 после установки или переустановки Windows на компьютер с Linux. И еще один способ , как это можно сделать это из-под Debian описан в этой заметке.
Если вы на своем компьютере используете дуалбут из Windows и Linux, то вероятно уже знаете, что во время установки ОС для того, чтобы было меньше возни, лучше устанавливать сначала ОС от Microsoft а потом только Ububtu, Debian или что вы там желаете установить. Связано это с тем, что Windows не видит других операционных систем кроме своих и поверх загрузчика GRUB записывает в MBR свой загрузчик. Соответственно, если вы установите сначала Linux а потом Windows, то в итоге не сможете загрузить Linux, так как его просто не будет в списке загрузки. Но что же делать если вам все же необходимо переустановить Windows или просто установить ее на компьютер с Linux? Не переустанавливать же ради этого и Linux? Нет. Просто после всего, что вы сделаете нужно будет восстановить загрузчик GRUB.
Для демонстрации я приведу свой случай с виртуальными машинами, но данный способ ничем не отличается от восстановления GRUB на реальном железе.
У меня на один виртуальный жесткий диск были установлены Ubuntu 14.04 и Windows 7. И вот мне захотелось попробовать developer версию Windows 10. Я решил установить ее поверх семерки. Как и положено, после всех манипуляций Windows 10 заработала, а Ubuntu не запускалась. Так как Ubuntu мне нужна была для работы я решил восстановить затертый GRUB.
Восстановление GRUB 2
Сначала необходимо загрузится с LiveDVD. Когда система загрузится, открываем терминал (Ctr+Alt+T) и смотрим структуру разделов с помощью команды:
У меня, как видно по выводу команды, диск разделен на 6 разделов: два NTFS для Windows, Extended (расширенный) и три отмечены как Linux для Ubuntu. Чтобы установить GRUB необходимо примонтировать корневой раздел Ubuntu – мой sda5:
И чтобы записать GRUB в загрузочную запись, нужно выполнить в терминале команду:
После этого можно перезагрузить компьютер:
GRUB восстановлен. Но остался один момент. Сейчас на виртуальной машине была установлена Windows 10, но в меню загрузчика по прежнему она отображалась как семерка, из-за чего при попытке ее запуска выскакивала ошибка. Чтобы исправить это достаточно было просто загрузится в Ubuntu (не LiveDVD) и через терминал обновить загрузчик:
Восстановление Grub после установки Windows 10
Если вы используете на своем компьютере две операционные системы, Windows и Linux, и обновили свою Windows из 7, 8 или 8.1 до самой новой Windows 10, могут возникнуть проблемы с загрузчиком Grub при использовании защищенной загрузки UEFI. Во время обновления Windows 10 просто затрет загрузчик Grub и запишет туда свой.
Вы, как обычно, перезагружаете систему и ожидаете увидеть меню выбора операционной системы Grub, но вместо этого загружается новая Windows 10. Вам может показаться, что нет никакого способа получить доступ к Ubuntu или что не может работать Ubuntu рядом с Windows 10. Но это не так.
Как восстановить Grub после Windows 10
Многие советуют установить Ubuntu на другой диск, но есть более простое и прекрасно работающие решение, чтобы восстановить grub после установки windows 10. Кончено, всегда можно восстановить grub2 стандартным способом, с помощью LiveCD диска, но если вы используете UEFI, есть более легкое решение, мы сделаем все с помощью Windows 10.
Хотя за основу в этой статье берется Ubuntu, но это также будет работать и для других дистрибутивов. Просто папка, в которой находятся файлы загрузчика будет немного отличатся.
Шаг 1. Запуск cmd
Кликните по иконке поиск в Windows, наберите там cmd и найдите Командную строку Windows. Кликните по ней правой кнопкой и выберите Запустить от имени администратора:
Шаг 2. Подключение раздела EFI
Далее вы можете попытаться угадать как называется файл загрузчика Grub на разделе EFI, но можно поступить по другому и просто посмотреть. Чтобы подключить раздел EFI запустите diskpart. Для этого выполните:
Затем выведите список доступных дисков:
Выберите в качестве активного диск, на который установлена Windows 10 и на котором сейчас находится раздел EFI:
Далее выведите список разделов на диске:
Найдите раздел EFI, он обычно отформатирован в файловую систему FAT и занимает около 100 мегабайт места. В данном случае это том 2:
Этому разделу надо присвоить букву. Для этого выполните:
sel vol 2
assign letter=I:
Шаг 3. Поиск загрузчика
Далее надо найти файл загрузчика на разделе EFI. Но открыть этот раздел в проводнике вы не сможете, надо использовать только командную строку. Закройте DiskPart и выполните:
Затем с помощью команды dir найдите загрузчик Grub. Например:
Здесь есть файл grubx64.efi. Это он. Загрузчик может называться по другому в других дистрибутивах, именно поэтому я рассказал как всё посмотреть.
Шаг 4. Восстановление Grub
Скопируйте и выполните эту команду:
bcdedit /set
Вам не нужно будет вводить пароль, у вас уже есть права администратора и программа должна отработать нормально. Эта команда обратно запишет вместо загрузчика Windows 10 загрузчик Grub.
Если команда вернула ошибку, вы можете откатить изменения с помощью следующих команд:
bcdedit /deletevalue
bcdedit /set
Выводы
Восстановление Grub после Windows 10 завершено. Перезапустите компьютер и вы увидите на экране знакомый Grub. Надеюсь, эта краткая инструкция помогла вам выполнить восстановление Grub после установки Windows 10.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Похожие записи
Оцените статью
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
52 комментария к “Восстановление Grub после установки Windows 10”
Пойдет. А что раньше, я имею в виду, если была установлена первой Ubuntu, а затем Windows 7, Grub работал нормально, без этой команды?
Нет, нужно было восстанавливать загрузчик с помощью LiveCD.
А если не linux не Ubuntu установлен?
А если linux другой установлен, в смысле?
Какой бы Linux не был — разницы нет. Проблема не в Linux, проблема в Windiws (тупой он. ).
Не работает. хоть тресни.
> bcdedit /set
Хорошо бы если автор указал какие-то ссылки, или привёл в 2 слова объяснения команды, для понимания . иначе при малейших изменениях версий так и будет: «Не работает…. хоть тресни…»
Интересно, как удалить эту запись теперь в Windows?
Какая нужна команда чтобы удалить у себя эту запись bcdedit /set
Это действительно помогло. Очень быстро и удобно. У меня установлены Linux Mint, Ubuntu и OpenSUSE. Большое спасибо!
А можно пример команды для Linux Mint?
Помогло после обновления биос. Спасибо.
а если у меня не UEFI?
У нас есть статья и на этот случай.
Помогло второй раз, но уже после неудачного обновления ядра на Ubuntu 16.04, слетели обе системы. Системные Windows 10 (на m.2) разделы восстановил acronis, а grub командной строкой. Еще раз спасибо!
Моё увожение автору
Большое спасибо за помощь.
привет всем кто может помочь в моей проблеме у меня две системы. винда 10 и линукс минт ребека начал обновлятся виндоуз и полетел загрузчик после обновления загрузчика видит только линукс
Ну и нормально же)) Страшнее было бы, если ьы осталась только винда.
Зайдите в линукс и в терминале выполните sudo update-grub
Винда слетела нах, спасибо
Сцука . Винда нах слетела.
Третий раз не удалось. После неудачного обновления Windows 10 до 1703 ставил Windows начисто, не трогая остальные диски. Ubuntu на SSD 60Гб. Windows 10 на m2 120Гб. Загрузчик grub на диске с Ubuntu, туда же прописался после установки Ubunu 16.04 загрузчик Windows Boot loader. После ввода bcdedit /set
добрый день, нужна помощь, была винда 10, на жестком диске было 2 раздела, один с загрузчиком виндоус, другой с виндоус, загрузился с лив-флешки Арча (Arch linux), доразбил диск с виндоуз под установку линукс, раздел, где был загрузчик виндоус использовал под boot арча (специально так сделал), сделал другие разделы для арча, установил арч и теперь, естественно, не грузится виндоуз, вопрос следующий, как, НЕ восстанавливая раздел для загрузчика виндоуза загрузиться в виндоуз, иначе говоря, я хочу, чтобы на разделе boot арча были специальные загрузочные файлы, которые помогут загрузиться в виндоуз, возможно ли такое?
Спасибо, с Mint 18.1 помогло.
Такая проблема: Есть дуалбут: Windows 10 (1703) и ubuntu 16.04 LTS. Обновил Windows до последней версии, перезапустил, увидел меню выбора системы, выбрал Windows и дальше черный экран сменяется фиолетовым и все, как-будто система дальше не загружается. Я «опасным» способом выключаю ноутбук, захожу в меню снова -> Windows -> дальше все загружается, восстанавливаясь до пред. версии (1703), что логично. Что мне поможет запустить Windows, но с обновлениями. Спасибо за внимание.
Спасибо за рецепт. Очень удобно и быстро восстановился загрузчик.
У меня Дипин, эта команда не помогла. Что надо поменять в команде, чтобы она сработала?
Огромное спасибо автору за экономию времени, заняло 30 секунд. Система с Win10/Fedora29,
после Windows Feature Update 1809 затёрся grub, сейчас всё работает.
Спасибо! Помогли сэкономить время!
Сработало после неудачного обновления Windows 10.
Система откатилась до состояния перед обновлением, но вот загрузчик grub потёрла.
Уже писал на флешку live-образ, но вовремя нашёл вашу статью.
Ещё раз благодарю!
Не помогло! У меня стоит на 1 диске винда и LinuxMint
sda1 — Восстановление
sda2 — EFI
sda3 — Windows 10
sda4 — root
sda5 — home
При установке Mint запилил на sda2 свою папку ubuntu рядом с виндой. Винда при переустановке естественно перетерла раздел sda2. Так что команде bcdedit /set
Выход из ситуации:
1. Загрузился с LifeCD
2. Поправил в /etc/fstab UUID разделов EFI и Windows 10 т.к. форматировал их приустановке.
3. В LinuxMint есть программа Timeshift(аналог восстановления в винде). Из снепшота достал папку /boot/EFI/ubuntu и скопировал ее в рабочую.
В принципе потом при загрузке в UEFI появляется ubuntu. В первый раз загрузилась как то странно, но в linux зашло. Далее я удалил старые ядра и оно переинициализировало grub, дальше все стало загружаться как по маслу.
Спасибо, помогло
У меня Manjaro; просто написал название своего дистрибутива вместо Ubuntu и все получилось с первого раза.
DISKPART> assign letter=I:
Ошибка службы виртуальных дисков:
Указанное имя диска уже занято.
Вот на этом у меня всё и закончилось
аналогично. Теперь интересует, как убрать этот раздел I:, который появился после второго шага. Если кто-то знает, подскажите, пожалуйста
т.е. раздел создался, но дальше файл с убунту не обнаружился. Решила снести убунту, освободила диск, чтобы заново установить, но этот I: остался. Спасите кто-нибудь ))
Выполните в DiskPart команду remove letter=I, аналогично тому как вы выполняли assign letter.
Большое спасибо. Очень полезная статья. Но. 1. У меня не сработало.
2. В параметрах команд bcdedit требует фигурные скобки.
Например — bcdedit /set
3. И все равно не срабатывает. На команду:
PS I:\> bcdedit /set
— Ответ:
bcdedit.exe : Параметр command уже указан.
строка:1 знак:1
+ bcdedit /set
+
+ CategoryInfo : InvalidArgument: (:) [], ParameterBindingException
+ FullyQualifiedErrorId : ParameterSpecifiedAlready
Как его понять?
У меня Debian, все команды выполнены, по их словам, успешно, но грузится без лишних слов windows10
Таких дисков (99мб) нашел три и успешно сделал всё со всеми (сраной letter=) и со всеми win поёт, а я нет.
Кстати, после bcdedit я выполнял exit;
Красавчик! Я 3 дня потерял на эту ерунду, что только не пробовал, ничего не помогло, жаль что раньше не нашел этот метод. Автору -респект!
Доброго времени)
А если нет EFI\Ubuntu ? на всякий случай прошелся по всему EFI.
Стоит Ubuntu 20.04 на SSD. После поставил на хард десятку. BIOS Перестал видеть убунту. Понимаю, что это логично, раз нет в загрузке вообще файлов убунты. Где-то можно их найти?
https://help.ubuntu.ru/wiki/%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_grub не уверен, что тут поддерживаются ссылки, но вот, большая часть решения тут, но у меня отдельно был boot, плюс винда на hhd, а Линукс на ssd. Так что пришлось ещё немного повозиться, но все работает. Если схожая проблема, то задавайте свои ответы, может ещё загляну сюда)
Что за символ то такой assign letter=I: ?
Нашел способ проще. Заходите в BIOS, в одном из разделов отображаются варианты загрузки. Самой первой стоит windows, далее остальные. Меняете windows на linux и после этого появляется меню grub.
Способ через BIOS действительно рабочий и быстрый! Благодарю! В настройках просто выбрал порядок загрузки с раздела, где стоит boot Linux’а и меню выбора операционной системы при загрузке вернулось! :))))
bcdedit /set
Операция успешно завершена.
Спасибо тебе Добрый человек. Все получилось. Дай Бог тебе здоровья. Подробнее опишу как попал в такую ситуацию. Принесли на переустановку Astra Linux SE. Принесли новый жёсткий диск и попросили поставить windows 10. Я не отключил жёсткий диск с астрой и Виндоус затер подгрузчика астры. По статьей Выше я вернул подгрузчик и затем отключив жёсткий диск с астрой поставил Виндоус 10 на новый жёсткий диск. Всем добра.
Крч у меня была проблема такая же, и я долго не мог решить ее. В итоге запустил все через cmd а не через powershell и все с первого раза получилось (команда $ bcdedit /set
У меня тоже сначала не сработало, как позже оказалось винда при обновлении безопасности сама включила secure boot в bios (обнаглели вконец), зашел в bios, отключил secureboot — все, Grub заработал, винду снес нах к чертям.
Делал клонирование одного диска на другой и глупая, наглая винда себя вперед пропихнула, эта статья очень помогла!
Спасибо Ваша статья очень помогла
У меня Ubuntu был установлен на внешний ssd, после переустановки Win 10 пропал GRUB. Сделал все, что тут советовали — результата нет(. Подскажите, может из-за того, что ubuntu установлен на внешний ssd нужны другие какие-то процедуры?
Всё, что советуют, нужно делать с оглядкой на собственную систему. Проверяйте пути, диски, свою внимательность.
В моём случае был перенос диска (debian+win10) с рабочего на домашний комп. Домашний работал на другом ssd с win7pro. И естественно, он начал брыкаться и грузить винду изо всех сил, после чего вообще упал в рекавери. Статья помогла, конечно же, но последним этапом нужно в биосе в безопасной загрузке выставить other OS.
Мой Дебиан взлетел. Автору респект, хотя ничего особенного в этих командах и нет)
Grub — восстанавливаем
Сегодня поговорим о восстановлении загрузчика Grub в операционных системах Linux и когда две системы стоят на одном ПК.
Бывают ситуации когда необходимо восстановить загрузчик системы linux, как правило там используется Grub.
Часто используют, очень популярную, операционную систему linux mint.
Порядок действий при восстановлении загрузчика в linux mint:
Ну для начала нам необходимо обзавестись загрузочным диском или флешкой.
Скаченный и записанный, как загрузочный, на диск или флешку linux mint или ubuntu позволяют с них загружатьсяв live режиме.
Загрузочный носитель должен быть той же разрядностью, что и ваша операционная система.
О разрядности можно подробно почитать в этой статье.
Как узнать характеристики вашего ПК почитайте в этой статье.
Так же ваш компьютер или ноутбук должен иметь подключение к интернету.
Загружаемся с загрузочного носителя, как это сделать описано в этой статье, если не знаете.
После загрузки с диска или другого носителя открываем консоль и набираем команды для установки программы boot-repair.
Соответственно после установки запускаем эту программу и нажимаем применить рекомендованные действия.
После загружаемся уже без загрузочного носителя.
Есть и другой способ, но этот способ наиболее приемлем для не подготовленного пользователя с минимум знаний.
Единственное, что необходимо это загрузочный носитель
Восстанавливаем Grub после Windows 10
Открываем командную строку от имени администратора.
Теперь набираете команду:
Команда подразумевает, что у вас вторая система ubuntu, но это так же будет работать и с другими операционными системами linux.
Как восстановить Grub после установки Windows
Если вы пользуетесь на компьютере двумя операционными системами, Windows и Linux, и обновили свою Windows из 7, 8 или 8.1 до самой новой Windows 10, могут возникнуть проблемы с загрузчиком Grub при использовании защищенной загрузки UEFI. В ходе обновления системы Windows 10 просто затрет загрузчик Grub и запишет туда свой.
Дальше после перезагрузки системы пользователь ожидает увидеть меню выбора операционной системы Grub, но вместо этого загружается новая Windows 10. Может показаться, что нет никакого способа получить доступ к Ubuntu или что не может работать Ubuntu рядом с Windows 10. Но это не так.
Восстанавливаем Grub
Часто специалисты советуют установить Ubuntu на другой диск, но есть простое решение. Всегда можно воспользоваться стандартным способом, например, с помощью LiveCD диска. Но если вы используете UEFI, есть решение с помощью Windows 10.
ЗАПУСК CMD
Для начала кликните по иконке поиск в Windows, наберите там cmd и найдите Командную строку Windows. Кликните по ней правой кнопкой и выберите Запустить от имени администратора:
ПОДКЛЮЧЕНИЕ РАЗДЕЛА EFI
Далее вы можете попытаться угадать как называется файл загрузчика Grub на разделе EFI, но можно поступить по другому и просто посмотреть. Чтобы подключить раздел EFI запустите diskpart. Для этого выполните:
Затем выведите список доступных дисков:
Выберите в качестве активного диск, на который установлена Windows 10 и на котором сейчас находится раздел EFI:
Выведите список разделов на диске:
Найдите раздел EFI, он обычно отформатирован в файловую систему FAT и занимает около 100 мегабайт места. В данном случае это том 2:
Этому разделу надо присвоить букву. Для этого выполните:
ПОИСК ЗАГРУЗЧИКА
Теперь необходимо найти файл загрузчика на разделе EFI. Но открыть этот раздел в проводникель нельзя, надо использовать только командную строку. Закройте DiskPart и выполните:
Затем с помощью команды dir найдите загрузчик Grub. Например:
Здесь есть файл grubx64.efi. Это он. Загрузчик может называться по другому в других дистрибутивах, именно поэтому я рассказал как всё посмотреть.
ВОССТАНОВЛЕНИЕ GRUB
Теперь скопируйте и выполните эту команду:
Не придется вводить пароль, если есть права администратора и программа должна отработать нормально. Эта команда обратно запишет вместо загрузчика Windows 10 загрузчик Grub.
Если команда вернула ошибку, вы можете откатить изменения такой командой:
$ bcdedit /deletevalue
path EFIubuntugrubx64.efi
Затем можно включить загрузчку загузчика Windows 10:
$ bcdedit /set
path EFIMicrosoftBootootmgfw.efi
Перезапустите компьютер и вы увидите на экране знакомый Grub. На этом процесс восстановиления Grub завершен.