Vvmebel.com

Новости с мира ПК
8 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Загрузчик не видит linux

Не загружается Linux, чиним загрузчик GRUB

Alexander Wayne

Read more posts by this author.

Alexander Wayne

Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей Linux-системой, причем не так важно какие были цели: изучение и познание новых возможностей или же какая-то более конкретная цель, в виде исправления той или иной ошибки. В любом случае, при работе с дистрибутивами Linux, для загрузки которых, в большинстве случаев, и используется Grub, с последним могут возникать неприятные проблемы, ввиду которых дальнейшая эксплуатация системы просто-напросто невозможна. В этой статье вы узнаете, что делать, если не загружается Linux. Как вести себя в подобной ситуации и какие действия производить, чтобы починить загрузчик Grub. Пожалуй, начнем.

Что такое Grub

Grub (или GRand Unified Bootloader) — загрузчик операционных систем с открытым исходным кодом. Распространяется он под лицензией GNU GPL, в полностью свободном виде. С помощью этого замечательного лоадера можно сделать много всего — основная же функция не ограничивается загрузкой лишь одной операционной системы. Вы можете иметь куда больше операционных систем на своем ПК, загружая любую из них с помощью Grub. На скриншоте выше вы можете видеть как примерно Grub выглядит. Кстати говоря, если вы захотите установить Ubuntu 18.04 рядом с Windows, вам определенно понадобится помощь Grub.

Grub используется в большинстве дистрибутивов Linux в качестве загрузчика по-умолчанию. Разумеется и с ним иногда возникают проблемы. Этим самые проблемы чреваты полным отказом операционной системы. Поэтому для починки Grub нам понадобятся дополнительные инструменты. Какие именно — узнаете далее.

От чего могут возникнуть проблемы

Одна из самых распространенных причин — это неправильный порядок установки двух операционных систем (Linux и Windows). Допустим, если вы захотите установить две этих операционных системы на свой ПК — вам непременно стоит знать правильную последовательность:

  • Сначала устанавливаем Windows
  • И только потом уже Linux

Если, например, сделать наоборот, то как раз-таки Grub будет поврежден; система будет грузиться напрямую в Windows, а дистрибутив Linux останется недоступным.

Grub может сломаться и по другим причинам. Например, из-за попыток ручного изменения параметров запуска (при недостатке опыта), в таком случае нужно будет либо вручную убирать лишнее, либо полностью переустанавливать Grub.

Восстановление Grub с помощью LiveCD/USB

Для этого способа нам понадобится флешка с дистрибутивом Linux на борту. Подойдет любой: от Ubuntu, Arch или даже Linux Mint. Здесь нужен только терминал, поэтому подойдет даже версия без графической оболочки.

Как создать LiveCD/USB

Само собой, нам понадобится носитель, на который мы временно (а может и нет) запишем систему. Сохраните все важные файлы, которые были на этом носителе, после чего (имеется ввиду на другом ПК, желательно под управлением Windows) запишите загруженный образ дистрибутива на носитель. В качестве примера мы будем использовать дистрибутив Ubuntu.

Идем на официальную страницу загрузки. Загружаем любую понравившуюся версию (лучше взять новейшую для десктопа), после чего записываем ее на USB/CD.

С помощью Rufus:

Последняя версия приложения доступна на официальном сайте. Сразу после загрузки и запуска/установки мы увидим такое окно:

Вставляем носитель, выбираем его в соответствующем меню. Далее выбираем нужную схему раздела и тип системного интерфейса, и после уже открываем файловый менеджер с помощью этой кнопки:

Находим загруженный образ через менеджер, после чего жмем «Старт».

С помощью Etcher:

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

Ну а теперь, собственно, можно переходить к восстановлению Grub. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:

Открываем таблицу разделов с помощью команды:

Примерно такая таблица будет выведена на экран:

По этой таблице мы видим, что Linux, в нашем случае, расположен на разделе /dev/sda1.

С помощью следующей команды мы смонтируем этот раздел в /mnt:

Теперь, для записи grub в MBR, нужно ввести следующую команду:

Если нужно только восстановить MBR диска (после переустановки Windows, к примеру), то этих действий будет вполне достаточно.

Если же необходимо обновить и меню grub (после установки Windows), то нужно выполнить еще и эту команду:

Вот и все, восстановление закончено!

Восстановление с помощью chroot

Помимо вышеописанного способа, при восстановлении Grub с помощью LiveCD можно использовать и этот. Тут мы будем использовать утилиту chroot.

Здесь нам, опять же, понадобится таблица разделов. Вводим уже известную команду:

В выводе снова будет эта таблица. Теперь нам надо присмотреться к ней еще внимательнее.

В этом способе нам необходимо примонтировать системный, а также нескольких других важных разделов. Для этого вводим эти команды:

Обратите внимание, что если если разделы /boot или /var находятся отдельно, то Вам нужно будет примонтировать их в /mnt/boot и /mnt/var.

Далее мы переходим в окружающую среду chroot с помощью команды:

И теперь, наконец-таки переустанавливаем Grub с помощью следующей команды:

Если вы на этом этапе получаете какие-то сообщения об ошибках, то попробуйте использовать эти команды:

Если все прошло успешно, выходим из chroot, используя команду:

Далее нужно отмонтировать все разделы. Для этого вводим в терминал:

В случае, если вы монтировали раздел /boot введите команду:

Теперь перезагружаем систему с помощью:

Можно также обновить меню Grub, используя команду:

Восстановление Grub в rescue mode

Если по каким-то причинам у вас нет доступа к LiveCD/USB-носителю, а также к компьютеру, с помощью которого этот самый носитель можно было бы сделать, то этот способ для вас.

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

Одна из этих частей (первая) записана в MBR диска. В ней присутствует базовый функционал и ничего больше (консоль в rescue mode).

Стало быть, нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), и после чего подгрузить все недостающие модули. А вот уже после этого мы сможем запустить загрузчик с нужного раздела. В rescue mode есть всего четыре команды:

Для начала вводим следующую команду:

В выводе будет что-то подобное:

В некоторых случаях Grub неправильно опеределяет файловые системы находящиеся на разделах дисков. В данном примере загрузчик показывает их как msdos. Мы должны попытаться угадать диски, которые видим. В примере доступно два диска. Диск с индексом 0 содержащий три раздела, и диск с индексом 1 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.

В загрузчике Grub разделы нумеруются в обратном исчислении. Не очень ясно какой именно из разделов назван, к примеру (hd0,msdos3). Чтобы было более понятно, можно использовать вид (hd0,1). Если в грабе отсчет дисков идет с 0, а разделов с 1, то можно определить, что операционная система установлена в первый раздел первого раздела — (hd0,1). Используем следующую команду:

С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:

Если в выводе будет список файлов и папок, значит мы все сделали правильно. Теперь можно загрузить все необходимые модули. Для этого выполним команды:

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

Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:

sdX — диск, на который должен быть установлен Grub.

Если операционная система расположена на разделе с файловой системой btrfs, то нам необходимо выполнить следующие команды:

И подгрузить модули:

Ну и теперь запустить GRUB:

Восстановление Grub с помощью утилиты Boot repair

С помощью этой замечательной утилиты вы сможете восстановить загрузчик всего в пару кликов. Как видно из скриншота, утилита имеет собственный GUI, ее использование не вызовет трудностей.

Читать еще:  Как создать текстовый файл в linux

Чтобы установить boot repair, вы можете воспользоваться одним из приведенных способов:

  • Запись и установка специального образа диска Boot Repair (и дальнейшая загрузка с него)
  • Установка Boot repair из PPA-репозитория в LiveCD/USB дистрибутиве.

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

В утилите будет доступно два варианта на выбор:

Recommended repair исправляет большую часть известных ошибок, которые могли бы возникнуть при запуске. С его помощью вы сможете пофиксить и загрузчик Grub.

Create a BootInfo summary создает Boot-Info-Script – скрипт, который позволяет диагностировать большинство проблем при загрузке.

Здесь же есть и Advanced options. Он включает в себя варианты для восстановления и настройки загрузчика Grub2 (загрузка по-умолчанию, опции загрузки ядра, отображение или скрытие GRUB при загрузке, удаление GRUB). С помощью этих же инструментов, вы можете восстановить MBR и т.д.

Вам обязательно стоит заглянуть на официальный сайт Boot Repair. Там вы сможете найти более подробную информацию обо всех возможностях и особенностях программы. Там же будет доступна информация о выходе новых версий: фиксах и улучшениях самой утилиты, а также многом и многом другом.

Выводы

Вот мы и рассмотрели несколько вариантов исправления загрузчика Grub. Стоит сказать, что некоторые из них могут показаться сложными или даже невыполнимыми. Это не так, каждый из рассмотренных способов нашел подтверждение в виде сотен и тысяч актов исправления загрузчика Grub в опенсорсном сообществе. Кстати говоря, какой из способов выбрать — решать только вам, любой из них достаточно эффективен, чтобы попасть в этот материал.

Возможно вас заинтересуют и другие похожие материалы про починку загрузчика Grub2. Например, в этом материале вы узнаете, как починить GRUB2 если Ubuntu не хочет загружаться. Там более подробно рассказывается, как фиксить груб с помощью утилиты Boot Repair, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.

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

В системе 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 жестких диска. На первом поставил 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]

и воспользоваться поиском в инете( включая поиск и по форуму) на предмет наличия тем по вопросам кривых 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 таблицей размещения разделов

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

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

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 по виндоразделу можно увидеть?

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

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

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

Читать еще:  Создать файл в linux

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:

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? может другой надо было.

Ошибка 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 рекомендуется отключить эту технологию.

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

В системе 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 жестких диска. На первом поставил 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]

Читать еще:  Сервер 1с на linux

и воспользоваться поиском в инете( включая поиск и по форуму) на предмет наличия тем по вопросам кривых 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 таблицей размещения разделов

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

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

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 по виндоразделу можно увидеть?

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

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

[/spoiler]
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:

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? может другой надо было.

Восстановление загрузчика Windows и Linux

Содержание

Эта инструкция поможет когда:

  • хотим удалить linux (любую ОС unix-подобную или нет) систему и оставить только Windows
  • после установки linux Windows не загружается
  • Windows перестал загружаться, даже будуче единственой ОС (вирусы, сбой жёсткого диска)

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

1) Загружаемся с установочного диска Windows

2) Выбираем востановление системы

3) Выбираем средство восстановления “коммандная строка”

Далее действия зависят от ОС

Восстановление загрузчика Windows XP

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

Восстановление загрузчика Windows 7, 8

Для Windows 7 выполняем команды

Параметр ScanOS (bootrec /scanos) покажет обнаруженные операционные системы. Если ничего не обнаружено, то fixboot и fixmbr не помогут.

  • Для восстановления системного раздела можно также использовать утилиты (загрузившись с live-CD/DVD/USB):
    • BCDboot[1] — выполняет инициализацию системного раздела с помощью файлов из образа операционной системы, установленной на томе С: опции /l и /s не обязательны, если загрузчик установлен на отдельный раздел (как происходит по умолчанию), то, как правило, этот загрузочный раздел вообще не имеет буквы, поэтому опция /s не нужна.
    • Bootsect[2]
  • Для просмотра разделов и их изменения можно использовать утилиту DiskPart[3]

загрузчик Grub 2

Эта инструкция поможет когда:

  • Переустанавливали Windows и кроме него был ещё linux, который стал невиден
  • Linux перестал загружаться, даже будучи единственной ОС

1) Загружаемся с LiveCD (LiveDVD, LiveUSB)

2) Смотрим таблицу разделов:

Ответ команды сокращён для наглядности. Видно, что в системе есть три диска. На двух первых есть загрузочные области и несколько разделов как Linux так и Windows (HPFS/NTFS). Нужно определиться какой из них будет восстанавливать (можно по очереди, отключив временно остальные диски). В случае с одним жёстким диском ситуация проще. Это будет /dev/sda

3) Монтируем Linux-раздел (здесь sda5, но если есть отдельный boot рездел, то нужно монтировать его), добавляем в него устройства и процессы, переходим в него, таким образом попадая в окружение ОС, которая установлена на компьютере:

После перехода вам не придется использовать sudo, т.к. теперь все команды выполняются от рута (root):

4) Устанавливаем загрузчик

Если получили сообщение об ошибке, то обновляем информацию об устройсве /dev/sda и пробуем установить снова:

5) Выходим в окружение LiveCD ОС, отмонтируем разделы и перезагружаем компьютер:

последняя команда может быть заменена на альтернативную:

Ссылка на основную публикацию
Adblock
detector