После установки linux пропала windows

Обновлено: 28.06.2024

Сегодня я хотел бы показать вам способ, как можно восстановить 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) и смотрим структуру разделов с помощью команды:

Моя таблица разделов

И чтобы записать GRUB в загрузочную запись, нужно выполнить в терминале команду:

Установка GRUB

После этого можно перезагрузить компьютер:

Всем привет. Решил начать изучать Linux, установил и поставил Федору и, видимо, не до конца разобрался в вопросе установки рядом с Windows. Windows и Fedora на разных физических дисках, но загрузчик винды не видим в биосе. Подскажите, пожалуйста, возможные решения проблемы. Загрузочную флешку Винды биос видит, но не запускает. Спасибо.


Нужно отключить физический диск с Linux и загрузиться с установочного DVD с Windows. Затем выполнить действия по восстановлению бутлоадера. Я не знаю, как это делается в современных версиях Windows, так что гугли. В Windows XP нужно было зайти в консоль восстановления и набрать fixmbr.

Физический диск с Linux отключал, не помогло, флешка выдает ошибку при запуске: The system found unauthorized changes on firmware, operating system or UEFI drivers…


Что ж, надо решать проблему с не загружающейся флешкой. А DVD у тебя нет?


У него UEFI, так что не помогут твои рецепты времен XP, они на BIOS рассчитаны.


Fedora работает, как я понимаю? Покажи выводы

Как правильно копировать вывод терминала — так мы хоть поймем, какая у тебя разметка дисков, и копируй правильно, я там инструкцию с картинками составил. Vsevolod-linuxoid ★★★★★ ( 19.06.21 12:02:54 )
Последнее исправление: Vsevolod-linuxoid 19.06.21 12:03:33 (всего исправлений: 1)


А вообще современные UEFI на редкость кривые зачастую. ЕМНИП, были жалобы на форумах Lenovo, что после переустановки Windows в UEFI нельзя зайти.

можно, пожалуйста, поподробнее, как сконфигурировать загрузчик grub заного, подмонтировав при этом винду? Спасибо


Что ты куришь? Какой libreboot? Это СПО замена BIOS, он в матплату прошиватеся программатором.


Не слушай этого. Он несет полный бред.

Понял, в идеале, конечно, настроить grub, чтобы он определял обе системы, и возможно ли такое, если системы на разных физ. дисках?


Если ты о том, чтобы добавить Windows в меню GRUB2 с помощью os-prober, то:

1) это актуально только для BIOS, UEFI сам умеет работать с несколькими загрузчиками на EFI разделе

2) совершенно не ясно, зачем какой-то live-cd, если у нас уже загружен и работает Linux, который может спокойно менять свой GRUB2 как угодно


У меня подозрение, что у тебя Fedora установлена в режиме BIOS-gpt, вместо UEFI, как Windows. Так что всё не так просто, помимо После установки Fedora пропал загрузчик Windows (комментарий)

возможно ли такое, если системы на разных физ. дисках

можно, пожалуйста, поподробнее. вчера пробовал с помощью гугла это сделать, но в grub все также только несколько fedora отображается.


Пришли ещё выводы

Fedora свежеустановленная, если проблема в этом, то смело можно ей пожертвовать для восстановления винды. Или тут уже не восстановить?


Поставил os-prober, затем grub-mkconfig -o /boot/grub/grub.cfg . У тебя может быть по-другому, гугли как переконфигурировать его в Федоре.

При загрузке жмякай F12

Странная разметка у винды на втором nvme. Покажи ls -la /boot/efi


Хм. это EFI раздел, безусловно. А почему он у тебя в /mnt смонтирован, обычно же в /boot/efi должен быть? Покажи



Ну да, всё верно. ты его руками в /mnt смонтировал, что ли?

видимо, что то накосяпурил, гугля вчера аналогичные проблемы (


сделай. Я не знаю, зачем ты ещё раз его смонтировал.

подтверждаю. очень кривая ленова попалась, после 6 лет использования только csm загружается… когда грузилась, то только со стандартного пути bootx64.efi, записи nvram бесполезны.

Пардон, рекурсивно надо ls -laR /boot/efi

Что за железка? Ноутбук?

P.S. Блин, опять mach_kernel маковый откуда-то взялся…

zemidius ★ ( 19.06.21 12:31:46 )
Последнее исправление: zemidius 19.06.21 12:32:34 (всего исправлений: 1)

Нет, пк на чипсете z490


Ладно, давай попробуем путь через os-prober. Для начала покажи вывод команд

ТСу нужно чтобы загрузчик увидел и винду и линукс, а ты ему советуешь пойти в библиотеку))

cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=«$(sed ‘s, release .*$,,g’ /etc/system-release)» GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT=«console» GRUB_CMDLINE_LINUX=«rhgb quiet» GRUB_DISABLE_RECOVERY=«true» GRUB_ENABLE_BLSCFG=true


А теперь прочти про разницу между UEFI и BIOS и только потом давай советы. Спойлер — твой текущий не подходит!


Ну, таймаута в 5 секунд нам хватит. Покажи ещё вывод


Ага. Короче, нам нужен /boot/efi/EFI/fedora/grub.cfg — а другой сделай

— он не нужен, ты его сделал не разобравшись и по некорректным инструкциям, наверное.

В общем, сперва нужно смонтировать Windows, чтобы её мог os-brober увидеть.

— по идее, после этого должно появится Windows в меню.


И нафига chroot, если мы правим GRUB2 на самой ОС, а не с LiveCD? Ты сам понимаешь смысл команд, что тут даешь, или как попугай повторяешь за статьями в интернете?

Меня больше пугает, что биос не видит флешкузагрузочную с виндой. Точнее видит, но не запускает ее.

Прописал вышеупомянутые команды, но результата не дало, по прежнему в меню grub 3 федоры и uefi firmware settings. Данное меню открывается, только удерживая шифт на клавиатуре.

Кратко. Федора в ЕФИ-режиме. Это подтверждает разметка и ЕФИ-переменные. Виндовс в легаси режиме.

Системы в разных режимах, груб никак не увидит их обе.

Правильней, но сложней, переустановить виндовс в ЕФИ-режиме. Проще переустановить Федору в легаси режиме.


Давненько такого наркоманства не видел. Вручную редактировать файлы конфигов, которые при первом же апдейте ядра будут сгенерированы заново — это эталон некомпетентности.

Если нужно прописать на постоянной основе такие кастомные изменения, для этого есть /etc/grub.d/40-custom — можно за основу взять те строчки, что os-prober прописал в основном конфиге, а потом отключить его, раз он все равно не работает правильно.

И на видео другую проблему решают — когда Windows есть в меню GRUB2, но не грузится корректно.

Причина понятна) А теперь вопрос, как можно снести федору и запуститься с винды, если загрузчика винды нет в биосе, а флешка не запускается?) Винда все таки ценнее, а федору перенакачу.

Привет возможно тема уже поднималась, но я не нашел точного сходства и не хочется запороть то что щас уже работает.
На компе был установлен windows 10 я не помню в UEFI или нет.
Рядом поставил Linux mint 19.1 с загрузочником в /boot/efi

Таблица разделов прикрепил к теме.

Подскажите как в моем случае восстановить загрузку windows 10 с возможностью выбора системы при старте.

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Восстановить загрузку Ubuntu 14.04 после установки Виндоуз
В дуалбуте стояли вин8.1 и убунту 14.04. Вчера обновился до вин10 и, естественно, виндовый.


После установки винды восстановить загрузку Ubuntu
Здравствуйте, подскажите просто удалён лоадер или есть какая-то другая проблема? Форматировал.

Linux Mint - после установки - нужен совет
Добрый вечер. Установил систему, появилось несколько вопросов. 1) В браузерах (Firefox, Chrome) -.

Ну Linux Вы установили не рядом, а на другой диск.
Возможны варианты решения.

1. Загрузиться с установочного диска или флешки Linux. Смонтировать раздел FAT32 например в /mnt.

и посмотреть есть ли на этом разделе папка Microsoft. Если есть, то Windows вероятно установлена в UEFI режиме (вероятно потому, что папка могла остаться от предыдущих установок), если нет, то в Legacy\CSM. Размонтировать раздел


2. Если папка Microsoft есть, то зайти в UEFI-BIOS и в разделе Boot поискать Windows Boot Manager. Это запись для загрузки Windows, через её можно пробовать загрузить Винду (можно через Boot menu F12 или другая клавиша).
3. Если папки Microsoft нет, то в Gparted поставить флаг boot на /dev/sdb1, перезагрузиться и выбрать загрузку с диска 1 ТБ. Посмотреть загрузится ли Windows, о результатах отписаться и по результатам будут дальнейшие действия.

На sdа1 папки Windows нет.

В Gparted поставил флаг boot на /dev/sdb1 перезагрузился выбирал разные варианты загрузок. Получил надпись An operating system wasn't found .

Добавил еще фото биоса Загружается только если там выбрать [ubuntu..

kuznets,
Загрузитесь с установочного диска или флешки Win 10, на клавиатуре Shift+F10, в ком.строке введите diskpart и команды

Diskpart завершит работу ком.строка останется открытой, в ней выполнить

Вообще странно, не понятно, как у Вас грузилась 10-ка раньше, возможно её загрузчик был на SSD.
10-ка какой разрядности?

Восстановление GRUB

В данной статье рассматривается процесс восстановления загрузчика GRUB 2.

Причины, по которым может понадобится восстановить GRUB, могут быть разными.

Очень часто требуется восстанавливать GRUB после установки Windows. Если у вас был установлен Linux и вы установили в соседний раздел или на соседний диск Windows, то после перезагрузки компьютера загрузится Windows, как будто Linux вообще пропал. Загрузчик GRUB даже не появился. Иногда подобное происходит при обновлении существующего Windows.

Иногда требуется восстановление GRUB после установки Linux, когда неверно был выбран раздел для установки загрузчика.

Во всех случаях нужно выполнить восстановление загрузчика GRUB. Существуют разные способы восстановления. В данном руководстве рассматривается процесс использованием загрузочного Live-образа Linux. Загрузившись в Live-систему вам нужно будет ввести несколько команд, чтобы выполнить восстановление. Рассматривается способ восстановления без использования сторонних программ.

Также иногда различают процесс восстановления для систем с BIOS и с UEFI. Описанный ниже способ рассматривает оба этих случая. Я тестировал его как на компьютерах с традиционным BIOS, так и с UEFI.

Подготовка

Для восстановления GRUB потребуется загрузочный диск или флешка с дистрибутивом Linux. Если у вас его нет, то нужно скачать образ с дистрибутивом. Например, можно скачать ISO образ Ubuntu.

Для создания загрузочной флешки можно воспользоваться программой Etcher. Она работает в Linux, Windows и MacOS. Подробная инструкция: Как создать загрузочную флешку.

Загрузка в Live-режиме

Теперь нужно загрузиться с созданного диска или флешки.

Чтобы это сделать сначала нужно в BIOS выбрать приоритет загрузки с CD/DVD или с USB (если вы используете флешку).

На современных компьютерах, где используется BIOS/UEFI, для входа в BIOS нужно при включении компьютера удерживать специальную клавишу. У разных производителей клавиша может быть разной. Обычно это: F2 , Del , F10 , Esc , F11 или F3 .

На старых компьютерах, где используется классический BIOS, чтобы войти в BIOS нужно при загрузке компьютера, в самом начале, когда появляется логотип материнской платы, нажать специальную клавишу. Для разных материнских плат клавиша может быть разной. Обычно это одна из клавиш: Del , F1 , F2 , F8 , F10 или какая-нибудь другая, или даже сочетание клавиш. Подробности: Настройка BIOS для загрузки с CD/DVD-диска или с USB-носителя

Открываем терминал

Итак, вы загрузились в Live-режиме. Теперь нужно открыть терминал.

В Ubuntu и некоторых других дистрибутивах это можно сделать нажатием сочетания клавиш Ctrl+Alt+T . Или запустить терминал через меню программ.

Определение разделов

Теперь нужно определить раздел диска, на котором был установлен GRUB.

Выведем список разделов, для этого выполняем команду (в конце команды стоит строчная буква L):

Вывод fdisk для BIOS

Восстановление GRUB. fdisk l

Пример вывода команды:

В моем случае мы видим 2 диска: /dev/sda (SSD диск) и /dev/sdb (флешка, с которой сейчас загружена Live-система).

Нас интересует диск /dev/sda . На диске /dev/sda создано несколько разделов. В моем случае /dev/sda4 , на котором установлен Windows, а также 4 раздела с пометкой Linux (см. последний столбец таблицы). У вас скорее всего может быть один раздел Linux (корневой раздел) или два раздела (корневой и home). На одном из этих разделов установлен GRUB.

То есть из таблицы вы должны определить какой раздел является корневым, на нем скорее всего у вас установлен GRUB. В моем случае GRUB установлен в раздел /dev/sda2 . Далее по тексту я буду его использовать (вы должны будете указывать свой раздел).

Иногда бывает, что для загрузчика GRUB выделен отдельный раздел (он называется boot-раздел). Если это так, то на следующем шаге вам нужно будет примонтировать корневой раздел и раздел с загрузчиком.

Вывод fdisk для UEFI

Fdisk l для UEFI

Для новых компьютеров с UEFI вывод команды fdisk -l может быть примерно следующим:

Нам нужно определить, на каком разделе установлен Linux (корневой раздел), а также определить EFI-раздел. В моем случае это разделы: /dev/nvme0n1p5 и /dev/nvme0n1p1 , которые расположены на диске /dev/nvme0n1 .

Монтирование разделов

Примонтируем корневой раздел. Выполняем команду (вместо /dev/sda2 вы должны указать свой раздел):

Восстановление GRUB. Монтирование корневого раздела

Мы примонтировали раздел /dev/sda2 в директорию /mnt .

Если для загрузчика у вас выделен отдельный раздел, то нужно примонтировать еще и его (вместо /dev/sdX укажите ваш boot-раздел):

Теперь можно посмотреть содержимое директории /mnt , чтобы убедиться, что мы примонтировали верный раздел:

Восстановление GRUB. Список файлов

Вывод команды должен быть примерно следующим. Обратите внимание есть ли в этом списке каталог /boot , так как именно в нем установлен GRUB.

Также можно проверить, что директория boot не пустая:

Восстановление GRUB. Список файлов в boot

У меня вывод команды выглядит следующим образом. Обратите внимание на присутствие каталога с именем grub .

Далее нужно создать ссылки на несколько директорий, к которым GRUB должен иметь доступ для обнаружения всех операционных систем. Для этого выполните команды:

Восстановление GRUB. mount bind dev pts proc sys

Монтирование EFI-раздела

Если у вас используется UEFI, то еще нужно примонтировать EFI-раздел в директорию /mnt/boot/efi (выше я указал пример вывода команды fdisk -l в котором показан EFI-раздел):

Выполняем chroot на /mnt

На предыдущем шаге мы смонтировали все необходимые директории в директорию /mnt . Теперь переключимся (выполним chroot ) на данную директорию. Выполняем команду:

Восстановление GRUB. chroot

Генерация файла конфигурации GRUB

Данный шаг нужно выполнять не всем. Если у вас был установлен GRUB и вы уверены, что его конфигурация верная, то можно перейти к следующему шагу.

Для генерации файла конфигурации GRUB используется команда update-grub . Данная команда автоматически определяет файловые системы на вашем компьютере и генерирует новый файл конфигурации. Выполняем команду:

Восстановление GRUB. update-grub

В выводе команды будет показано, какие операционные системы были найдены.

Если вдруг утилита update-grub не определила ваш Windows (у меня такое было для UEFI), то можно будет запустить update-grub повторно уже из вашей Linux-системы, когда вы в нее загрузитесь (мне это помогло и Windows определился).

Устанавливаем GRUB

Осталось выполнить установку GRUB на диск. Мы определили раздел на котором у нас установлен GRUB на первом шаге данного руководства. В моем случае это раздел /dev/sda2 , который расположен на диске /dev/sda .

Для установки GRUB используется команда grub-install , которой нужно передать в качестве параметра диск, на который будет выполняться установка (в моем случае это диск /dev/sda ):

Восстановление GRUB. grub-install

Перезагрузка компьютера

Выходим из окружения chroot, для этого выполняем команду:

Отмонтируем все разделы, которые мы примонтировали:

Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:

Если вы монтировали EFI-раздел, отмонтируем:

Отмонтируем корневой раздел:

Перезагружаем компьютер. Для этого выполняем команду:

Если во время перезагрузки компьютера меню GRUB не появилось, то это еще не значит, что он не восстановился. Возможно, просто установлена нулевая задержка и меню не показывается. Чтобы показать меню GRUB нужно во время загрузки, после того, как появился логотип материнской платы:

  • удерживать клавишу Shift , если у вас классический BIOS;
  • нажать Esc , если у вас UEFI.

Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:

Мне это помололо на компьютере, который использует UEFI.

Шпаргалка

Мы рассмотрели процесс восстановления загрузчика GRUB 2. Для удобства привожу краткую шпаргалку по командам, которые мы выполняли. Учитывайте, что названия и имена разделов ( /dev/sd. ) у вас могут отличаться.

Читайте также: