Главная >> Инструкции >> Ошибка grub не видит Windows 10

Ошибка 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:

sudo os-prober

Если программа обнаружит Windows, то вам останется обновить конфигурацию загрузчика Grub:

sudo update-grub

Или:

sudo grub2-mkconfig -o /boot/grub/grub.cfg

Если же этот способ не сработает, а он, скорее всего, не сработает, то вам останется только вручную добавить пункт меню для Windows. Это не самое простое, но зато эффективное решение. Сначала нам нужно узнать UUID раздела диска, на который установлена Windows, например, /dev/sda1:

blkid /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:

sudo update-grub

Мы использовали такой метод потому что теперь настройка не собьется после обновления ядра или другого процесса, инициализирующего обновление конфигурации. Потому что если бы мы добавили эти строки в /boot/grub/grub.cfg, то они были бы перезаписаны если не при первом, то при одном из следующих обновлений системы.

Когда конфигурация обновлена вы можете перезагрузить компьютер и загружать Windows с помощью нового пункта. Таким образом, можно добавить несколько пунктов, только для разных разделов нужно указывать их UUID.

Выводы

В этой небольшой статье мы разобрали что делать когда у вас возникнет ошибка grub не видит windows 10 и какими способами ее можно исправить. На самом деле решение очень простое, если вы не используете систему с UEFI. В варианте с EFI загрузка Windows управляется не Grub, а загрузчиком UEFI, но при использовании Linux рекомендуется отключить эту технологию.

Оцените статью

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (15 оценок, среднее: 4,20 из 5)
Загрузка...

30 комментариев к “Ошибка grub не видит Windows 10”

    • Пятый год на Убунту, но! От Windows никуда не денешься. Фотошопу нет замены и никакой Gimp даже рядом не стоял. То же самое нет замены для Sony Vegas Pro. Поэтому рядом существуют Ubuntu gnome 14.04.5 и Win 10 на ноутбуке, Ubuntu 14.04 server и Win7 на РС.

      Ответить
      • А зачем вам всем фотошоп? Ну правда. Что все такого невероятного в нём делают? Кого не спроси, все на линукс не хотят переходить изза фотошопа, как будто все вокруг стали график дизайнерами.
        Мне вот он не нужен, а для минимальных преобразований, на которые может быть способен дилетант, GIMP'а хватит выше крыши. DarkTable нормальная замена LightRoom'у и т.д.

        Ответить
  1. Хорошая статья. Для решения этой проблемы кому-то могут пригодиться такие программы, как Boot Ice на Windows и Grub Customizer на Linux.

    Ответить
  2. Я пользуюсь Rescatux, и востановление grub и загрузчик винды и моногое другое в один клик, Вот ссылочка кому интересно "http://www.supergrubdisk.org/rescatux/"

    Ответить
  3. Linux Mint стоит на /dev/sda1, Windows 10 - на /dev/sdb2, /dev/sdb имеет раздел UEFI на /dev/sdb1. Первый вариант у меня не сработал и я делал все по второму варианту. В меню выбора системы для загрузки Windows 10 появилась. Но попытки загрузить Windows заканчиваются сообщением о неверном пути к разделу UEFI. Я указывал UIID раздела, на котором стоит Windows и раздела UEFI - безрезультатно. Что я делаю не так?

    Ответить
    • У меня прямо один в один как у вас происходит (за исключением, что у меня Kubuntu 19.04 на /dev/sda2 (/boot/efi на sda1))

      Ответить
    • Для Debian 12 (после обновления перестала определяться Windows 11) внёс изменения, как предложили на "https://manjaro.ru/newby-corner/grub2-ne-vidit-windows-resheno.html", затем через терминал "sudo grub-mkconfig -o /boot/grub/grub.cfg" и после выключения АРМ и последующего включения загрузка Windows 11 восстановилась.

      Ответить
  4. Привет.
    А если поменять диски местами? То есть sda будет с виндой, а sdb с линукс?
    Но автор стать предупредил, что uefi и grub не дружат.

    Ответить
  5. Столкнулся с тем, что grub2-mkconfig в Fedora распознает NTFS раздел и сама создает нужную строку в меню загрузки а в Centos этого не происходит.
    Позднее я нашел объяснение. В Fedora, начиная не помню с какой версии, включена поддержка NTFS.
    А в Centos по умолчанию - нет. Принцип - ничего лишнего.
    Как подключить поддержку NTFS написано в Centos WiKi.
    После установки поддержки NTFS в Centos, запускаем:

    grub2-mkconfig -o /boot/grub2/grub.cfg

    grub2-mkconfig в процессе работы выводит сообщение, что нашла раздел Windows, а в grub.cfg появляется строка загрузки Windows

    Ответить
  6. стоял windows 10 накатил mint 19. Винда осталась на uefi а линукс на легаси. Для того что бы грузить винду или линукс мне приходится заходить в биос и руками изменять место загрузки(((( эта инструкция мне совсем не помогла.

    Ответить
  7. Первый раз поставил Линукс и его не знаю, что этот спец объясняет, где все это и как. Надо писать так , что бы и чайники поняли. Ни тема не получилось.

    Ответить
    • Тебе нужно установить GRUB_TIMEOUT=10 в файле /etc/default/grub. Можешь не 10, а столько времени (в секундах), сколько grub будет ждать до автоматического выбора первого пункта в списке. Скорее всего у тебя там 0

      Ответить
    • Запускай от имени суперпользователя. `sudo gedit /etc/grub.d/40_custom`. После этого введи свой пароль. Если пишет `имяпользователя is not in the sudoers file`, то нужно выдать себе права суперпользователя. Пишешь `su`, после этого пароль root, и addgroup имяпользователя sudo`.

      Ответить
  8. предустановленная убунту от dell на новом ПК оказалось настолько глючной что такого не встречал за 20 лет. на прежнем китайском jumper с виндой за 3,5 года ни разу не приходилось жаловаться даже на 1% от того с чем приходиться сталкиваться на убунту. 100 раз пожалел что не снес убунту к едене фене.

    Ответить
  9. мльять открыл /etc/grub.d/40_custom
    a@1:~$ /etc/grub.d/40_custom

    # This file provides an easy way to add custom menu entries. Simply type the
    # menu entries you want to add after this comment. Be careful not to change
    # the 'exec tail' line above.
    a@1:~$ ^C
    a@1:~$ ^C
    a@1:~$

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

    Ответить

Оставьте комментарий