Вместо bios открывается grub
У меня на домашнем компьютере стоит две операционные системы, Windows 7 и Linux (Arch). Причем вторая появилась относительно недавно. Да и особых знаний о новой (для меня) ОС не было. Тем не менее систему я поставил и даже относительно настроил под себя. Энтузиазм и программерское любопытство меня пересиливало, поэтому, в качестве ознакомления, стал экспериментировать с различного рода пакетами. К сожалению, не всегда вчитываясь в детали.
Решил я переставить Grub, а точнее обновиться до Grub2. (Слышал я такое мнение, что в духе Linux принято держать последнюю версию пакета… Про изменения Grub2 хорошо написано тут.)
Ну и как результат «спешной» установки — перестала грузиться система. Единственное за что можно было зацепиться — это приглашение командной строки:
По нажатию на Tab вываливается список возможных команд. Их существенно меньше чем в командной строке Linux, но их достаточно для загрузки системы. Почитав про grub тут я решил загрузить Windows, все-таки тут я пока себя чувствую увереннее. Для этого нужно было указать где находиться загрузчик ОС и передать ему управление:
grub> root (hd0,2) [Устанавливаем корневой раздел и монтируем. Тут главное помнить, на каком разделе стоит операционная система]
Запись (hd0,2) означает устройство диска номер 0 (мастер), раздел номер 2.
что соответствует устройству /dev/sda2 (в моем случае). У вас это может быть или /dev/hd2, или еще что-нибудь, в зависимости от дистрибутива. Нумерация устройств идет по-порядку и начинается с (hd0,1) или /dev/sda1.
Далее вводим:
grub> chainloader +1 [пробел перед "+" важен. сhainloader - передает управление загрузкой по цепочке другому загрузчику. В моем случае это был NTLDR]
grub> boot
NTLDR — это загрузчик Windows.
Система стала грузиться, а раз это дало результат — можно копаться дальше (все-таки не Windows теперь предмет изучений).
Перезагружаемся и вводим снова.
grub> root (hd0,6)
grub> linux /boot/vmlinuz26 root=/dev/sda6 [Загружает указанное linux-ядро (/boot/vmlinuz26) с параметрами(root=/dev/sda6)]
Тут стоит различать команду root (hd0,6) и параметр root=/dev/sda6. Первое монтирует раздел к среде выполнения. А второе указывает где находиться root загружаемой ОС. В моем случае ядро и корень оказались на одном разделе, хотя это может быть не так.
grub> initrd /boot/kernel26.img [Загружает указанный initrd-образ]
grub> boot
- для загрузки Windows вместо root (h d0,2) надо набирать rootnoverify (hd0,1). Нумерация устройств начинается с (hd0,0), а не (hd0,1). А командой rootnoverify вы устанавите корневое устройство, но не смонтируете его.
- для загрузки Linux поменяется другая команда: вместо linux вам понадобится команда kernel (полный аналог, даже параметры теже).
UPD: дописал про отличия загрузки с grub от grub2. Спасибо bliznezz
Я установил Windows 7, который съел загрузочный файл Ubuntu. При запуске компьютера он теперь переходит прямо в Windows, не предоставляя мне возможность загрузки Ubuntu.
Как вернуть Ubuntu?
Когда GRUB нарушен, пользователь обычно не имеет доступа к системам, поэтому ремонт должен выполняться из живого сеанса (live-CD или live-USB).
Существует много возможных причин к разрыву GRUB: запись в Windows на MBR, DRM, предотвращающая правильность установки GRUB, ошибка установщика, изменение аппаратного обеспечения . Обновление GRUB, предложенное первоначально Скоттом, как правило, недостаточно, переустановка GRUB, предложенная Marco, более эффективна, но все же существуют различные ситуации, требующие других настроек (добавление параметров в ядро, отображение меню GRUB, изменение параметров GRUB, выбор правильной архитектуры хоста . ). Другие трудности при ремонте GRUB - использование chroot и выбор правильных разделов /disks.
Все это было сделано легко в небольшом графическом инструменте: Boot-Repair. Он должен быть интегрирован в компакт-диск Ubuntu 12.04 для более удобного использования, но для людей, которым это нужно сейчас, уже есть некоторые дистрибутивы, интегрирующие его: Ubuntu-Secured-Remix (компакт-диск Ubuntu, интегрирующий Boot-Repair), Boot-Repair-Disk (с запуском компакт-диска -Repair при запуске), .
Надеюсь, это поможет.
Boot-Repair работал для меня. Это очень простое в использовании графическое приложение, вам не нужно использовать командную строку, вам нужно только нажать кнопку:)
Все доступные параметры ремонта описаны в документации Ubuntu, и есть отдельную страницу, объясняющую, как запустить Boot-Repair (создав загрузочный диск или установив его на существующий живой диск Ubuntu) и как его использовать.
Просто загрузите Live CD Ubuntu, установите Boot-Repair и запустите его.
Установщик Windows не заботится о других ОС в системе. Таким образом, он записывает собственный код поверх главной загрузочной записи. К счастью, решение тоже легко.
Вам необходимо восстановить MBR. Сделайте следующее
Загрузите с помощью live usb / cd ubuntu. Используйте boot-repair, чтобы устранить проблему.
После загрузки с помощью live usb / cd выполните следующую команду в терминале:
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update sudo apt-get install -y boot-repair && boot-repair
Используйте Recomended Repair.
В системах на базе EFI (таких как большинство систем, поставляемых с Windows 8 или новее) Windows иногда обновляет свой загрузчик или перезагружает его как загрузчик по умолчанию. Это особенно характерно при повторной установке ОС или выполнении основного системного обновления (например, обновление до последней версии Windows). Обратите внимание: Windows вряд ли удалит файлы GRUB на компьютере с EFI. Все необходимое для загрузки Ubuntu все еще на месте; это просто обойти. В этих случаях полная переустановка GRUB является излишней, и на самом деле она несет (небольшую) вероятность того, что она создаст новые проблемы.
Таким образом, вместо повторной установки GRUB в этих случаях, Я рекомендую сбросить GRUB (или какой-либо загрузчик или менеджер загрузок, которые вы предпочитаете) по умолчанию. Существует несколько способов сделать это, в том числе:
Существуют другие варианты этих процедур, такие как использование bcfg в оболочке EFI, используя bless в macOS, используя мой rEFInd для одноразовой загрузки и т. д. Я бы начал с EasyUEFI; это, скорее всего, самое простое решение. Иногда Windows настаивает на том, чтобы каждый раз при запуске устанавливать значение по умолчанию, а отчеты показывают, что bcdedit может лучше справляться с этой проблемой.
Обратите внимание, что ни одно из предыдущих не относится к BIOS -модельные установки; однако, поскольку большинство компьютеров, которые поставляются с загрузкой Windows 8 или более поздней версии в режиме EFI, установки в режиме BIOS становятся все более редкими, поэтому во многих случаях лучше решать проблему на пути EFI, а не слепо переустанавливать GRUB.
Всем привет! Установил на компьютер (не на свой, а на другой) поверх Windows 8 Ubuntu 12.04 LTS. При включении компьютера вместо меню grub'а с выбором линукса и винды отображается консоль grub'а. Выглядит она так:
Что мне делать? Как сделать нормальную менюшку? Как зайти в ОС?P.S. Что интересно, при команде ls / отображает только efi/. А при ls efi/ — ./../Microsoft/Boot/toshiba/ubuntu. WTF?
А grub в этой версии бубунты умеет UEFI? Возможно, дистр поновее надо. Ну или руками в инсталляторе выбрать версию grub с поддержкой UEFI(не знаю, возможно ли такое в бубунте, в дебиане такая возможность есть).
Спасибо за совет! Специально установил 12.10, потому что в 13.10 много косяков. Видимо придется переустанавливать.
P.S. Может, кто-нибудь что-нибудь другое напишет помимо этого?
Обнови только груб.
для этого нужно зайти с livecd, но как, если отображается лишь только консоль grub? В восьмой винде в биос зайти невозможно через del
Ура! Я смог наконец-то зайти через LiveCD! Что мне теперь писать в консоли линукса?
С этого момента команды выполняются внутри установленной системы. Я бы порекомендовал установить grub-efi, а затем
yurikoles ★★★ ( 19.02.14 02:40:59 )Последнее исправление: yurikoles 19.02.14 02:41:13 (всего исправлений: 1)
Я бы порекомендовал установить grub-efi[\quote] Я вас немножко не понял, как установить этот самый grub-efi? Или вы имели ввиду сделать то, что ниже этого текста?
Сделал всё по вашей инструкции (grub-efi через центр приложений установил), но всё тоже.
Быть может стоит переустановить Ubuntu? На более новую версию.
Как Вы зашли в liveSD?
А grub в этой версии бубунты умеет UEFI? Возможно, дистр поновее надо.
UEFI тут вероятнее всего не причём.
вот только конфиг и модули — не загрузились (возможно поменялся нормел раздела? раздел удалился? или ещё какая-то фигня произошла?).
в этой ситуации можно было бы прям из этого GRUB-Minimal-Shell:
Утсановил linux, надо поставить Windows. При загрузке в биосе с загрузочной флешки выкидывает в grub. Прошу о помощи.
Как Windows записывал? Если через dd, то ССЗБ, т.к. оно работать не будет.
Если он криво записал и загрузился с флешки, то запуск обычно просто зависает и не переходит на некст диск. Вполне возможно, что грузится он с диска.
Накати винду в виртуалку, туды ульраисо. Через нее накати образ на флешку. Тоже мандякался с десяткой при записи через линуксовые программы ни в какую не хочет стартовать.
Возможно, но я пробовал по-разному и разные iso
Я записываю с помощью woeusb.
оно Вам надо ? За последние 8 месяцев включал win 1 раз - постояные обновления которые отнимают тонны времени и потом по скорости win - уступает linux, знаю о чем говорю установлена двойная загрузка.
да, действительно надо. я обычно на windows, и линукс хотел просто попробовать. неудачно.
Подготовь флешку из винды тогда утилитой Микрософт, права администратора нужны будут. Не перепутай режим загрузки, если BIOS с UEFI. Раз уже проблемы, то могут ещё проблемы с разметкой, режимами и загрузчиками вылезти.
Дело в том что есть диск с Windows, но там ошибка при загрузке. И никакие даже portable версии с флешки не пускаются
Etcher не запишет Windows. А windows2usb запишет.
Тогда из линукса:
Для uefi загрузки можно просто распаковать iso на единственный раздел с fat32. Но для win7 надо еще переместить файлы загрузчика в путь по умолчанию, и сам загрузчик скопировать из boot.wim. Точных инструкций уже полно в интернете. Они, для windows, но ничего специфичного там нет.
Для старого метода загрузки надо распаковать на ntfs раздел, пометить его всякими boot и активными флагами. Раз флешку использовал для загрузки linux, то утилитой ms-sys добавить загрузчик. Инструкций полно.
Тогда уж лучше rufus использовать.
Rufus по умолчанию без поддержки uefi делает, вроде. И гибридная ещё не стабильна.
Если комп uefi - просто распаковывай содержимое образа в корень флешки, флешку в фат32.
Если не уефи - возьми WoeUSB.
Глаза даны человеку, чтобы видеть. Мозги даны человеку, чтобы понимать увиденное.
От чтения надписей в окне глаза не выпадут.
Ставь винду прямо из Linux
Где sdx раздел или носитель куда ставишь, посмотреть что есть можно чере blkid
Это я для случая установки винды рядом с линукс.
Deleted ( 20.07.18 16:51:46 )Последнее исправление: Deleted 20.07.18 16:52:35 (всего исправлений: 1)
это что получится, в раздел запишется дистр винды. и нафига.
Нет это означает что ты установишь винду на реальный диск так как если бы ты устанавливал её с DVD носителя. Ты же наверняка говоришь про запись образа винды через dd или вероятно спутал с этим действием то что я предлагаю. Но даже и это вариант, так как позволит записать установочный образ на диск и уже загрузившись с него установить затем стерев образ с носителя и расширив раздел, это правда уже с случае невозможности установки с оптического носителя, флеш накопителя и невозможности использования визуализации предложной мной выше, это удобно в ряде случаев, правда есть ньюанс, после окончания установки и предупреждения о перезагрузке нужно прервать виртуальную машину и продолжить установку уже перезагрузившись (она будет продолжена автоматически) если это не прошаманить оборудование бутет определенно не верно и машина настроится верно в 50 на 50 как повезёт короче.
как я понял. стоит биос, правильно?
похоже, что у тебя хд разбит в один раздел. виндоовый установщик читает загрузчик из мбр и . вуаля ) первое что сделай - отбей свободное пространство попд раздел на хд. запусти установку, установщик вин предложит создать раздел и форматнуть, что и сделай. установщик винды поставит в мбр свой загрузчик,и линь не будет грузиться. это предположение, скорее всего так, винда не терпит конкурентов. в этом случае нужно будет восстановить граб. как вариант, есть софтина под виндоус easybcd для редактирования меню загрузки. попробуй добавить выбор граба с 1 раздела.
удобней ставить линь после винды - граб видит загрузочный раздел в мбр и автоматом добавляет его в запись, даже если это BCD на втором диске на машине.
Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей 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, ее использование не вызовет трудностей.
Чтобы установить 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, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.
Читайте также: