Update grub не находит windows

Все способы:

  • Способ 1: Установка Windows на диск с Linux
  • Способ 2: Обнаружение раздела Windows
  • Способ 3: Ручное добавление загрузчика
  • Вопросы и ответы: 0

Способ 1: Установка Windows на диск с Linux

Одной из наиболее распространенных причин отсутствия Windows 10 в загрузочном меню «Grub» является установка Windows не на тот же физический диск, на который устанавливается Linux. Если нужно установить на один компьютер Windows и Linux, устанавливайте их по возможности на один физический жесткий диск, причем первой необходимо установить Windows. Если сперва будет установлена Linux, а затем Windows, то есть большая вероятность, что загрузчик Windows затрет «Grub».

Способ 2: Обнаружение раздела Windows

Если переустановка Windows 10 по какой-то причине невозможна, попробуйте обнаружить ее из среды Linux и добавить в загрузчик последней.

  1. Определите в Linux название раздела, на который установлена Windows. Получить сведения о дисках и разделах в Linux можно как из «Терминала», так и с помощью штатного приложения «Дисковая утилита». Скопируйте или запомните название устройства. Например, это будет «/dev/sda1».
  2. grub не видит Windows 10.1

  3. Откройте «Терминал» и примонтируйте раздел с Windows 10, для чего выполните команду sudo mount -t ntfs-3g -o ro /dev/sda1, где /dev/sda1 — полученный на предыдущем этапе путь к тому с Windows.
  4. Чтобы обнаружить Windows 10, выполните тут же в «Терминале» команду sudo os-prober.
  5. grub не видит Windows 10.2

  6. В случае успешного обнаружения Windows обновите конфигурацию «Grub» командой sudo update-grub либо же sudo grub2-mkconfig -o /boot/grub/grub.cfg.
  7. grub не видит Windows 10.3

Способ 3: Ручное добавление загрузчика

При использовании первого способа вероятность сходу обнаружить и прописать Windows 10 в линуксовый загрузчик довольно невелика. Более сложным, но и более эффективным способом восстановления записи Windows 10 в загрузочном меню Grub является ручное добавление. Способ универсальный, использовать его можно не только при потере Windows 10, но и других операционных систем Windows.

  1. Узнайте название раздела с Windows как было показано в первом пункте предыдущего способа.
  2. Определите UUID раздела, на котором установлена Windows 10, для чего выполните в «Терминале» команду blkid /dev/sda1, где /dev/sda1 — название раздела с Windows.
  3. grub не видит Windows 10.4

  4. Откройте любым текстовым редактором файл /etc/grub.d/40_custom и вставьте в него следующий код, где XXXXXXXXXXXXXXXX — полученный на предыдущем шаге UUID:

    menuentry "Windows 10" {
    insmod ntfs
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set XXXXXXXXXXXXXXXX
    chainloader +1
    }
    .
    Сохраните файл.

  5. grub не видит Windows 10.5

  6. Обновите конфигурацию Grub командой sudo update-grub, перезагрузите компьютер и посмотрите, появилась ли Windows в загрузочном меню Grub.

Если восстановить/добавить запись Windows 10 в загрузочное меню «Grub» не удалось, проверьте, не удален ли на диске служебный 100 МБ NTFS-раздел с загрузочными файлами. Если удален, можно будет попробовать его восстановить, но будет гораздо проще переустановить Windows и Linux. В том случае, когда используется «Grub 2» на UEFI, попробуйте включить в BIOS режим «Legacy».

Наша группа в TelegramПолезные советы и помощь

Grub (GNU GRand Unified Bootloader) — свободный загрузчик операционных систем, который используется во многих дистрибутивах Linux. Он позволяет выбирать операционную систему для загрузки при старте компьютера и управлять процессом загрузки системы, также поддерживает загрузку различных OS, включая различные версии Linux, Windows, macOS, позволяет настраивать параметры загрузки, создавать различные профили загрузки и выполнять другие задачи, связанные с загрузкой операционных систем.

Grub обычно устанавливается в начало жесткого диска компьютера и запускается при старте системы для предоставления пользователю возможности выбора операционной системы для загрузки. Grub является важной частью многих дистрибутивов Linux и играет ключевую роль в процессе загрузки операционной системы.

GRUB (GNU GRand Unified Bootloader) — мощный и гибкий загрузчик операционных систем, который используется во многих дистрибутивах Linux и других операционных систем, таких как FreeBSD. GRUB предоставляет пользователю возможность выбора операционной системы или ядра, которое нужно загрузить при старте компьютера.

Позволяет загружать различные операционные системы, а также варианты загрузки для конкретной операционной системы, например, в безопасном режиме или с другими параметрами загрузки. Он также поддерживает многоядерные системы и может автоматически обнаруживать установленные операционные системы на жестком диске. Имеет гибкую конфигурацию, которая позволяет пользователям настраивать параметры загрузки, добавлять новые ядра или операционные системы в меню загрузки, а также выполнять другие действия при загрузке системы.

GRUB является одним из наиболее распространенных загрузчиков для систем Linux и используется по умолчанию во многих дистрибутивах Linux, таких как Ubuntu, Fedora, Debian и многих других.

Если Grub не видит Windows 10 при загрузке, возможно, что загрузочная запись Windows была повреждена или удалена. Есть несколько причин, почему так происходит:

  1. Неправильная конфигурация: если Grub неправильно сконфигурирован или не обновлен после установки Windows 10, он может не видеть новую операционную систему.
  2. Изменения разделов диска: после установки Windows 10 могли произойти изменения в разделах диска, из-за чего Grub перестал её видеть..
  3. Проблемы с загрузочным сектором: некорректное обновление загрузочного сектора или MBR (Master Boot Record) могут привести к проблеме.
  4. Проблемы с UEFI/BIOS: некорректные настройки в UEFI или BIOS компьютера могут привести к тому, что Grub не сможет правильно обнаружить операционную систему.
  5. Поврежденные файлы загрузки: если файлы загрузки повреждены или отсутствуют, Grub не сможет их обнаружить.

Дальше расскажем, что же делать, если возникла такая проблема.

Сначала можно попытаться сделать наш с 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.

Была установлена Windows7, которой я пользовался достаточно длительное время. Захотел освоить убунту. Т.к. нельзя было уничтожать инфу и пока не разберусь с убунтой, решил оставить винду на всякий случай.
Разбивка получилась бредовая, но по другому никак(
вот результат fdisk -l

7e71f7e4ccdb473a91d309a5b19e6b85.png

sda1 — /boot/
sda2 — мой диск E в винде
sda3 — windows
sda5 — мой диск D в винде
sda6 — swap
sda7 — /
sda8 — /home/

grub-update делал, но он не видит винду. Появляется только убунту и 2 штуки сканирования памяти.
Установил пакет boot-repair.
Попытался востановить MBR винды, но после этого вылезла такая штука минуя граб:
BOOTMGR is missing
Press ctrl+alt+del to restart

лог: ЛОГ

Обратно всё вернулось после выбора рекомендуемых параметров boot-repair. Лог от boot-repair: ЛОГ

Подскажите пожалуйста как подружить ubuntu и Windows7 в моей ситуации. Целый день карачился и ничего так и не получилось.


  • Вопрос задан

  • 11860 просмотров

Все предложенные варианты — не помогли((
Пришлось переразбивать винт и нормально, последовательно всё ставить.

Пригласить эксперта

Нормальная практика;) последовательность действий следующая-> востанавливаете загрузчик винды(для этого нужен образ винды) после этого будет загружаться винда, после востанавливаете grub с помощью live-cd ubuntu

Возможно поможет

sudo -s
apt-get install os-prober
update grub

Это стандартные проблемы, которые связанны с MBR и различными флагами.

Если хотите быстро и просто решить проблему, грузите Ubuntu и устанавливайте Boot-Repair:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list
sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

Если нужны детали, обращайтесь сюда: Boot Repair

Добавте в /etc/grub.d/40_custom , (или создать, пример, 50_windows)

menuentry 'Windows' {
	insmod part_msdos
        insmod fat
 	insmod ntfs
        insmod ntldr
 	set root='hd0,msdos1'
        search --no-floppy --file --set=root /bootmgr
	ntldr /bootmgr
}

update-grub

Скорее всего, у Вас UEFI/EFI. У меня такое было после установки линукса паралельно с Windows 7 на EFI. Grub просто не «подхватил» нужную запись.
В линуксе сделайте в терминале, пот рутом:

~# update-grub
~# reboot

Если не появился нужный пункт в списке систем, продолжаем. Выполните под рутом:

~# grub-probe —target=fs_uuid /boot/*/*/Microsoft/Boot/bootmgfw.efi
выводом будет Ваш идентификатор диска с виндой — выпишем его на бумагу

затем выполните (я использую vim, если не знакомы — любой другой консольный редактор:
~# vim /etc/grub.d/40_custom
и в самый конец допишите, после всех комментариев с новой строки:

menuentry «Windows x86_64 UEFI-GPT» {
insmod part_gpt
insmod fat
search —fs-uuid —no-floppy —set=root ВАШ_ИДЕНТИФИКАТОР_С_БУМАГИ
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

После этого выполните от рута:
~# update-grub
~# reboot

Profit!

Войдите, чтобы написать ответ


  • Показать ещё
    Загружается…

Минуточку внимания

Самое простое установить Grub Costomizer
Перейти в «Основные настройки» и проверить, что галочка над
пунктом «поиск других ОС» стоит, после чего в левом нижнем
углу нажать кнопку «расширенные настройки» и напротив строки
GRUB_DISABLE_OS_PROBER поставить галочку и в подменю
«Просмотреть настройки» нажать на «Обновить»
после чего вы увидите Windows в списке.

PS:
Для удобства в подменю «Основные настройки» выберете пункт «ранее загруженный пункт«, после чего будит загружаться та система в которую вы заходили ранее.


По мне так проще отредактировать конфигурационный файл /etc/default/grub добавив в него строку GRUB_DISABLE_OS_PROBER=false и после выполнить команду update-grub с правами администратора.


Аналогично. Проще и универсальнее из консоли.


Спасибо друзья за ваши варианты, просто недавно столкнулся с подобной проблемой и ни какой Yandex(найдётся Xepnya) ни Гугол прям так точно и сразу не могли ответить на вопрос, но когда всё же нашёл ответ, то оставил тут на заметку. Благодарю, за дополнения 
Мой мутант с ядром 6.3.5-x64v2-xanmod1 тестовый Debian 12 конечно накидывает периодически задачки после обновления, жду с нетерпением релиза 


при запуске
sudo update-grub
сразу видно строку о том, что os-prober, которая и отыскивает windows, не выполняется:
Warning: os-prober will not be executed to detect other bootable partitions.
При запуске же os-prober в терминале,  винда четко определяется.
Лечится, как выше и указано, коррекцией строки в /etc/default/grub. Не надо ничего дополнительно устанавливать

Debian 12  -> Devuan 5 xfce -> MX Linux 23


Благодарю. Просто я о том, что когда проблема есть, мало кто отваживается помочь, но когда находишь решение её и рассказываешь об этом на заметку, то сразу находится масса умников которые говорят, ну а можно было и вот так сделать и это проще. Я прекрасно понимаю, что можно через конфиг, но вот, что именно надо дописать в него совсем не очевидно, а вот в кастомайзере это наглядно есть, теперь я знаю об этом и уже в следующий раз воспользуюсь вашим решением, за что и сказал спасибо.


Цитата: n0m4d от 09 июня 2023, 12:31:30но вот, что именно надо дописать в него совсем не очевидно

Вы же не новичок в дебиане. Если команда update-grub не видит винду, но при этом пишет Warning:… , то что вам мешает вбить в гугл эту строку? Решение будет в первой же паре ссылок

Debian 12  -> Devuan 5 xfce -> MX Linux 23


Малость уточню для тех кто ищет ответ на вопрос (сам искал). Предыстория такая. Установил Debian 12 Windows был в списке. Недавно установил обновления, через консоль. Заметил, что Windows пропал из загрузки. Начал искать ответ. Поиски привели сюда.

Для новичков развернуто шаги напишу.
В терминале

sudo nano /etc/default/grub
В открывшемся файле ищем строку
#GRUB_DISABLE_OS_PROBER=false
Удалить # в начале строки
ctrl+O ##Сохранить изменения в файл

ctrl+X ##Закрыть файл

sudo update-grubКоманда обновляет файл конфигурации Grub. Смотрим вывод

Спойлер

Generating grub configuration file …
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-6.1.0-13-amd64
Found initrd image: /boot/initrd.img-6.1.0-13-amd64
Found linux image: /boot/vmlinuz-6.1.0-12-amd64
Found initrd image: /boot/initrd.img-6.1.0-12-amd64
Found linux image: /boot/vmlinuz-6.1.0-10-amd64
Found initrd image: /boot/initrd.img-6.1.0-10-amd64
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Windows 10 on /dev/sda1
done

Строка из вывода Found Windows 10 on /dev/sda1 показывает что, конфигуратор нашел ОС Windows.

Перезагружаемся и видим в списке Windows


Как вернуть меню выбора ОС после установки Windows рядом с Linux? Рассказываем о двух способах восстановления загрузчика GRUB — для новичков (с утилитой boot-repair) и для продвинутых пользователей (с помощью chroot).

Поставили Windows рядом с Ubuntu, и теперь можете запустить только ОС от Майкрософт? Рассказываем, как восстановить загрузчик GRUB после установки Windows 10 или 11 — вам хватит 20 минут, даже если вы новичок в администрировании VPS.

Аренда VPS/VDS виртуального сервера от AdminVPS — это прозрачная и честная услуга с доступной ценой

Представьте: вы установили Ubuntu, настроили систему, а потом решили поставить Windows рядом. Но после перезагрузки вместо привычного меню GRUB (grand unified bootloader) вы увидите только загрузчик Windows. Это происходит потому, что Windows не дружит с альтернативными загрузчиками: при установке она перезаписывает главную загрузочную запись (MBR) или заменяет файлы в разделе EFI. И если GRUB, стандартный загрузчик для Linux, может работать с несколькими ОС, то загрузчики NTLDR (Windows 11) и Bootmgr (Windows 10) не умеют. Когда вы ставите Windows после Ubuntu, они просто «не видят» ОС, установленную первой.

Что нужно знать перед восстановлением GRUB

Прежде всего разберёмся с базовыми понятиями — это поможет избежать ошибок и сэкономит время.

UEFI или BIOS

Современные компьютеры используют два типа firmware (микропрограммы для управления железом):

  • BIOS — это устаревший стандарт, загрузчик записывается в первый сектор диска (mbr);
  • UEFI — современная замена BIOS, работает с разделом EFI (fat32), где хранятся файлы загрузчиков в формате .efi.

Чтобы проверить, какой режим на вашем компьютере, зайдите в bios/uefi (нажмите клавишу del, f2 или f12 при запуске). Если в настройках есть пункты Secure Boot, UEFI Mode — значит, у вас используется UEFI.

Или выполните в Linux:

ls /sys/firmware/efi  

Если директория существует — система загрузилась через UEFI.

Live USB с Linux

Чтобы восстановить GRUB, понадобится загрузочная флешка с любым дистрибутивом (Ubuntu, Fedora, Mint).

Как создать Live USB:

  1. Скачайте iso-образ с официального сайта ОС.
  2. Создайте Live USB с помощью специальных программ:
    • Rufus (на Windows) — выберите «GPT для UEFI» или «MBR для BIOS» в зависимости от прошивки вашего компьютера;
    • BalenaEtcher (на Linux/Mac).
  3. Проверьте целостность образа после записи (в некоторых программах есть опция «verify»).

Как восстановить GRUB из-под Windows: два способа

Восстановление через boot-repair (для новичков)

Если вы не хотите работать в терминале, воспользуйтесь утилитой boot-repair. Она автоматизирует 90 % работы.

Шаг 1. Загрузка с Live USB

  1. Вставьте флешку, перезагрузите компьютер.
  2. Нажмите клавишу выбора загрузочного устройства (обычно f12, ESC или f8).
  3. Выберите флешку в меню.

Если у вас UEFI, загружайтесь в режиме UEFI, а не в Legacy! Иначе раздел EFI не будет обнаружен.

Шаг 2. Установка boot-repair

  1. Откройте терминал в Live-системе.
  2. Добавьте репозиторий и установите утилиту (далее все команды выполняются в режиме суперпользователя):
add-apt-repository universe   # добавляйте репозиторий в Ubuntu до версии 22.04
apt update
apt install -y boot-repair  

Шаг 3. Запуск и настройка

  1. Запустите boot-repair:
boot-repair  
  1. Выберите «recommended repair».
  2. Следуйте инструкциям на экране: утилита сама определит установленные ОС, восстановит GRUB и обновит конфигурацию.

Если возникли ошибки:

  • проверьте подключение к Интернету (boot-repair иногда скачивает дополнительные пакеты);
  • убедитесь, что live-система загружена в правильном режиме (uefi/bios).

Ручное восстановление через chroot (для продвинутых пользователей)

Если первый метод не сработал или вы хотите понять процесс изнутри, восстановите GRUB вручную.

Шаг 1. Определение разделов

  1. Загрузитесь с Live USB.
  2. Откройте терминал и узнайте список дисков:
fdisk -l  

или

lsblk -f 

Команда lsblk -f показывает типы файловых систем и точки монтирования.

  1. Пример вывода lsblk:
NAME  FSTYPE LABEL   UUID  MOUNTPOINT
sda    
├─sda1 ntfs Windows ABCD-1234 
├─sda2 ext4 Ubuntu 5678-90AB 
└─ sda3 vfat  ESP CDEF-1234 

Обратите внимание на:

  • корневой раздел Linux (ext4, btrfs и т. д.) — нам нужен именно он;
  • раздел EFI (vfat) — если система на UEFI;
  • раздел подкачки (swap) — не нужен для восстановления.

Шаг 2. Монтирование разделов

  1. Создайте точку монтирования:
mkdir /mnt/Linux  
  1. Примонтируйте корневой каталог с Ubuntu:
mount /dev/sda2 /mnt/Linux  

Для UEFI примонтируйте каталог EFI:

mount /dev/sda3 /mnt/Linux/boot/efi  

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

mount /dev/sdaX /mnt/Linux/boot  

Шаг 3. Вход в chroot

Chroot (change root) — это команда, которая изменит видимый корневой каталог, чтобы вы вошли в систему из live-окружения.

  1. Привяжите системные директории:
mount --bind /dev /mnt/Linux/dev
mount --bind /proc /mnt/Linux/proc
mount --bind /sys /mnt/Linux/sys  
  1. Войдите в среду chroot:
chroot /mnt/Linux  

Шаг 4. Установка GRUB

  1. Если прошивка BIOS (MBR):
grub-install /dev/sda  # здесь sda — диск, а не раздел
update-grub  
  1. Если прошивка UEFI (GPT), убедитесь, что пакет grub-efi установлен:
apt install grub-efi-amd64

Перед grub-install нужно обновить загрузочный список в efibootmgr, иначе в некоторых UEFI-системах GRUB не будет загружаться:

efibootmgr -c -d /dev/sda -p 1 -L "GRUB" -l "\EFI\GRUB\grubx64.efi"

Здесь -d /dev/sda — диск, -p 1 — номер EFI-раздела (уточните их с помощью lsblk).

Установите GRUB в раздел EFI:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
  1. Обновите конфигурацию:
update-grub  
  1. После update-grub в выводе должны появиться строки «found Windows» или «found os probe entries».

Шаг 5. Выход и перезагрузка

  1. Выйдите из chroot:
sync  # запись данных
exit 
  1. Отмонтируйте разделы:
sudo umount -R /mnt/Linux
  1. Перезагрузите компьютер.

Возможные проблемы и их решение

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

GRUB не видит Windows

Причина: os-prober не активирован (утилита для автоматического обнаружения установленных ОС).

Решение. В /etc/default/grub раскомментируйте строку:

GRUB_DISABLE_OS_PROBER=false  

Установите os-prober:

apt install os-prober  

Обновите загрузчик (update-grub).

Ошибка «grub-install: error: cannot find efi directory»

Причина: неправильно указан путь к разделу EFI.

Решение. Проверьте, примонтирован ли раздел EFI в /boot/efi. Проверьте тип раздела: он должен быть vfat (FAT32).

Загрузчик установился, но система не загружается

Причина: неверный порядок загрузки в uefi/bios или повреждённые файлы GRUB. Также включённый Secure Boot может блокировать работу GRUB.

Решение. Зайдите в настройки UEFI/BIOS и выберите GRUB в качестве первого загрузочного устройства. Отключите Secure Boot в UEFI. Если это не помогло — переустановите GRUB через chroot.

Как избежать проблем в будущем

  • Если планируете устанавливать две операционные системы, то сначала установите Windows, потом Linux.
  • Создайте резервную копию EFI/MBR.

Для BIOS:

dd if=/dev/sda of=backup.mbr bs=512 count=1  

Для UEFI — просто скопируйте содержимое раздела EFI в место для хранения.

  • Создайте отдельный раздел EFI для Linux. Это минимизирует конфликты с Windows.

Заключение

Восстановить загрузчик GRUB после установки Windows — задача, которая кажется сложной только на первый взгляд. Даже если вы новичок, boot-repair справится за пару кликов. Для тех, кто хочет глубже разобраться в процессе, подойдёт ручной способ через chroot.

Наши технические специалисты помогут вам определиться с конфигурацией и настроят ваш VPN-сервер под ключ, если это будет необходимо.

Читайте в блоге:

  • Как поменять TTL для раздачи Интернета: настройка Default TTL и изменение значения на 64 или 65
  • Что такое директория в Linux
  • Как сменить владельца папки и изменить права доступа в Linux

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как установить драйвера на чистую windows 10
  • Windows jump list tasks
  • Версия tpm для windows 11
  • Как отключить контроль учетных записей в windows 10 pro
  • Что означает знак плюса перед папкой в дереве каталогов windows xp