Grub не видит windows uefi

[РЕШЕНО] Загрузчик не видит Windows 7 и вообще файловые системы на этом диске

#1 — 18 декабря 2014 в 13:16

В системе 3 жестких диска. На первом поставил Windows 7, на втором поставил Linux Mint Cinnamon 17.1, третий чистый отформатированный в NTFS.

Все грузится по отдельности, если в BIOS указать соответствующий жесткий диск. Но загрузчик Linux отказывается видеть Винду, чтобы при загрузке выдавать список операционных систем. Более того, Linux отказывается признавать наличие файловых систем на диске с Виндой. Если запустить GParted, то он выдаст такое сообщение:

Предупреждение от libparted
/dev/sda contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted — possibly by a program that doesn’t understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?
Да / Нет

И сам этот диск в программе будет как пустой и неразмеченный, хотя на самом деле там раздел с Виндой и раздел с ее загрузчиком. Примечательно, что на самом деле все разделы на этом диске мне доступны через файловый менеджер, я могу по ним ходить и все такое. Но загрузчик и GParted их не видит.

Вопрос. Что делать?) Как заставить загрузчик увидеть Винду на первом диске? И что вообще произошло, черт побери?))

#2 — 19 декабря 2014 в 01:40

#3 — 19 декабря 2014 в 10:06

[quote=iamroman]
В системе 3 жестких диска. На первом поставил Windows 7, на втором поставил Linux Mint Cinnamon 17.1, третий чистый отформатированный в NTFS.

Все грузится по отдельности, если в BIOS указать соответствующий жесткий диск. Но загрузчик Linux отказывается видеть Винду, чтобы при загрузке выдавать список операционных систем. Более того, Linux отказывается признавать наличие файловых систем на диске с Виндой. Если запустить GParted, то он выдаст такое сообщение:

Предупреждение от libparted
/dev/sda contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted — possibly by a program that doesn’t understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?
Да / Нет

И сам этот диск в программе будет как пустой и неразмеченный, хотя на самом деле там раздел с Виндой и раздел с ее загрузчиком. Примечательно, что на самом деле все разделы на этом диске мне доступны через файловый менеджер, я могу по ним ходить и все такое. Но загрузчик и GParted их не видит.

Вопрос. Что делать?) Как заставить загрузчик увидеть Винду на первом диске? И что вообще произошло, черт побери?))
[/quote]

iamroman:
. Вопрос. Что делать?) Как заставить загрузчик увидеть Винду на первом диске? И что вообще произошло, черт побери?))

Отвечаю на вопросы (в обратном порядке)
3. И что вообще произошло, черт побери?))
Произошло неприятное, но поправимое. Произошло — нежелание прочитать предупреждение от libparted .

Читайте также:  Mom in the windows

и воспользоваться поиском в инете( включая поиск и по форуму) на предмет наличия тем по вопросам кривых GPT созданных в виндопрограммами, и тд. и отсутствие попытки разобраться с применяемыми на ПК таблицами разделов (GPT, MBR, . ) и применяемыми загрузчиками на ПК ( mbr, UEFI , . )

2. Как заставить загрузчик( увидеть Винду на первом диске?
наверное — Создать условия чтобы загрузчик GRUB мог видеть виндовс с его виндозагрузчиком.

1. Что делать?)
— установить винду на нормально подготовленный HDD, чтобы загрузчик GRUB (по sudo update-grub) смог увидеть виндовс с его виндозагрузчиком.
Возможна ли будет загрузкаиз GRUB при UEFI системе загрузки на виндохарде — это уже другой вопрос.
Что запишет в /boot/grub/grub.cfg установленный Boot repair и поможет ли эта запись при uefi, не знаю. Возможно и поможет.
Но для опыта можно ещё попробовать вручную внести и подредактировать запись для запуска виндовс в grub.cfg с учётом конфигурации HDD и разделов на них на вашем ПК. Для исходника для редактирования могу предложить вам запись из моего grub.cfg для запуска вин7 на ноуте но она для HDD c MBR таблицей размещения разделов

#4 — 22 декабря 2014 в 13:07

Я предварительно разметил все диски в mbr (msdos) с помощью gparted. И снова установил windows 7 и linux. Теперь gparted ни на что не ругается, но сути это не поменяло. Команда update-grub не видит Винду.

Сделал по вашему вот этому шаблону:

#5 — 22 декабря 2014 в 14:13

iamroman,
1. я разве говорил что надо делать update-grub после прямой правки grub.cfg ?
Его не надо делать. Обычно update-grub полностью убивает ручную правку grub.cfg и мог полностью убрать виндовс из меню. Посмотрите руководство по настройке GRUB2 в инете.

2. Если запись которую вы сделали в grub.cfg осталась так как вы её внесли, может она останется и при последующих update-grub.
Однако вы неправильно внесли изменения применительно к вашему ПК.
Может быть ещё какие неточности есть, но то что вижу — вы оставили UUID моего виндового раздела.

UUID вашего виндового раздела можете узнать в выводе команды $ sudo blkid или в gparted (ПКМ по виндоразделу-Информация)
Если апдатинг груба не поменял запись , то ваш груб ищет мой виндораздел по его UUID на вашем компе , и вряд ли найдёт.

3. С EFI этим прям засада какаято. но в биос должно быть выключено уефи и секьюрити( типа — «выключаете UEFI для этого выбираете Security, далее в Secure Boot жмякаете на Disabled, потом выбираете Boot и в Boot Mode жмете на Legacy» )
Вывод $ sudo fdisk -l по виндоразделу можно увидеть?

#6 — 22 декабря 2014 в 14:45
1234567:
iamroman,
1. я разве говорил что надо делать update-grub после прямой правки grub.cfg ?
Его не надо делать. Обычно update-grub полностью убивает ручную правку grub.cfg и мог полностью убрать виндовс из меню. Посмотрите руководство по настройке GRUB2 в инете.

2. Если запись которую вы сделали в grub.cfg осталась так как вы её внесли, может она останется и при последующих update-grub.
Однако вы неправильно внесли изменения применительно к вашему ПК.
Может быть ещё какие неточности есть, но то что вижу — вы оставили UUID моего виндового раздела.

Показать скрытое содержимое


UUID вашего виндового раздела можете узнать в выводе команды $ sudo blkid или в gparted (ПКМ по виндоразделу-Информация)
Если апдатинг груба не поменял запись , то ваш груб ищет мой виндораздел по его UUID на вашем компе , и вряд ли найдёт.

3. С EFI этим прям засада какаято. но в биос должно быть выключено уефи и секьюрити( типа — «выключаете UEFI для этого выбираете Security, далее в Secure Boot жмякаете на Disabled, потом выбираете Boot и в Boot Mode жмете на Legacy» )
Вывод $ sudo fdisk -l по виндоразделу можно увидеть?

1. Я не редактировал grub.cfg, я редактировал /etc/grub.d/40_custom. Из этих файлов собирается grub.cfg при update-grub.

2. Я подставлял UUID своих разделов. В сообщении просто привел ваш код. Вставлял его без изменений, только подставлял свой UUID.

3. Этот UEFI меня уже доканал. В биосе есть опция, в которой есть выбор UEFI and Legacy, UEFI only, Legacy only. У меня стоит UEFI and Legacy. И в меню загрузки, когда это возможно, мне предлагается вариант загрузиться в режиме UEFI или в режиме Legacy. Когда я ставил Legacy only и пытался установить Linux Mint, то почему-то оно после самого первого меню (когда еще предлагается Start Linux Mint) был черный экран и все. Поэтому Linux Mint у меня установлен в UEFI режиме. А Винда НЕ в UEFI режиме, режим UEFI там даже не предлагался.

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

#7 — 22 декабря 2014 в 15:23

iamroman, по 1 — понятно. Принял повторённый вами код за показанное вами исправленное в вашем grub.cfg
по2 — вообще-то я дал именно строки какие есть в grub.cfg для запуска вин7 с первого раздела харда , и предлагал только попробовать на запуск , посмотреть запустится ли.
Посмотрел у себя в /etc/grub.d/ вин7 записан именно в 30_os-prober, а не в 40_custom и запись там совершенно другая. Впрочем это то что автоматически записалось.
кстати а, а в grub.cfg эта запись один в один с вами внесённой в 40_custom, или как либо модифицировалась?

И ещё . не пробовали в 40_custom , сделать вот такую запись , типа

menuentry «Windows 7» <
insmod ntfs
set root='(hd0,1)’
search —no-floppy —fs-uuid —set 1CFC7A8DFC7A60C6
chainloader +1
>

по3 — так понимаю что при установке вин7 она создала свой скрытый boot раздел. Виндоустановщик разве не спрашивал делать или нет отдельный boot?
я от создания такого раздела отказывался и ставил виндозагрузчик в один раздел с виндой. UUID какого виндораздела вы указывали sda1 или sda2? может другой надо было.

#8 — 22 декабря 2014 в 16:47

#9 — 22 декабря 2014 в 19:35
iamroman:
В системе 3 жестких диска
iamroman:
Вот вывод fdisk -l:
Код PHP:

Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000814a8

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 250066943 124930048 7 HPFS/NTFS/exFAT

Где же здесь три диска?
Покажите sudo blkid или sudo lsblk -fm

#10 — 22 декабря 2014 в 21:50

#11 — 23 декабря 2014 в 01:05

Всем спасибо за помощь.

В моем случае проблема была в том, что Linux был установлен в режиме UEFI, а Винда была установлена в режиме Legacy. Я часто встречал инфу, что нужно включить Legacy и больше никогда не вспоминать об UEFI и пробовал это делать, но флешка с Linux Mint почему-то в этом режиме не хотела загружаться, зато в UEFI грузилась как надо. А флешка с Виндой при этом была в версии для установки в Legacy.

Я установил Винду в режиме UEFI. Потом установил Линукс в режиме UEFI. И они автоматически увидели друг друга.

Grub не видит windows 10

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

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

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

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

Установи пакет с os-prober — это набор скриптов для grub, который нужен для обнаружения других установленных операционных систем.

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

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

при какой установке? из opensuse дерни — должно найти винду.

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

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

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