Grub не видит windows 10 на другом жестком диске

Многие новички и опытные пользователи Linux держат также установленной на своем компьютере операционную систему Windows, например, последней, десятой

Многие новички и опытные пользователи Linux держат также установленной на своем компьютере операционную систему Windows, например, последней, десятой версии. Новичкам это нужно чтобы иметь запасную операционную систему, к которой они смогут вернуться, если их Linux сломается. А для опытных пользователей важно программное обеспечение, которое не поддерживается ни в Linux, ни даже с помощью эмулятора Wine, а таких программ достаточно много.

Но временами случается такая ситуация, что загрузчик Grub не распознает установленную Windows и не отображает ее в списке для систем для загрузки. В этой статье мы рассмотрим почему возникает ошибка 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 рекомендуется отключить эту технологию.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Содержание

  1. Ошибка grub не видит Windows 10
  2. Ошибка Grub не видит Windows 10
  3. Выводы
  4. Ошибка grub не видит Windows 10
  5. Ошибка Grub не видит Windows 10
  6. Выводы
  7. После установки Ubuntu 16.04 LTS GRUB2 не видит Windows 10
  8. Grub не видит windows 10
  9. Grub and Windows 10

Ошибка grub не видит Windows 10

Многие новички и опытные пользователи Linux держат также установленной на своем компьютере операционную систему Windows, например, последней, десятой версии. Новичкам это нужно чтобы иметь запасную операционную систему, к которой они смогут вернуться, если их Linux сломается. А для опытных пользователей важно программное обеспечение, которое не поддерживается ни в Linux, ни даже с помощью эмулятора Wine, а таких программ достаточно много.

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

Ошибка Grub не видит Windows 10

Причин такой ошибки может быть несколько, начиная от того, что система установлена на другом жестком диске, и заканчивая неизвестными глюками пакета os-prober, который и занимается определением операционных систем в Linux. Также, если у вас есть несколько версий Windows на компьютере, то программа может видеть только одну из них.

Сначала можно попытаться сделать наш с Windows раздел более видимым для программы. Для этого примонтируйте его в какую-либо папку. Например, в /mnt/:

Я предполагаю, что система Windows установлена на разделе, который определяется в Linux, как /dev/sda1. Дальше запустите утилиту os-prober:

Snimok ekrana ot 2017 10 06 10 37 13

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

Snimok ekrana ot 2017 10 06 10 36 10

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

Snimok ekrana ot 2017 10 06 10 20 33

Затем откройте файл /etc/grub.d/40_custom и добавьте туда такой код:

Snimok ekrana ot 2017 10 06 10 35 42

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

Snimok ekrana ot 2017 10 06 10 36 10

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

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

Выводы

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

Источник

Ошибка grub не видит Windows 10

oshibka grub ne vidit windows 10 1

Многие новички и опытные пользователи Linux держат также установленной на своем компьютере операционную систему Windows, например, последней, десятой версии. Новичкам это нужно чтобы иметь запасную операционную систему, к которой они смогут вернуться, если их Linux сломается. А для опытных пользователей важно программное обеспечение, которое не поддерживается ни в Linux, ни даже с помощью эмулятора Wine, а таких программ достаточно много.

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

Ошибка Grub не видит Windows 10

Причин такой ошибки может быть несколько, начиная от того, что система установлена на другом жестком диске, и заканчивая неизвестными глюками пакета os-prober, который и занимается определением операционных систем в Linux. Также, если у вас есть несколько версий Windows на компьютере, то программа может видеть только одну из них.

Сначала можно попытаться сделать наш с Windows раздел более видимым для программы. Для этого примонтируйте его в какую-либо папку. Например, в /mnt/:

Я предполагаю, что система Windows установлена на разделе, который определяется в Linux, как /dev/sda1. Дальше запустите утилиту os-prober:

oshibka grub ne vidit windows 10 2

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

oshibka grub ne vidit windows 10 3

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

oshibka grub ne vidit windows 10 4

Затем откройте файл /etc/grub.d/40_custom и добавьте туда такой код:

oshibka grub ne vidit windows 10 5

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

oshibka grub ne vidit windows 10 3

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

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

Выводы

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

Источник

После установки Ubuntu 16.04 LTS GRUB2 не видит Windows 10

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

У меня случилась такая ситуевина после установки убунту на хард grub не видит windows 10

62115: 1428312677

что именно я правильно делаю?

Что мне делать дальше?

109010:1208519766

а где у тебя, собственно, граб?

если у тебя efi, то должно быть что-то такое:

Как проверить efi у тебя или что? И так же где grub как проверить? при установке ubuntu системный загрузчик ставил на /dev/sda

собственно говоря windows 10 находится в разделе /dev/sda2

109010:1208519766

Едрить, как у тебя вообще всё поставилось с таким багажом знаний.

Потыкай в f10 во время загрузки ноута, найди там что-то вроде ‘boot from file’ и нарой что-то вроде c:boot*.efi на диске с виндой и такое же с убунтой. Добавь эти опции в загрузчик и живи счастливо.

А лучше снеси линух, посмотри штук 10 видео про установку, и тогда только трогай. Хотя бы 16.10.

62115: 1428312677

у тебя в ubuntu os-prober пакет установлен?

109010:1208519766

Ну и sudo update-grub сделай, хотя, если он сам не подхватил сразу, то вряд ли поможет.

Источник

Grub не видит windows 10

Старый комп, никаких uefi. Ставлю десятку. Ставлю opensuse 42.3 и grub ни в какую не хочет видеть Windows. До этого была такая проблема с uefi, но там ясно загружаться нужно в одинаковом режиме. Тут же я не пойму куда копать.

p

И зaчем тeбe линукc? Cиди дaльшe с зoндaми в зaдницe.

157545: 1381963876

Он не видит при установке. Раньше видел, при входе в общем настройки загрузчика можно было увидеть список.
Я не хочу устанавливать и не иметь возможности загрузиться в вин.

144715:783014869

Жаль у вас тут не принято просто на х* посылать таких экстрасенсов как ты, делающих выводы по одному посту. А так бы послал. Но мы люди человечные, так что угомонись, няша.

p

После устанвоки выполни обновление конфигурации загрузчика.

Если не хочешь устанавливать, то попросту отредактируй конфигурационный файл и впиши в него конфигурацию для вызова загрузчика Windows.

144715:783014869

Ладно. В общем я наверное плохо объяснил. При установке opensuse раньше ещё до начала процесса установки можно зайти в настройки загрузчика и проверить чё как. Раньше там всегда определилась винда и можно было настроить загрузочную секцию по умолчанию, время ожидания, etc. Сейчас как я понимаю иного выхода нет кроме как поставить suse и там уже плясать с настройками. Ну и написать о баге разработчикам. Или всё же есть варианты?

Спасибо за советы так и поступлю как установлю. Просто хотелось решить проблему изначально а не потом.

Источник

Grub and Windows 10

Очень хотел настроить 2 ос рядом. Но за двое суток так нечего не получилось. Начиная от mbr диска заканчивая gpt. Все время была проблема или не запускался Grub с линкусом или наоборот Grub работал, а виндовс не хотел запускаться..

Ну так вот проблема в данный момент состоит в том что: Стоит windows 10 и запускается без проблем, меню выбора ос нету.. сразу происходит запуск без вопросов. А так же стоит Линукс Минт 17.3 х64.
Устанавливал виндовс на gpt диск для efi.. и Линкус тоже так же. Но в efi еще не видел выбора линукса ни одного раза((
Вот дал сразу скрин с дисками.
Вот нюанс : в биосе в бут меню можно выбрать ток windows boot man. и всё. Как установить линукс, что бы он его видел? Или переустановить grub?

Кстати когда переустанавливаю граб через флешку с линуксом (через бут репеир), то он появляться после перезагрузки и там всё отлично могу выбрать и винду которая запустится и линукс который работает. Но через 1-2 перезагрузки системы, опять загрузчик винды как будто убирает grub и не дает ему выбора систем.. Из-за чего это не знаю. Но очень надо настроить 2 ос. Прошу помощи у вас.. если надо инфа будет сразу скину)

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

Grub и Windows 10
Доброго дня. Опешу проблему сначала. Купил новый ноут на нём стоял вин8 я его успешно снёс, так как.

Grub не видит Windows 8
После установки ubuntu параллельно с виндой столкнулся со следующей проблемой: grub отказывается.

Grub не видит Windows 7
Столкнулся с такой проблемой: Пользовался Windows 7. Решил, как в былые времена установить Kali.

В GRUB нету пункта Windows
Поставил чистую Windows 10, затем установил Ubuntu 14.04. При включении ноута открывается меню.

Источник

  • Печать

Страницы: [1]   Вниз

Тема: После установки Ubuntu 20.04 пропал Windows 10 из grub2 [Решено]  (Прочитано 7743 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
mrchals

Здравствуйте. Установил Ubuntu 20.04 рядом в Windows 10, однако grub2 не видит Windows 10.
Изначально пытался решить проблему с помощью boot-repair — он находит Windows 10 (на sda2), однако не может восстановить и пишет

«LegacyWindows detected. Please enable BIOS-compatibility/CSM/Legacy mode in your UEFI firmware, and use this software from a live-CD (or live-USB).».

Я отключил «fast boot» и установил «UEFI and LEGACY» в настройках BIOS, однако это не помогло.

Я подозреваю, что это может возникнуть вследствие того, что Windows 10 находится в состоянии «Hibernation». Отключить этого состояние возможно в настройках Windows, только теперь у меня нет возможности запустить Windows, т.к. его не предлагает grub2. Получается что я застрял?

Я пытался убрать состояние «Hibernation» с помощью:

sudo ntfsfix /dev/sda2Но это не помогло.

Подскажите, можно ли что либо сделать в такой ситуации?


ТС не появлялся на Форуме более трех месяцев по состоянию на 19/03/2021 (последняя явка: 07/11/2020). Модератором раздела принято решение закрыть тему.
—zg_nico

« Последнее редактирование: 19 Марта 2021, 14:30:14 от zg_nico »


Оффлайн
andytux

это может возникнуть вследствие того, что Windows 10 находится в состоянии «Hibernation

Эта беда скажется в другом месте. В данном случае она пока не мешает. Ты нарушил другое правило.

LegacyWindows detected

Вроде как говорит, что Виндовс в режиме легаси.
Все должно быть в одном режиме. Поищи по форуму.
На скорую руку, вот и вот..


Оффлайн
zg_nico

только теперь у меня нет возможности запустить Windows

Документацию к материнской плате посмотрите. Есть такая штука, называется bootmenu. Если у Вас UEFI поддерживает запуск одновременно с EFI-систем и Legacy-систем, не требуя при этом переключений режима загрузки, то при загрузке вызвав это bootmenu (типовые варианты, которые попадались мне: Esc, F5, F8, F12, — одна из этих клавиш при загрузке; свою клавишу смотрите в документации к материнской плате или документации к ноутбуку, если у Вас таковой) Вы можете выбрать с какого источника пойдет загрузка. И windows (если Вы ее разметкой не убили) должна в том перечне присутствовать.

Подскажите, можно ли что либо сделать в такой ситуации?

Как совершенно верно заметил ранее andytux, привести обе системы к одному режиму. Для этого либо переустановить Ubuntu/Windows, либо должным образом настроить Ubuntu/Windows. Смотря что выберете. Переустановка мне видится уж больно радикальным вариантом. Я бы ее отложил на крайний случай, а рассмотрел один из алгоритмов на Вашем месте:
1) Если настраивать Ubuntu. Предполагая, что Windows в режиме legacy, и не желая этого менять, можно установить иной загрузчик на ubuntu и заморочиться с миграцией Ubuntu на legacy. Успех предприятия не гарантирован, т.к. чёткого мануала от и до по сети мне для данного алгоритма не попадалось. Тем не менее, теоретически допускаю что этот вариант возможен, хоть я бы и не рекомендовал по нему идти.
2) Если настраивать windows10. Выходит за рамки данного форума. Можете обратиться на форум, посвященный windows, или создать отдельный топик в разделе «Разговоры обо всем» нашего форума, ибо сказано

Тем не менее, установленные в Legacy режиме системы линейки windows 7 [x64], windows 10 [x32/x64] можно перевести из режима legacy в режим uefi практически не заморачиваясь. Вот пример подобной миграции для win7. Действия, в сущности, аналогичные должны предприниматься для всех ОС из перечня выше. Следует понимать, что при экспериментах можно похоронить имеющуюся систему, так что до экспериментов следует обзавестись резервной копией разделов с windows, дабы экспериментировать можно было, не опасаясь.

Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.


Оффлайн
Дюшик

mrchals,
Загрузитесь в Ubuntu и покажите вывод

sudo parted -l
Вывод можно просто скопировать и вставить в сообщение.


Оффлайн
mrchals

Дюшик,

Вывод после выполнения команды sudo parted -l следующий:

Model: ATA WDC WD10EZEX-00W (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size   Type     File system  Flags
 1      1049kB  525MB   524MB  primary  ntfs         boot
 2      525MB   370GB   370GB  primary  ntfs
 3      370GB   371GB   907MB  primary  ntfs         msftres
 4      371GB   1000GB  629GB  primary  ntfs

Model: ATA WDC WD30EFRX-68E (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system     Name                          Flags
 1      17,4kB  134MB   134MB                   Microsoft reserved partition  msftres
 2      135MB   1515GB  1515GB  ntfs            Basic data partition          msftdata
 3      1515GB  1515GB  1049kB
 4      1515GB  1515GB  538MB   fat32           EFI System Partition          boot, esp
 6      1515GB  2992GB  1477GB  ext4
 5      2992GB  3001GB  8543MB  linux-swap(v1)                                swap

« Последнее редактирование: 13 Июля 2020, 22:52:57 от Aleksandru »


Оффлайн
vladimirzhuravlev

 На диске /dev/sdb: 3001GB всё нормально для двух систем в параллели, что на /dev/sda: 1000GB делает загрузочный раздел ? Отключи временно этот диск. Или у тебя винда есть на sda установленная в легаси, а linux на sdb установлен в режиме UEFI плюс и на этом диске винда установленная в UEFI и  ? Но выше ведь написано, что так не правильно. Зайти в винду отключить гибернацию можно попробовать загрузившись с ремонтной виндовой флешки, обычно там в опциях присутствует поиск винды и её загрузка.
 И на будущее, имхо, две системы заиметь на одном диске проще для новичка, чем разбрасывать их по разным. И не делай установку linux в автомате, применяй свою разметку.


Оффлайн
mrchals

vladimirzhuravlev,

Или у тебя винда есть на sda установленная в легаси, а linux на sdb установлен в режиме UEFI плюс и на этом диске винда установленная в UEFI и  ?

Да, я думаю у меня все таким образом и установленно, как вы выше и описали. Вообще изначально у меня рядом с windows 10 стояла ubuntu 16.04, но затем я решил поставить ubuntu 20.04, только установил ее не рядом с другими ОС, а вместо ubuntu 16.04 (при установке предлагался такой пункт с удалением ubuntu 16.04)

Я проделывал подобную операцию на другом компьютере (ноутбуке) — там в grub2 выбор windows 10 сохранился. Однако, когда попробовал на основном ПК — возникли вышеописанные проблемы.

Постараюсь решить проблему — отключением гибернации с помощью ремонтной флешки (hiren’s bootcd) и отпишусь о результах, хотя маловероятно, что проблема в гибернации, как уже писали выше.


Оффлайн
vladimirzhuravlev

Лично для меня не всё понятно… рядом это на одном компе или на одном диске ? На каких дисках что ранее установлено было и на каких дисках что установлено сейчас, в каких режимах ?

« Последнее редактирование: 14 Июля 2020, 01:09:22 от vladimirzhuravlev »


Оффлайн
Дюшик

Если Винды нет в GRUB, то она должна быть в BIOS (строка Windows Boot Manager). Можно в BIOS назначить загрузку с   Windows Boot Manager, а лучше через Boot Menu (F12 или другая клавиша) выбрать Windows Boot Manager, должна будет загрузиться Винда.

На /dev/sda есть установленная Винда? Если есть, то крайний случай можно в её, добавить загрузку Винды с /dev/sdb.

Во время установки Ubuntu, Вы раздел EFI случайно не отформатировали? Возможно Виндового загрузчика вообще нет, поэтому его не видят GRUB и boot-repair.

« Последнее редактирование: 14 Июля 2020, 14:31:18 от Дюшик »


Оффлайн
mrchals

Дюшик,

К сожалению при выборе boot device нет windows boot manager предложены варианты:

Please select boot device:
- ubuntu
- WDC WD10EZEX-00WN4A0
- WDC WD30EFRX-68EUZN0
- UEFI: Built-in EFI Shell
- Enter Setup

При выборе из этого меню дисков WDC… переходит на консоль:

error: no such device: 545ddbd-baea-...-...4745.
Entering rescue mode...
grub rescure> _


Оффлайн
Дюшик

mrchals,
Если Windows Boot Manager нет, то вариантов только два.

Не понятно так же, почему при выборе в Boot menu диска WDC WD10EZEX-00WN4A0 появляется консоль GRUB. Откуда там взяться GRUB’у.
Я бы предложил такой вариант.

Перезагрузиться, в Boot menu выбрать диск WDC WD10EZEX-00WN4A0 должна будет загрузиться Windows c /dev/sda2. В BIOS должен быть выбран режим загрузки UEFI and LEGACY.

Подключить второй жесткий диск и временно загружать системы через Boot menu. Отписаться о результатах.


Оффлайн
mrchals

Всем спасибо за помощь. Я все таки смог восстановить Windows 10. Теперь я могу загрузить и ubuntu и Windows 10 :coolsmiley:

Изначально я пытался из установленной ubuntu запустить boot-repair
Однако получал сообщение:

«LegacyWindows detected. Please enable BIOS-compatibility/CSM/Legacy mode in your UEFI firmware, and use this software from a live-CD (or live-USB).».

Вчитавшись в сообщение, я понял, что от меня требуется запустить boot-repair из под live-CD (or live-USB).

Я вставил установочную флешку с образом ubuntu и выбрал «Try ubuntu». И уже там я смог запустить boot-repair, который восстановил мне MBR для Windows 10 на жестком диске. Конечно, теперь мне приходится при загрузке выбирать жесткий диск, а не использовать grub, но думаю, если заморочиться, то можно более грамотно настроить grub.

Мне немного помогла эта статья https://askubuntu.com/questions/1088681/how-to-help-grub-find-windows-10-boot-manager


Оффлайн
andytux

я понял, что от меня требуется запустить boot-repair из под live-CD

Неправильно понял. В сообщении говорится, что обнвружена Виндовс в режиме легаси и тебе предлагают включить в УЕФИ этот режим.

думаю, если заморочиться, то можно более грамотно настроить grub.

Нет. Никакие заморочки тебе не помогут.
Повторяю еще раз, все должно быть в одном режиме: УЕФИ, загрузчики, системы.
Только в этом случае ты сможеть без ковыряния в УЕФИ загружать загрузчиком обе системы.
Если уж ориентироваться на Виндовс, она у тебя в режиме легаси.
Нужно загрузить boot-reair в режиме легаси и установить грубПС. Перед этим хорошенько подумать, куда его устанавливать.
Второй вариант может оказаться проще. Переустановить *бунту в режиме легаси. Но обязательно обратить внимание, что она запущена в режиме легаси. При этом уже на этапе разметки она должна увидеть Виндовс. Если не видит, то не в том режиме.


Оффлайн
Дюшик

но думаю, если заморочиться, то можно более грамотно настроить grub.

В зависимости от разрядности Windows есть варианты:
Общий вариант (не зависящий от разрядности Винды), это в GRUB прописать «обманку». Вот эдесь нажать второй способ.
Если Винда х64, то есть нщё вариант, но о нём говорить пока рано (нужно узнать разрядность Винды).

« Последнее редактирование: 25 Июля 2020, 10:27:36 от Дюшик »


  • Печать

Страницы: [1]   Вверх

First, you need to backup your data , to boot windows you can use Super Grub2 Disk, witch allow you to boot a different OS , legacy or UEFI .

Because GRUB does not understand GPT partition tables, you need to create a bios_grub partition then reinstalling Grub , also the os-prober need to be installed to get the others OS detected.

Note: For GRUB to boot from a GPT-partitioned disk on a BIOS-based system, a BIOS boot partition is required. Please note that this partition is unrelated to the /boot mountpoint, and will be used by GRUB directly. Do not create a filesystem on it, and do not mount it.

What is the bios_grub partition?

The BIOS boot partition is a partition on a data storage device that GNU GRUB uses on legacy BIOS-based personal computers in order to boot an operating system, when the actual boot device contains a GUID Partition Table (GPT). Such a layout is sometimes referred to as BIOS/GPT boot.

Why?

A BIOS boot partition is needed because GPT uses the disk sectors immediately following the Master Boot Record (MBR) to hold the actual partition table, whereas the traditional MBR-based partitioning scheme does not designate them for any special purpose. As a result, there is not enough unused space available for storing second stages of boot loaders on GPT disks; boot loaders are usually implemented so their code stored within the MBR, which cannot hold more than 512 bytes, operates as a first stage that serves primarily to load a more sophisticated second stage, which is, for example, capable of reading and loading an operating system kernel from a file system.

First, you need to backup your data , to boot windows you can use Super Grub2 Disk, witch allow you to boot a different OS , legacy or UEFI .

Because GRUB does not understand GPT partition tables, you need to create a bios_grub partition then reinstalling Grub , also the os-prober need to be installed to get the others OS detected.

Note: For GRUB to boot from a GPT-partitioned disk on a BIOS-based system, a BIOS boot partition is required. Please note that this partition is unrelated to the /boot mountpoint, and will be used by GRUB directly. Do not create a filesystem on it, and do not mount it.

What is the bios_grub partition?

The BIOS boot partition is a partition on a data storage device that GNU GRUB uses on legacy BIOS-based personal computers in order to boot an operating system, when the actual boot device contains a GUID Partition Table (GPT). Such a layout is sometimes referred to as BIOS/GPT boot.

Why?

A BIOS boot partition is needed because GPT uses the disk sectors immediately following the Master Boot Record (MBR) to hold the actual partition table, whereas the traditional MBR-based partitioning scheme does not designate them for any special purpose. As a result, there is not enough unused space available for storing second stages of boot loaders on GPT disks; boot loaders are usually implemented so their code stored within the MBR, which cannot hold more than 512 bytes, operates as a first stage that serves primarily to load a more sophisticated second stage, which is, for example, capable of reading and loading an operating system kernel from a file system.

Всего физических имеется два диска — SSD и винт на 500GB.
На ssd установлена винда, на винт установлен Debian Buster + общий раздел 250ГБ для винды и для дебиана. Самое интересное, что grud наглухо отказывается видеть винду, причем загрузчик винды в порядке — если в uefi выставить загрузку с бутлоадера виндовс, который лежит на ssd, то винда спокойно грузится, если выставить загрузку с винта — загружается grub, в котором нету винды. Всеми способами пытался добавить в меню grub загрузчик винды, тщетно. В fstab все разделы есть(sda — винт, sdb — твердотельник). os-prober даёт пустой вывод.

==================================================================================
Вывод fdisk -l:

root@debian:~# fdisk -l
Disk /dev/sdb: 111,8 GiB, 120034123776 bytes, 234441648 sectors
Disk model: SPCC Solid State
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: DD22852F-3DBC-4119-B7B2-0AD6D6493D2A

Device       Start       End   Sectors   Size Type
/dev/sdb1     2048   1085439   1083392   529M Windows recovery environment
/dev/sdb2  1085440   1290239    204800   100M EFI System
/dev/sdb3  1290240   1323007     32768    16M Microsoft reserved
/dev/sdb4  1323008 234440703 233117696 111,2G Microsoft basic data


Disk /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: TOSHIBA DT01ACA0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: D83176BD-F4DA-42E9-AAD8-BD7F15AB0807

Device         Start       End   Sectors   Size Type
/dev/sda1  976510991 976773134    262144   128M Microsoft reserved
/dev/sda2       2048 488282111 488280064 232,9G Linux filesystem
/dev/sda3  488282112 488284159      2048     1M BIOS boot
/dev/sda4  488284160 959838207 471554048 224,9G Linux filesystem
/dev/sda5  959838208 976510975  16672768     8G Linux swap

Partition 1 does not start on physical sector boundary.
Partition table entries are not in disk order.
root@debian:~#

lsblk:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0   128M  0 part 
├─sda2   8:2    0 232,9G  0 part 
├─sda3   8:3    0     1M  0 part 
├─sda4   8:4    0 224,9G  0 part /
└─sda5   8:5    0     8G  0 part [SWAP]
sdb      8:16   0 111,8G  0 disk 
├─sdb1   8:17   0   529M  0 part 
├─sdb2   8:18   0   100M  0 part 
├─sdb3   8:19   0    16M  0 part 
└─sdb4   8:20   0 111,2G  0 part 
root@debian:~#

blkid:

root@debian:~# blkid
/dev/sdb1: LABEL="M-PM-^RM-PM->M-QM-^AM-QM-^AM-QM-^BM-PM-0M-PM-=M-PM->M-PM-2M-PM-8M-QM-^BM-QM-^L" UUID="AA7E297E7E294483" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="8b215eea-9cdc-49e4-b5c0-8956325f807a"
/dev/sdb2: UUID="D830-F92B" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="fcd2bda0-256b-4eb1-ac53-144c29877db5"
/dev/sdb3: PARTLABEL="Microsoft reserved partition" PARTUUID="e75fb019-c989-4c6f-a330-1cf9731b82db"
/dev/sdb4: UUID="1C92496D92494D08" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="621365b3-1e4c-4dbe-8147-11b5f3271cc2"
/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="0d7b6c42-6122-11ea-a568-08606e6e194e"
/dev/sda2: PARTUUID="f93c1a83-940c-488f-8147-43d6c4cdf017"
/dev/sda3: PARTUUID="0dbecb52-df73-4f1f-895f-4e93bd857e6f"
/dev/sda4: UUID="fdeac083-9701-4404-aa2b-ecc1ba399250" TYPE="ext4" PARTUUID="555d2e51-22d2-4a53-819c-65376e0e60c5"
/dev/sda5: UUID="053c3b24-c0ca-41e3-aad1-4c4ccb536cd8" TYPE="swap" PARTUUID="aa7bdb7c-f190-4127-8c41-078a85db59af"
root@debian:~#

etc/grub.d/40_custom:

#!/bin/sh
exec tail -n +3 $0

menuentry "Windows 10" {

  set root=(hd1,2)

  chainloader (hd1,2)+1

}


# 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.

P.S Новичок в линуксе, прошу объяснить простым языком, что у меня не так..

Здравствуйте!

Накатил утром свежий пакет обновлений для манжаро. Grub2 перестал видеть винду (win7x64), хотя еще 8 часов назад все было в порядке и полтора года до этого момента все было в порядке.
os-prober видит запись

/dev/sda3:Windows 7:windows:chain

Но update-grub не дает результата

Generating grub configuration file…
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.4-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.4-x86_64.img
Found initrd fallback image: /boot/initramfs-5.4-x86_64-fallback.img
Adding boot menu entry for UEFI Firmware Settings…
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

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

Рабочее решение:

sudo nano /etc/default/grub

Вручную добавляем снизу строку

GRUB_DISABLE_OS_PROBER=false

Ctrl+O, enter, Ctrl+x

За подсказки и помощь спасибо alexal9 и Agafron
Агафон вообще выручает часто, шикарный))

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Использование Windows 10 и Linux на одном компьютере болезненно. Иногда безопасная загрузка UEFI нарушает работу GRUB, а иногда GRUB не может просто загрузить Windows 10. Недавно я обновил Ubuntu до 19.10 Beta с Ubuntu 19.04. Теперь Ubuntu 19.10 поставляется с новой версией GRUB 2.04, в котором, как сообщается, много ошибок. В моем случае GRUB каким-то образом испортил расположение Windows MBR, и теперь я не могу загрузиться в Windows 10. Чтобы исправить ситуацию, я выполнил пару шагов, и вот подробное руководство о том, как исправить Windows 10, не загружающуюся в Linux.

Если вы используете Ubuntu 19.10 Beta, в GRUB 2.04 много ошибок. Было бы лучше перейти на Ubuntu 19.04 или полностью перейти на Windows. Перейдите к этому шагу, чтобы проверить способы изменения загрузчика по умолчанию на Windows NT.

1. Восстановите GRUB.

Иногда GRUB не может найти MBR-файл Windows на ваших дисках. Первым шагом будет проверка того, может ли Windows 10 обнаруживаться Linux. Для этого выполните следующую команду.
sudo os-prober
Вышеупомянутая команда будет искать другие операционные системы, установленные на ваших дисках. Если Windows обнаружена, вы получите результат, как показано ниже.

Команда os prober определяет операционную систему Windows

Если указанная выше команда может найти операционную систему Windows 10, мы можем перестроить файл конфигурации GRUB. Для этого используйте следующую команду.
sudo update-grub
команда для восстановления файла конфигурации grub

Приведенная выше команда запускает сканирование всех разделов на вашем локальном диске и ищет различные установленные операционные системы. Если он обнаружит Windows 10, вы должны получить результат, аналогичный приведенному ниже. Команда также автоматически создаст запись Windows в файле конфигурации.
диспетчер загрузки Windows EFI обнаружен в команде обновления grub

2. Восстановление загрузки

Если командная строка вам не по душе, вы также можете попробовать графический инструмент восстановления загрузки. Иногда файл GRUB не работает. Инструмент восстановления загрузки автоматически ищет другие операционные системы на вашем диске. Он также восстанавливает и перестраивает файл конфигурации GRUB. Это похоже на запуск os-prober вручную и перестройку файла конфигурации GRUB.

Для начала используйте следующие команды, чтобы добавить требуемый репозиторий и установить Boot Repair.
sudo apt-add-repository ppa: yannubuntu / boot-repair && sudo apt-get update sudo apt-get install -y boot-repair
Затем запустите средство восстановления загрузки. Сканирование всех дисков и разделов займет минуту или две. После этого нажмите «Рекомендуемый ремонт». Эта опция удалит предыдущий файл GRUB и восстановит его с нуля.

выберите рекомендуемый ремонт загрузки в графическом инструменте восстановления загрузки

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

команды для запуска в соответствии с подсказками инструмента восстановления загрузки

Восстановление загрузки выдаст неожиданную ошибку, если вы используете бета-версию дистрибутива Linux.

Если этот метод не работает для вас, скорее всего, файл диспетчера загрузки Windows не может быть обнаружен GRUB. Следовательно, нам нужно будет создать запись для него в файле конфигурации GRUB.

3. Используйте инструмент настройки GRUB.

В общем, я бы не рекомендовал вручную обновлять что-либо в файле конфигурации GRUB. Мы будем использовать инструмент с открытым исходным кодом под названием Grub Customizer. Выполните следующие команды, чтобы загрузить и установить инструмент.
sudo add-apt-repository ppa: danielrichter2007 / grub-customizer && sudo apt-get update sudo apt install grub-customizer
команда для установки настройщика grub

Далее нам нужно расположение загрузчика Windows 10. Чтобы найти его, выполните следующую команду в терминале.
lsblk
Найдите раздел с точкой монтирования «/ boot / efi». Это раздел, в котором установлен диспетчер загрузки Windows. Нам нужно имя устройства конкретного раздела. В моем случае это sda1, следовательно, расположение загрузочного файла — «/ dev / sda1».

lsblk-command-displaying-windows-efi-файл-расположение

Кроме того, вы также можете установить gnome-disk-utility, которая представляет собой графический инструмент для отображения дисков и разделов. В меню вы можете найти системный раздел EFI. Описание раздела должно выглядеть примерно так.

утилита gnome disks, отображающая диски и разделы

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

Во всплывающем окне редактора записей выберите тип «Chainloader» и раздел как «/ dev / sda1». Вы также можете указать подходящее имя для записи. Опубликуйте это, нажмите Enter.

добавление записи Windows 10 на sda1 в настройщике grubТеперь вы сможете увидеть запись, которую вы создали, в меню настройщика Grub. Однако вам нужно нажать кнопку «Сохранить», чтобы синхронизировать изменения с исходным файлом конфигурации GRUB.

сохранить запись Windows из настройщика grub в файл конфигурации

Наконец, выполните перезагрузку, и теперь вы сможете загрузиться в Windows 10. Если вы не можете этого сделать, скорее всего, Windows MBR является посредником или загрузочные файлы повреждены.

4. Восстановление при запуске

Если GRUB не может загрузить Windows MBR, скорее всего, файл поврежден. Мы можем восстановить его, используя ISO-файл Windows и флешку. Вы можете использовать любое загрузочное программное обеспечение USB для Linux. Я бы посоветовал ГореUSB поскольку он прост и быстро выполняет свою работу. Когда USB-накопитель будет готов, загрузитесь с него. Нажмите «Далее» на первом экране, а затем нажмите «Восстановить компьютер» на следующем экране.

вариант восстановления компьютера на экране установки Windows 10

На следующей странице нажмите «Параметры устранения неполадок» и, наконец, нажмите «Восстановление при загрузке». На исправление загрузочных файлов и MBR потребуется время.

восстановление при запуске на странице дополнительных параметров

В большинстве случаев восстановление при запуске исправляет загрузочный файл Windows. В случае успеха перезагрузите компьютер, и GRUB сможет загрузить Windows. Если проблема не исчезнет, ​​нам нужно будет снова переключить загрузчик на Windows NT.

5. Сменить загрузчик по умолчанию

Если вы уверены, что загрузочный файл Windows не поврежден, и вы не стерли данные с диска C по ошибке, мы можем снова изменить загрузчик на Windows NT. Для этого загрузитесь с USB-накопителя Windows, нажмите «Далее» на первом экране. Затем нажмите «Восстановить компьютер», а затем «Устранение неполадок».

параметр устранения неполадок на экране установки Windows

На странице «Дополнительные параметры» нажмите «Командная строка».

параметр командной строки на странице дополнительных параметров загрузочной страницы Windows

В командной строке выполните следующую команду.
bcdedit / set {bootmgr} путь WINDOWS system32 winload.efi
Команда bcdedit для смены загрузчика на Windows NT

Вышеупомянутая команда изменит загрузчик с GRUB на Windows NT. Теперь, когда вы перезагружаете свою систему, она должна загружаться прямо в Windows. Если вы переходите с Ubuntu 19.10, вам нужно будет вернуться к стабильной версии Ubuntu 19.04, поскольку в GRUB 2.04 есть много ошибок.

6. Свежая установка Windows 10

Если ни один из вышеперечисленных способов вам не подходит, скорее всего, вы случайно стерли данные с Windows. Последнее средство — выполнить новую установку Windows 10. Хорошо, что вам нужно будет только отформатировать диск C, и данные на других дисках не будут потеряны. Но, тем не менее, вы потеряете файлы на рабочем столе, в папке «Загрузки» и «Документы».

Заключительные слова

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

Также читайте: Как заставить Windows и Mac использовать мультитач-жесты в Ubuntu

Многие новички и опытные пользователи Linux держат также установленной на своем компьютере операционную систему Windows, например, последней, десятой версии. Новичкам это нужно чтобы иметь запасную операционную систему, к которой они смогут вернуться, если их Linux сломается. А для опытных пользователей важно программное обеспечение, которое не поддерживается ни в Linux, ни даже с помощью эмулятора Wine, а таких программ достаточно много.

Но временами случается такая ситуация, что загрузчик Grub не распознает установленную Windows и не отображает ее в списке для систем для загрузки. В этой статье мы рассмотрим почему возникает ошибка 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 на другом диске
  • Grub rescue что делать windows 10 восстановить
  • Grub rescue команды как восстановить windows загрузку
  • Grub loading error 17 windows 10
  • Grub linux windows по умолчанию windows