- Пропала Windows из меню загрузки Grub Кали Линукс.
- Пропала Windows: возвращаем запись о Windows в Grub-загрузчик
- Ничего не получается…
- Статья Восстанавливаем GRUB в Kali Linux после обновления до Windows 10
- Ошибка grub не видит Windows 10
- Ошибка Grub не видит Windows 10
- Выводы
- GRUB2 не видит Windows РЕШЕНО
- 23 комментария
- Не загружается Linux, чиним загрузчик GRUB
- Что такое Grub
- От чего могут возникнуть проблемы
- Восстановление Grub с помощью LiveCD/USB
- Как создать LiveCD/USB
- С помощью Rufus:
- С помощью Etcher:
- Восстановление с помощью chroot
- Восстановление Grub в rescue mode
Пропала Windows из меню загрузки Grub Кали Линукс.
В статье описывается приём, с помощью которого можно вернуть запись об операционной системе Windows, когда после появления загрузчика Grub вы вдруг обнаруживаете, что пропала Windows из списка установленных систем.
Всем привет, короткое эссе на тему как вернуть пропавшую запись об установленной Windows в Grub-загрузчик Кали Линукс. Такая беда подстерегла меня после очередного обновления Кали, и после перезагрузки на экране в меню загрузчика я заметил, что в нём чего-то не хватает:
а где же windows?…
Речь, конечно же, не идёт о потере Windows и файлов, в ней содержащихся. Просто как и загрузчик Windows, Grub-загрузчик тоже может “потерять память”. Тем более, что мы имеем дело с такой недружелюбной сборкой Debian как Кали. Но ладно, специальных инструментов нам никаких не понадобится, просто загружаемся в Кали привычным порядком…
Пропала Windows: возвращаем запись о Windows в Grub-загрузчик
Откроем окно терминала и вводим команду (если вы не root-пользователь, не забудьте вводит все команды через sudo):
Линукс прошерстит конфигурацию загрузчика, и, если вы не столкнулись с куда более серьёзными проблемами, он обязательно обнаружит запись о Windows:
Теперь закрепляем обнаруженную запись в загрузчике командой:
Перезагружаемся. У меня всё стало на свои места:
Ничего не получается…
Пакет os-prober установлен, терминал ошибок не возвращает, однако запись о Windows всё не появляется. Давайте внесём запись о Windows в загрузчик вручную.
- Через терминал откроем документ текстовым редактором типа leafpad:
- Куда внесём строчки типа:
menuentry “Windows X” <
set root='(hd0,X)’
chainloader +1
где Windows X – имя системы так, как вы хотите её видеть (в принципе, можете написать что угодно)
hd0,X – диск и номер раздела, на которых Windows находится. 0 – единственный жёсткий диск (1 – второй, 2 – третий и т.д), Х – номер нужного раздела sda с Windows. Если вы не уверены в номере раздела, это легко установить, запустив, к примеру, gparted из терминала. Оттуда всё хорошо видно, где лежит Windows.
Статья Восстанавливаем GRUB в Kali Linux после обновления до Windows 10
Автор статьи: AndreyKravets, первоначально статья опубликована по адресу Відновлюємо GRUB в Kali Linux після оновлення Windows 10, другие статьи автора вы можете найти на сайте http://andrey.lviv.ua.
Привет всем! Недавно столкнулся с такой проблемой, как восстановление загрузчика GRUB на ноуте с двумя операционками – Windows 10 и Kali Linux. В интернете пришлось довольно долго искать необходимый мануал, поскольку с подобным мало кто сталкивается. В основном пишут о восстановлении GRUB в Ubuntu, а это не совсем подходит для Kali. Поэтому решил поделиться своим опытом – возможно кому-то пригодится.
Вообще-то две (а иногда и более) принципиально различных ОС на моих компьютерах уживаются уже несколько лет, ничего удивительного в этом нет. Главное сохранить правильную очередность при установке ОС. Сначала ставим винду, оставляя часть диска неразмеченным под Linux, а после уже устанавливаем и последнюю ОС. Загрузчик Linux-а при этом автоматически определяет, что установлена Windows или другая ОС и вам остается только выбирать при загрузке нужную систему.
Так было до последнего времени и на новом ноуте – стояла Windows 8.1 и Kali Linux. Все работало без проблем, пока не решил попробовать новую Windows 10 (инсайдер-версию) для теста. Ее установил на место старой 8.1 при этом хитрая форточка, как всегда, перезаписала загрузчик GRUB. Переустанавливать Kali Linux не хотелось, поскольку там было сделано достаточно много настроек и наработок. Поэтому пришлось искать другой выход.
Для восстановления загрузчика нам понадобится LiveCD версия линукс, установленная на оптический диск, или usb носитель. Загружаемся с нашего носителя в обычном режиме, открываем консоль. Если вы не помните на каком разделе у вас стоит Linux, следует сначала воспользоваться командой:
Далее можем выполнять следующие команды (обращайте внимание на каком разделе у вас стоит Linux, его и подставляете вместо sda1)
Все! Делаем reboot и наблюдаем знакомое меню выбора ОС. Если вдруг пункт Windows в нем отсутствует (что очень маловероятно), выполняем в консоли под root-ом еще одну команду:
должно помочь. Успехов вам!
MIRK
05.10.2015 в 18:40
Прошу помочь в таком вопросе, перерыл кучу всего в гугле, но там либо нечего нет, либо я не понимаю что и как, а вопрос собственно вот в чем при установки кали линукс с флешки вместо стандартной установки появляется консоль grub и все что делать далее я вообще не понимаю, прошу обратить внимание на то что до этого стояла кали я ее не правильно снес и хотел поставить эту сверху но не фига не получилось конечно же, поставил другой вообще винт который фиг знает как отфарматирован но раб 100% биос его видит и флешку тоже, что и как уставновить подскажите пожалуйста, аж самому интересно взять и сделать научиться как нужно))заранее спасибо)
DOCENT
05.10.2015 в 22:07
Я если честно запутался в этой истории ))) Поподробней, неспеша, с запятыми. Может чем подскажу.
ANDREY
15.11.2015 в 01:25
Здравствуйте,
Правильно ли я понял, что если у меня /boot отдельным разделом, то мне проделывать все эти операции там?
ANDREY
15.11.2015 в 02:01
Не хватило терпения дождаться) Попробовал проделать все с boot разделом – нет этих папок (dev, proc, sys)
Пробовал через раздел с Линуксом – grub2 не видит Кали, только Винда…
Вот мой список разделов:
SSD
/dev/sdb1 * Linux (/boot)
/dev/sdb2 Linux (основной)
HDD
/dev/sda1 Linux (swap)
/dev/sda2 Linux (/home)
/dev/sda3 * Windows
Как быть? Что делать?
ANDREY
15.11.2015 в 02:33
Сам спросил, сам отвечу.
Сначало смонтировал как советовал автор.
mount /dev/sdb2 /mnt
А потом отдельно папку boot
mount /dev/sdb1 /mnt/boot
Ну и соответственно grub инсталил на sdb
grub-install /dev/sdb
В конце при umount /mnt Система руганулась что папка занята. После ребута полёт нормальный.
Большое спасибо Автору статьи, она мне очень помогла.
РОМАН
25.11.2015 в 19:00
что делать если kali linux 2.0 не может распознать команду update-grub?
АЛЕКСАНДР
27.02.2016 в 14:00
у меня ноутбук asus k56cb. стоит widows 8.1, рядом поставил kali linux 2.0. Grub не появился, грузится только винда. Получилось сделать из этой статьи всё кроме последнего. У меня тоже не знает команды update-grub. Может в биосе что-то поменять, но я ничего не нашел
АЛЕКСАНДР
27.02.2016 в 15:32
а почему update-grub команду не распознает не знаете?
КОНСТАНТИН
07.03.2016 в 07:18
в ubuntu восстанавливал загрузчик без проблем, тут грузанулся с kali live cd пишу –bind и т.д. – а в ответ –bind command not found
как решить эту проблему? grub-install тоже самое пишет!
Ошибка 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 рекомендуется отключить эту технологию.
GRUB2 не видит Windows РЕШЕНО
Накатил утром свежий пакет обновлений для манжаро. Grub2 перестал видеть винду (win7x64), хотя еще 8 часов назад все было в порядке и полтора года до этого момента все было в порядке.
os-prober видит запись
Винда установлена на другом физическом диске. Как это исправить? Как скоро исправят данный баг?
За подсказки и помощь спасибо alexal9 и Agafron
Агафон вообще выручает часто, шикарный))
23 комментария
Как это исправить? — не знаю
Как скоро исправят данный баг? — не знаю.
И где брать тот же герыч что и у кодеров граба? — не скажу.
))))
Откатитесь на последний бекап. Это же не проблема.
P.S.
Бекап — это не проявление трусости.
И я не делаю.
Раз в неделю, вполне себе норм.
И хранить последние 3 версии.
Да, я можно сказать, москвич.
Общаюсь с вами с ноута 2008 года выпуска )))
Бекап бывает разный. Можно бекапить все, а можно выборочно.
Я бекаплю только систему, как раз на случай подобных сбоев и скрытые файлы хомяка. Из бекапа так же исключен кеш скачанных пакетов. В общем все занимает не особо много места на терабайтном HDD.
Это все конечно не отностится к вашему вопросу… Только дает тему для размышлений.
Timeshift аккуратненько скадывает все ему нужное в одну папочку, на любом, даже внешнем диске. Попробуйте с ним подружиться.
Прошу вас простить разработчиков. Не ошибается тот, кто ничего не делает. Я уверен, они все поправят. Может через несколько дней, а может недель.
Все же пользуясь роллинг релизом, нужно страховаться и самому.
я обычно ищу и спрашиваю в англоязычной среде
мой совет для ленивых, а граб все равно надо подправить, достаточно добавить одну строчку
а еще рекомендую ознакомиться с how-to от dimonmmk и станет проще.
Да и по сути это не баг, просто граб, видимо, раньше игнорил отсутствие данного пункта.
в вики все есть
Не загружается Linux, чиним загрузчик GRUB
Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей 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. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:
Открываем таблицу разделов с помощью команды:
Примерно такая таблица будет выведена на экран:
/dev/sda1 27 7683 66999082+ 83 Linux
/dev/sda2 * 8450 13995 45430855 7 HPFS/NTFS
/dev/sda3 11885 16574 6503497 5 Extended
По этой таблице мы видим, что Linux, в нашем случае, расположен на разделе /dev/sda1.
С помощью следующей команды мы смонтируем этот раздел в /mnt:
sudo mount /dev/sda1 /mnt
Теперь, для записи grub в MBR, нужно ввести следующую команду:
sudo grub-install —root-directory=/mnt /dev/sda
Если нужно только восстановить MBR диска (после переустановки Windows, к примеру), то этих действий будет вполне достаточно.
Если же необходимо обновить и меню grub (после установки Windows), то нужно выполнить еще и эту команду:
sudo update-grub —output=/mnt/boot/grub/grub.cfg
Вот и все, восстановление закончено!
Восстановление с помощью chroot
Помимо вышеописанного способа, при восстановлении Grub с помощью LiveCD можно использовать и этот. Тут мы будем использовать утилиту chroot.
Здесь нам, опять же, понадобится таблица разделов. Вводим уже известную команду:
В выводе снова будет эта таблица. Теперь нам надо присмотреться к ней еще внимательнее.
/dev/sda1 27 7683 66999082+ 83 Linux
/dev/sda2 * 8450 13995 45430855 7 HPFS/NTFS
/dev/sda3 11885 16574 6503497 5 Extended
В этом способе нам необходимо примонтировать системный, а также нескольких других важных разделов. Для этого вводим эти команды:
sudo mount /dev/sda1 /mnt
sudo mount —bind /dev /mnt/dev
sudo mount —bind /proc /mnt/proc
sudo mount —bind /sys /mnt/sys
Обратите внимание , что если если разделы /boot или /var находятся отдельно, то Вам нужно будет примонтировать их в /mnt/boot и /mnt/var.
Далее мы переходим в окружающую среду chroot с помощью команды:
sudo chroot /mnt
И теперь, наконец-таки переустанавливаем Grub с помощью следующей команды:
Если вы на этом этапе получаете какие-то сообщения об ошибках, то попробуйте использовать эти команды:
grub-install —recheck /dev/sda
grub-install —recheck —no-floppy /dev/sda
Если все прошло успешно, выходим из chroot, используя команду:
Далее нужно отмонтировать все разделы. Для этого вводим в терминал:
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt
В случае, если вы монтировали раздел /boot введите команду:
sudo umount /mnt/boot
Теперь перезагружаем систему с помощью:
Можно также обновить меню Grub, используя команду:
Восстановление Grub в rescue mode
Если по каким-то причинам у вас нет доступа к LiveCD/USB-носителю, а также к компьютеру, с помощью которого этот самый носитель можно было бы сделать, то этот способ для вас.
Само восстановление проходит таким образом: сначала мы подгружаем все модули, чтобы открыть доступ ко всей функциональной части Grub, после чего запуститься с нужного раздела. Надо понимать, что Grub состоит из двух частей:
Одна из этих частей (первая) записана в MBR диска. В ней присутствует базовый функционал и ничего больше (консоль в rescue mode).
Стало быть, нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), и после чего подгрузить все недостающие модули. А вот уже после этого мы сможем запустить загрузчик с нужного раздела. В rescue mode есть всего четыре команды:
Для начала вводим следующую команду:
В выводе будет что-то подобное:
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)
В некоторых случаях Grub неправильно опеределяет файловые системы находящиеся на разделах дисков. В данном примере загрузчик показывает их как msdos. Мы должны попытаться угадать диски, которые видим. В примере доступно два диска. Диск с индексом 0 содержащий три раздела, и диск с индексом 1 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.
В загрузчике Grub разделы нумеруются в обратном исчислении. Не очень ясно какой именно из разделов назван, к примеру (hd0,msdos3). Чтобы было более понятно, можно использовать вид (hd0,1). Если в грабе отсчет дисков идет с 0, а разделов с 1, то можно определить, что операционная система установлена в первый раздел первого раздела — (hd0,1). Используем следующую команду:
set prefix=(hd0,1)/boot/grub
set root=(hd0,1)
С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:
Если в выводе будет список файлов и папок, значит мы все сделали правильно. Теперь можно загрузить все необходимые модули. Для этого выполним команды:
insmod ext2
insmod normal
normal
После выполнения команд Grub загрузится в полнофункциональном режиме. Будут найдены все операционные системы, которые установлены на компьютере, после чего будет показано стандартное меню загрузки.
Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:
sdX — диск, на который должен быть установлен Grub.
Если операционная система расположена на разделе с файловой системой btrfs , то нам необходимо выполнить следующие команды:
set prefix=(hd0,1)/@/boot/grub
set root=(hd0,1)