- Не загружается GRUB после установки Debian 10 на UEFI рядом с Windows 10
- Зачем нужно, чтобы GRUB запускался по умолчанию?
- Почему не загружается GRUB?
- Делаем загрузчик GRUB загрузчиком по умолчанию
- Шаг 1 – Запускаем менеджер загрузки
- Шаг 2 – Запускаем UEFI Shell
- Шаг 3 – Входим в файловую систему загрузочного раздела
- Шаг 4 – Переименовываем текущий загрузочный файл
- Шаг 5 – Копирование файла загрузчика GRUB
- Шаг 6 – Выход из командной строки
- Ошибка grub не видит Windows 10
- Ошибка Grub не видит Windows 10
- Выводы
- Grub не видит windows 7
Не загружается GRUB после установки Debian 10 на UEFI рядом с Windows 10
Всем привет! В этой заметке я покажу, как можно исправить ситуацию, когда после успешной установки дистрибутива Linux Debian 10 рядом с Windows 10 на компьютер с UEFI, загрузчик GRUB не загружается, а вместо него по-прежнему, как и до установки Debian, запускается Windows 10, т.е. в обход GRUB.
Зачем нужно, чтобы GRUB запускался по умолчанию?
Если Вы захотели установить на один компьютер Linux и Windows, например, дистрибутив Debian 10 и Windows 10, то Вам необходимо сначала установить Windows, а потом Debian, так как загрузчик Windows не работает с Linux, а загрузчик Debian, т.е. GRUB, умеет запускать все загрузочные системы, включая Windows.
Таким образом, если установить сначала Debian, а потом Windows, то Windows просто перепишет загрузчик GRUB, и Debian запускаться не будет.
Поэтому, для того чтобы иметь возможность по выбору запускать операционные системы на компьютере, необходимо, чтобы загрузкой управлял GRUB, т.е. запускался по умолчанию.
Почему не загружается GRUB?
Все дело в том, что по умолчанию установщик Debian устанавливает загрузчик в область UEFI согласно всем спецификациям, а Windows нет, именно это и не позволяет Debian загружаться даже после успешной установки.
В данном случае UEFI запускает загрузчик по умолчанию, т.е. Windows, а загрузчик Debian просто не запускается. В результате Вы успешно установили Debian, но по умолчанию загружается все равно Windows 10.
Поэтому, для того чтобы изначально избежать такой ситуации, установку Debian 10 необходимо производить в экспертном режиме, чтобы принудительно установить загрузчик в нужную область (removable media path), так же как это делает Windows.
Заметка! Установка Debian 10 рядом с Windows 10 на компьютер с UEFI (экспертный режим) – в материале подробно рассмотрен процесс установки дистрибутива Debian 10 на один компьютер с UEFI рядом с Windows 10 в экспертном режиме.
Некоторые другие дистрибутивы Linux, например, Ubuntu, по умолчанию устанавливают загрузчик в область removable media path, и таких проблем у них не возникает, но такой подход создает предпосылки конфликта с любыми другими установщиками, что плохо и неправильно. Вот почему в Debian не делают этого по умолчанию.
Заметка! Установка Ubuntu рядом с Windows 10 на компьютер с UEFI – в материале подробно рассмотрен процесс установки дистрибутива Linux Ubuntu на один компьютер рядом с Windows 10.
Однако если Вы все-таки установили Debian 10 в обычном режиме, и у Вас возникла такая ситуация, что вместо загрузчика GRUB загружается Windows 10, Вам необязательно переустанавливать Debian, достаточно зайти в загрузочное меню, запустить UEFI Shell и настроить загрузку UEFI. А как все это сделать, я сейчас и покажу.
Делаем загрузчик GRUB загрузчиком по умолчанию
Сейчас мы рассмотрим все действия, которые необходимо выполнить, чтобы сделать загрузчик GRUB загрузчиком по умолчанию.
Примечание! Все действия ниже предполагают наличие у Вас определенного опыта администрирования операционных систем и навыков работы с компьютером. При определенных обстоятельствах некорректные действия могут повлечь нарушение работы загрузчика компьютера.
Шаг 1 – Запускаем менеджер загрузки
Для того чтобы управлять загрузчиком компьютера, необходимо зайти в загрузочное меню, т.е. запустить менеджер загрузки.
Обычно это можно сделать клавишей F9, но иногда используются и другие клавиши (F12 и т.д.).
Итак, во время включения компьютера нажимаем клавишу F9.
Шаг 2 – Запускаем UEFI Shell
В итоге запустится загрузочное меню. Нам нужно открыть UEFI Shell. Для этого входим в «Boot Manager» (интерфейс у Вас может отличаться).
Затем выбираем пункт «EFI Internal Shell».
После чего запустится командная оболочка для работы с UEFI. В командной строке отобразится приглашение ввода команд «Shell>».
Шаг 3 – Входим в файловую систему загрузочного раздела
Вносить изменения мы будем путем определенных действий с файлами, поэтому нам необходимо открыть файловую систему загрузочного раздела UEFI.
Это делается достаточно просто, вводим команду FS0: (обычно именно такая метка у загрузочного раздела).
Шаг 4 – Переименовываем текущий загрузочный файл
Весь смысл наших действий заключается в том, чтобы заменить текущий загрузочный файл на тот, который нам нужен, т.е. на загрузчик GRUB.
Но для начала нам нужно переименовать текущий загрузочный файл, так как файл загрузчика, который мы будет потом копировать, должен быть с таким же названием (можно, конечно, его и удалить, но лучше этого не делать).
Переименовываем файл следующей командой.
Если у Вас отобразилось сообщение [ок], значит, все прошло успешно.
Таким образом, файл bootx64.efi мы переименовали в bootx64.efi_, этот файл расположен в каталоге EFI\Boot.
Шаг 5 – Копирование файла загрузчика GRUB
Теперь нам нужно в каталог EFI\Boot скопировать файл загрузчика GRUB, чтобы он запускался по умолчанию.
В этой статье речь идет о Debian, поэтому загрузчик лежит в одноименном каталоге EFI\debian, а файл его называется grubx64.efi.
Для копирования можно использовать следующую команду.
Как видите, файл мы копируем с новым названием, для того чтобы EFI запускала его по умолчанию.
Шаг 6 – Выход из командной строки
На этом все, теперь мы можем выйти из командной строки и попробовать запустить компьютер.
Для выхода из «EFI Internal Shell» вводим команду Exit.
Чтобы продолжить загрузку компьютера, выбираем пункт «Continue».
После вышеупомянутых операций с файлами по умолчанию у Вас должен загружаться GRUB, в котором можно будет выбрать операционную систему для загрузки, Debian или Windows.
На заметку! Новичкам рекомендую почитать книгу «Linux для обычных пользователей» – в ней подробно рассказывается про основы операционной системы Linux
- Debian GNU/Linux– это операционная система Debian;
- Windows Boot Manager (на /dev/sda2) – это Windows 10.
Если ничего не выбрать в течение нескольких секунд, по умолчанию будет загружаться Debian, однако можно сделать и так, чтобы по умолчанию загружалась Windows 10, и даже переименовать пункты меню для удобства, об этом я уже рассказывал в материале – Как изменить порядок загрузки операционных систем (Linux, Windows) в GRUB.
На сегодня это все, надеюсь, материал был Вам полезен, пока!
Ошибка grub не видит Windows 10
Многие новички и опытные пользователи Linux держат также установленной на своем компьютере операционную систему Windows, например, последней, десятой версии. Новичкам это нужно чтобы иметь запасную операционную систему, к которой они смогут вернуться, если их Linux сломается. А для опытных пользователей важно программное обеспечение, которое не поддерживается ни в Linux, ни даже с помощью эмулятора Wine, а таких программ достаточно много.
Но временами случается такая ситуация, что загрузчик Grub не распознает установленную Windows и не отображает ее в списке для систем для загрузки. В этой статье мы рассмотрим почему возникает ошибка grub не видит Windows 10 и как ее решить.
Ошибка Grub не видит Windows 10
Причин такой ошибки может быть несколько, начиная от того, что система установлена на другом жестком диске, и заканчивая неизвестными глюками пакета os-prober, который и занимается определением операционных систем в Linux. Также, если у вас есть несколько версий Windows на компьютере, то программа может видеть только одну из них.
Сначала можно попытаться сделать наш с Windows раздел более видимым для программы. Для этого примонтируйте его в какую-либо папку. Например, в /mnt/:
sudo mount -t ntfs-3g -o ro /dev/sda1
Я предполагаю, что система Windows установлена на разделе, который определяется в Linux, как /dev/sda1. Дальше запустите утилиту os-prober:
Если программа обнаружит Windows, то вам останется обновить конфигурацию загрузчика Grub:
sudo grub2-mkconfig -o /boot/grub/grub.cfg
Если же этот способ не сработает, а он, скорее всего, не сработает, то вам останется только вручную добавить пункт меню для Windows. Это не самое простое, но зато эффективное решение. Сначала нам нужно узнать UUID раздела диска, на который установлена Windows, например, /dev/sda1:
Затем откройте файл /etc/grub.d/40_custom и добавьте туда такой код:
menuentry «Windows 10» <
insmod ntfs
set root='(hd0,1)’
search —no-floppy —fs-uuid —set B4A6AEB7A6AE7A0E
chainloader +1
>
Если кратко, то здесь мы устанавливаем в качестве корня первый раздел первого диска, а затем указываем загрузчику, что нужно найти раздел с нужным нам UUID. Затем передаем управление загрузчику на этом разделе с помощью chainloader. Дальше осталось обновить конфигурацию Grub:
Мы использовали такой метод потому что теперь настройка не собьется после обновления ядра или другого процесса, инициализирующего обновление конфигурации. Потому что если бы мы добавили эти строки в /boot/grub/grub.cfg, то они были бы перезаписаны если не при первом, то при одном из следующих обновлений системы.
Когда конфигурация обновлена вы можете перезагрузить компьютер и загружать Windows с помощью нового пункта. Таким образом, можно добавить несколько пунктов, только для разных разделов нужно указывать их UUID.
Выводы
В этой небольшой статье мы разобрали что делать когда у вас возникнет ошибка grub не видит windows 10 и какими способами ее можно исправить. На самом деле решение очень простое, если вы не используете систему с UEFI. В варианте с EFI загрузка Windows управляется не Grub, а загрузчиком UEFI, но при использовании Linux рекомендуется отключить эту технологию.
Grub не видит windows 7
Grub загрузчик не видит windows 7. Если в терминале прописать ‘update-grub’ находит только ubuntu и memtest. Да и еще по непонятным причинам он не запускается, при старте загружается сразу убунту.
Полегче я новичёк.
установи пакет os-prober, update-grub будет находить венду.
он уже был установлен. Я его запустил а потом обновил груб, никаких изменений 🙁
Позволь тогда задать не скромный вопрос: «а у тебя на харде венда то вообще есть?».
Не настолько уж я и новичек.
Попробовать чтоли бутнутся с диска с семёркой, прописать fixboot/fixmbr и потом попытатся заного обновить груб?
Ну я ж не знаю на сколько ты новичёк 🙂
Попробовать чтоли бутнутся с диска с семёркой, прописать fixboot/fixmbr и потом попытатся заного обновить груб?
Это хорошая идея.
ТС меню граба появляется призагруке?
меню граба не появляется. А что подразумевается под ТС? http://ru.wikipedia.org/wiki/ТС
Да и еще по непонятным причинам он не запускается, при старте загружается сразу убунту.
Таймаут в конфиге выставь ненулевой.
Grub загрузчик не видит windows 7. Если в терминале прописать ‘update-grub’ находит только ubuntu и memtest.
При загрузке удерживай Shift, должно появится меню grub.ТС, топик стартер — тот кто создал тему на форуме.
Меня будут пинать ногами, но всё же:
(это в /boot/grub/grub.cfg)
Только (hd0,msdos1) на свой раздел поменяй.
При загрузке удерживай Shift, должно появится меню grub.
Оно то появиось. Но виндоуса там все еще нету.
Поправь /boot/grub/grub.cfg как советовал tyakos
Меня будут пинать ногами, но всё же:
Спасибо, заработало. Только меня ожидал очередной сюрприз :
BOOTMGR is missing
Press ctrl+alt+del to restart
Неужели убунту стёрла виндовский загрузчик? )
Ну так восстанови с загрузочного диска (bootmgr c:).
И да. Сам на работе на грабли наступал — проверь, что виндовый раздел активен. Сто лет уж прошло, а для винды ещё имеет значение.
Запустись с CD Win7, запусти консоль восстановления в консоли пропиши bootrec/fixboot дальше догадаешься что делать.
Линукс тут при чём?
А ты, недоумок, вали к Эребу
Это может быть глюк/фича твоего os-prober’а
Неплохо бы было посмотреть на выхлоп
Покажите /var/log/syslog после запуска update-grub.
На каком разделе установлена Windows?
при старте загружается сразу убунту.
что то тут не ладно)
программа восстановление не обнаруживает установленную семёрку, а восстановление запуска закрывается с ошибкой.
bootrec /fixboot
не удалось опознать присутсвующую на томе файловую систему.
bootrec /fixmbr
операция успешно завершена
но после перезагрузки пишет : Missing operating system
bootrec /scanOs
сканирование установленных систем Windows завершено успешно.
Общее количество обнаруженных систем windows : 1
[1] c:\windows
операция успешно завершена
bootrec /rebuildBcd
просмотр всех дисков для поиска установленных систем Windows
Общее количество обнаруженных систем windows : 1
[1] c:\windows
Добавить систему в список загрузки ? да\нет\все
Не удаётся опознать присутсвующую на томе файловую систему.
короче ну его нафик эту семёрку, я уже закалибался. Всем спасибо)