Vvmebel.com

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

Grub не видит linux

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

Проблема GRUB не видит windows 10

Артем Каретников

Member

  1. Boot again with the bootable USB drive.
  2. Open Terminal.
  3. In the command line, type the following string and press Enter after each:
    • sudo apt-get install syslinux
    • sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda
    • sudo apt-get install mbr
    • sudo install-mbr -i n -p D -t 0 /dev/sda
  4. Don’t forget to replace “sda” with the Windows 10 system drive.
  5. Reboot after that and Windows 10 should boot without any issues.

Артем Каретников

Member
  1. Boot again with the bootable USB drive.
  2. Open Terminal.
  3. In the command line, type the following string and press Enter after each:
    • sudo apt-get install syslinux
    • sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda
    • sudo apt-get install mbr
    • sudo install-mbr -i n -p D -t 0 /dev/sda
  4. Don’t forget to replace “sda” with the Windows 10 system drive.
  5. Reboot after that and Windows 10 should boot without any issues.

after “sda” write the number of the partition on which windows 10 is?

после «sda» писать номер раздела на котором стоит windows 10?

Артем Каретников

Member

Я проверил с помощью fdisk -l он под номером 4 следовательно писать 4?

  • sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda и
  • sudo install-mbr -i n -p D -t 0 /dev/sda надо вписать 4? Так?

  • sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda и
  • sudo install-mbr -i n -p D -t 0 /dev/sda надо вписать 4? Так?

Нет, ошибся.Или sda или sdb или как-то ещё. Если у тебя fdisk выдал sda, то оставляешь как есть

Читать еще:  Как оптимизировать телефон на андроиде

Вот ещё варианты восстановления

sudo apt-get install lilo
sudo lilo -M /dev/sda mbr

sudo apt-get install mbr
sudo install-mbr -i n -p D -t 0 /dev/sda

Артем Каретников

Member

centr

Это установка другого загрузчика, вы установите загрузчик lilo.

На форуме есть тема по восстановлению загрузчика grub, не ленитесь и поищите, там приведены исчерпывающие инструкции.

Grub не видит linux

10 фев 2017, 14:06

ВОССТАНОВЛЕНИЕ С ПОМОЩЬЮ LiveCD/USB

Запустите систему с LiveCD/USB и откройте терминал . Для этого

можно нажать Alt+F2 и ввести команду:

Далее необходимо узнать Вашу таблицу разделов. Используйте

На экран должна быть выведена примерно такая таблица:

/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended

Из таблицы видим, что Linux стоит (в нашем случае) на разделе

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

В случае, если нужно только восстановить MBR диска (например,

после переустановки Windows), то этого достаточно.

Если нужно обновить и меню grub (например, после установки

Windows), то нужно сделать:

ВОССТАНОВЛЕНИЕ ИСПОЛЬЗУЯ CHROOT

Запустите систему с LiveCD/USB и откройте терминал . Для этого

можно нажать Alt+F2 и ввести команду:

Далее необходимо узнать Вашу таблицу разделов. Используйте

На экран должна быть выведена примерно такая таблица:

/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended

Теперь нужно примонтировать Ваш Linux раздел (здесь это sda1) и

еще несколько важных директорий:

Если раздел /boot находится отдельно, то Вам необходимо

примонтировать его в /mnt/boot !

Теперь перейдем в окружающую среду chroot !

ВОССТАНОВЛЕНИЕ В RESCUE MODE

При отсутствии загрузочного диска, можно восстановить Grub из его

консоли. Восстановление происходит следующим образом: сначала

нужно подгрузить все модули, чтобы стала доступна вся

функциональность Grub, а затем уже запуститься с нужного раздела.

Как известно, Grub состоит из двух частей. Первая часть записана в MBR

диска. Она содержит базовую функциональность, то есть в ней есть

консоль в rescue mode и ничего больше. Вначале нужно определить, на

каком разделе находится вторая часть груба (она лежит в каталоге

/boot/grub), подгрузить недостающие модули. И только потом можно

будет дать команду запуска с нужного раздела. В rescue mode доступно

всего четыре команды:

В ответ она выведет, например, следующее:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

Иногда Grub может неправильно опеределить, какие файловые системы

находятся на разделах дисков. В данном случае определяет их как

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

данном случае видно два диска. Диск с индексом содержит три

раздела, диск с индексом 1 содержит два раздела. Зная структуру своих

дисков несложно определить нужный диск.

Grub называет разделы в обратном порядке . И становится непонятно,

что имеется в виду под (hd0,msdos3) — первый раздел или третий? Тут

можно выкрутиться, использовав синтаксис (hd0,1). Нужно помнить, что

в Grub счет дисков начинается с , а счет разделов — с 1. Предположим,

что Linux установлен на первый диск в первый раздел, то есть (hd0,1).

Этими командами мы указываем использовать диск (hd0,1) для

дальнейших команд. После чего нужно проверить, действительно ли на

этом разделе есть то, что нам нужно. Даем команду:

если в ответ получаем список всех файлов в этой директории, то диск и

раздел выбраны правильно. Подгружаем модули:

Проверьте правильность написания первой команды для файловых

систем ext3 и ext4

После чего Grub перейдёт в полнофункциональный режим. Он

автоматически найдет все операционки, которые можно подгружать, и

покажет своё Grub-меню.

Дальнейшее восстановление сводится к тому, чтобы загрузить нужный

нам Linux, и в нем от рута дать команду:

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

Информация любезно предоставлена пользователем avkP3

Восстановление GRUB

10 июн 2017, 14:15

Восстановление GRUB

10 июн 2017, 18:11

Восстановление GRUB

10 июн 2017, 18:16

Восстановление GRUB

10 июн 2017, 18:32

Восстановление GRUB

11 июн 2017, 13:22

Восстановление GRUB

11 июн 2017, 20:30

Восстановление GRUB

11 июн 2017, 20:55

Восстановление GRUB

11 июн 2017, 21:18

Восстановление GRUB

11 июн 2017, 21:40

ikrost , в случае запуска с LiveCD — да, будет жить в оперативке.
На рабочую систему ставиь не приходилось за ненадобностью, но как любая другая прога — расположится в /bin , /var , /usr , и т.д

можно глянуть внутрь деб-пакета — там все видно будет

Читать еще:  Как оптимизировать ssd

Восстановление GRUB

12 июн 2017, 09:47

Про статью не скажу (читал её «по диагонали»).

Для диска с разметкой MBR можно так (один из вариантов)

sudo mount /dev/sdaN /mnt — смонтировать корневую директорию
sudo grub-install —root-directory=/mnt /dev/sdХ — где Х, нужный жесткий диск

Для диска с разметкой GPT ( установка в UEFI режиме )

Восстановление GRUB

12 июн 2017, 23:10

Восстановление GRUB

12 янв 2018, 21:44

Dja , Попробовал все три варианта — ни один не помог.
То ли у меня случай был такой запущенный, то ли пакеты и команды для их использования обновились — не знаю.
Первый способ, как я понял лайтовый для простых случаев. Поэтому на него не особо-то и рассчитывал.
Во втором способе, на просторах интернета предлагают другие команды и их больше на три штуки. Впрочем, не сработал ни тот вариант ни этот.
В третьем способе затык на insmod ext2. не находит (хотя /boot отформатирован именно в ext2) и все дальше прохода нет.
Boot Repair упоминаемый в обсуждении продвинулся дальше всех — загрузил окно с выбором пользователя, но не принял пароля (ни пользователя, ни рута).

В результате, запустил установку с livecd с форматированием /swap, /boot и / , а /home просто подмонтировал без форматирования (хорошо, что при начальной разметке во времена оно я эти разделы выделил). Правда, пользователя старого оставлять не рискнул. Создал нового и уже под ним таскал/спасал документы из предыдущего пользователя. Вот уж не знаю насколько правильный сей способ с точки зрения опытных линуксоидов, но мне помог только такой вариант. Может еще кому поможет.

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

Читать еще:  Оптимизация производительности пк

Решение ошибок программы-загрузчика GRUB

Нередко возникает необходимость в установке двух принципиально разных операционных систем на один компьютер: Windows и Linux. Разумеется, подобное «соседство» будет связано с некоторыми неудобствами. Для установки, как правило, используют специальную программу GRUB. Но к сожалению, при её использовании можно столкнуться с рядом ошибок. В этой статье разберёмся с тем, как исправить ошибки загрузчика GRUB. Давайте же начнём. Поехали!

Для начала давайте определимся с тем, что из себя представляет эта программа. GRUB — представляет собой системный загрузчик, устанавливающийся непосредственно с Линукса и записывающий все данные на первый раздел диска (MBR).

Сам rescue mode является отличительной чертой GRUB 2 от его предыдущей версии. Этот режим запускается, если программе-загрузчику не удалось найти файл «grub.cfg» либо не удалось передать управление в kernel (ядро). В итоге не удаётся найти загрузочные файлы и запустить операционную систему. Именно тогда и возникает ошибка.

Следуйте инструкциям ниже, чтобы узнать, как решить проблему с GRUB

Способ 1

Что делать в случае ошибки unknown filesystem grub-rescue? Перед вами окно, в котором можно использовать только 4 команды, их вполне достаточно, чтобы исправить все проблемы и успешно загрузиться:

  • ls — позволяет вывести всё содержимое;
  • set — применяется для установки переменных;
  • unset — очищает переменную;
  • insmod — необходима для загрузки модулей.

Также можно сделать доступным ряд других команд. Сделать их доступными можно, загрузив модуль «normal». Для этого пропишите:

После этого станут доступны:

  • dump — для очистки памяти;
  • exit — команда выхода из загрузчика;
  • chainloader — необходима, чтобы указать последующей команде boot передать управление цепочечному загрузчику;
  • kfreebsd — несколько команд, позволяющих загрузить ядро FreeBSD, его модули;
  • rmmod — позволяет выгрузить указанный модуль ядра;
  • multiboot.

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

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

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

Из этого можно сделать вывод, что загрузчик не может определить файловые системы дисков, поэтому определяет их как msdos. Теперь необходимо угадать видимые диски. В конкретном примере перед вами два диска: hd0 (с тремя разделами) и hd1 (с двумя разделами). Допустим, вы знаете, что Linux инсталлирован на диск, который имеет три раздела. В таком случае вам нужен диск с индексом «0».

GRUB даёт названия разделам в обратном порядке. В связи с этим, неясно как трактовать запись: «(hd0,msdos3)». Ведь можно посчитать это как первым разделом, так и третьим. К счастью, из этой ситуации можно выйти при помощи такого синтаксиса команды: «(hd0,1)». Обратите внимание, что в программе-загрузчике GRUB отсчёт дисков идёт с 0, а разделов с 1.

Допустим, что Линукс хранится в первом разделе, тогда он будет обозначаться (hd0,1). В этом случае команда, которую необходимо прописать, будет иметь вид:

set prefix=(hd0,1)/boot/grub
set root=(hd0,1)

Теперь модули могут быть загружены. Использовать их можно только после загрузки.

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

В результате выполнения на экране появится список md файлов.

insmod ext2
insmod normal
normal

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

Теперь остаётся загрузить Linux. Делается это при помощи команды:

Способ 2

Всё сильно упрощается, если использовать Live CD – загрузочный диск с системой Linux. Он может быть записан на флешке, на внешнем винчестере или на обычном диске – это неважно, главное, чтобы с него можно было загрузить компьютер.

После загрузки Linux стандартным способом устанавливается бесплатная утилита Boot Repair. Она предназначена именно для устранения ошибок загрузки с помощью загрузчика Grub и очень проста в использовании – достаточно кликнуть по кнопке.

Заметим, что иметь Live CD для линуксоида всегда полезно и даже необходимо. Это зачастую избавляет от множества проблем, так как позволяет загрузить полноценную систему с внешнего носителя и использовать весь её инструментарий. Скачать такой диск с любой версией Linux не представляет сложностей, в комплекте обычно идёт инструкция по записи его на флешку.

После выполнения всех этих действий ошибка будет устранена. Пишите в комментариях была ли полезна для вас эта статья и задавайте любые интересующие вопросы по рассмотренной теме.

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