Skip grub install linux mint

Не загружается 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. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Поиск пакетов для linux

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

Обратите внимание, что если если разделы /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 в опенсорсном сообществе. Кстати говоря, какой из способов выбрать — решать только вам, любой из них достаточно эффективен, чтобы попасть в этот материал.

Читайте также:  Как regbnm windows 10

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

Источник

How to Reinstall Grub When Ubuntu or Linux Mint Won’t Boot

Grub 2, the Ubuntu and Linux Mint’s default bootloader typically gets overridden when you install Windows as a dual-boot OS. To make Ubuntu and its derivatives boot again, you need to reinstall (repair/restore) Grub using a bootable Ubuntu/LinuxMint CD or USB.

Typically you’ll get the following error boot screen:

  • Reinstall Grub 2 when Ubuntu or Linux Mint won’t boot
  • Enjoy!

To get started, insert your Ubuntu USB into computer and boot up. When you’re in, follow the steps below to reinstall grub 2:

1. Open Gparted Partition Editor from Unity Dash to check out which partition your Ubuntu/Linux Mint system installed. It is usually a EXT4 Partition.

In my case, there’re 3 Ext4 partitions. We can check the user names on each partition after step 2 by command cd /mnt/ && ls home/

gparted partition editor

2. Press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command below to mount the partition:

3. Now reinstall Grub2 via command below:

If the installation is successful, you will get the similar output:

4. Finally update grub boot loader and done!

Share this:

I’m a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via [email protected]

20 responses to How to Reinstall Grub When Ubuntu or Linux Mint Won’t Boot

When I type in “sudo mount /dev/sda7 /mnt” it says

unshare failed: Operation not permitted
grub-probe: error: failed to get canonical path of /cow.
mkdir: cannot create directory ‘/mnt/boot/grub/i386-pc’ : Permission denied

What should I do?

Run the command below to get super user privilege:

Then run previous command without sudo:

Make sure “/dev/sda7” is the broken Ubuntu partition

Thanks for the reply.
Got the second command to work but then when I try the third

# grub-install –root-directory=/mnt /dev/sda
grub-probe: error: failed to get canonical path of /cow.
Path `/mnt/boot/grub’ is not readable by GRUB on boot. Installation is impossible. Aborting.

This might be more helpful

$ sudo mount /dev/sda2 /mnt
[email protected]

$ grub-install –root-directory=/mnt /dev/sda
unshare failed: Operation not permitted
grub-probe: error: failed to get canonical path of /cow.
rm: cannot remove ‘/mnt/boot/grub/i386-pc/915resolution.mod’: Permission denied
[email protected]

# grub-install –root-directory=/mnt /dev/sda
grub-probe: error: failed to get canonical path of /cow.
/usr/sbin/grub-bios-setup: warning: this GPT partition label contains no BIOS Boot Partition; embedding won’t be possible.
/usr/sbin/grub-bios-setup: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub-bios-setup: error: will not proceed with blocklists.
mint

I’m having exactly the same issue. Did you find any solution?
I believe the reason why that does not work for us is because we are not using MBR but UEFI boot. Is that correct?

No solution yet Ill let you know
I was reading around and I read a lot about the MBR and UEIF boots but could not find the option in the boot menu. I think sometimes UEIF is called “legacy” or something close incase you have that option.

Hi Diego & Jake, i’d the same error by reinstalling grub2. I followed the guid here: http://community.linuxmint.com/tutorial/view/245
but i got also the message: grub2 failed to get canonical path
and a message that the installation was successfully finished (?) a reboot later – it wasn’t -.-
My PC has 2 SATA drives, SATA1 for windows SATA2 for Linux Mint, here is also the additional /boot partition. Anyway: i found the solution by using boot-repair. This program detects linux, where the bootloader is and install grub2 again.
The steps are described here: https://help.ubuntu.com/community/Boot-Repair
I booted the LM 14 Live DVD and installed boot-repair via terminal. After the reboot the problem was solved 🙂 but another steps up 🙁 Windows XP won’t boot anymore “hal.dll is missing”. The solution here was a reboot into the recovery console and let run the “chkdsk /r” – everything was fine. I finally edited under LM the boot.ini.A entry below [operation systems] has pointed to a wrong partition. If you’re not sure where the correct location is, but you know it’s e.g. the 1. disk in your system, just copy and paste the entry below [operation systems] e.g. 4times (4 partitions) and increase / decrease the last number e.g.
multi(0)disk(0)rdisk(0)partition(1)\winnt = “Windows NT-1” /NODEBUG C:\ = “Previous Operating System on C:\”
multi(0)disk(0)rdisk(0)partition(2)\winnt = “Windows NT-2” /NODEBUG C:\ = “Previous Operating System on C:\”
multi(0)disk(0)rdisk(0)partition(3)\winnt = “Windows NT-3” /NODEBUG C:\ = “Previous Operating System on C:\”
multi(0)disk(0)rdisk(0)partition(4)\winnt = “Windows NT-4” /NODEBUG C:\ = “Previous Operating System on C:\”

Читайте также:  Windows 10 pro x64 активация key

Try out which entry let you start your OS and get a beer or wine 🙂

Realizing this is a 1.5 year-old post.

I also had a problem with “failed to get canonical path of /cow” errors. But, after hunting around, finding a partial solution at community(dot)linuxmint(dot)com, and piecing it together with another piece of information successfully led to using Mint LiveCD to reinstall grub2.

I posted a tutorial ‘How to Reinstall grub2 Using Mint LiveCD!’ https://community.linuxmint.com/tutorial/view/2283

hi, i tried booting with a live dvd (and also tried it with a usb) but it won’t. It just goes straight to Grub rescue and it does not allow me to change my boot preferences (tried pressing F9 and F12 but nothing changes,it just goes straight to grub rescue)

Some CPUs/Laps is ESC, F2, F10 or SUP it depends on the computer.. check your manual or enter in the BIOS to change the default option to boot

i am really realy needing help with my laptop its a dell inspiron N5030 it will not boot or open windows and its saying no such partition grub rescue

Everything worked for me until the sudo update-grub command returned the error “grub-probe: error: failed to get canonical path of /cow.” I was able to boot into Linux Mint, and from a root terminal run grub-update sucessfully. I hope that this can help someone.

Thanks for the guide. Unfortunately, what’s lacking is (an explanation of) how you chose partition /dev/sda7 out of the 3 EXT4 partitions found. What did you do that led you to conclude this right? Does it have to be the /boot partition. Since sda6 has a ‘/’ mount point, I was thinking this would be where to install grub (if we’re not looking for the /boot partition). Please help with that. Thanks.

you can check the content /etc/issue of these partitions to see which distribution is installed on it.

This worked for Lubuntu 14.04 too. Cheers.
Though I had to ID the partition in Disk Manager and needed to add a ‘sudo’ to the grub install command. Thanks. You’re a superstar.

The grub-install didn’t work for me. i got:

grub-install: error: cannot open directory `/mnt/boot/grub/i386-pc’: No such file or directory.

type grub to make sure grub is available; else install it by typing
sudo apt-get install grub.

I found a stupid/simple fix to the /cow problem:
In a root shell (“sudo su”), do this:
dd if=/dev/zero of=/cowfile bs=1024 count=1024
mkfs.fat /cowfile
mv /cowfile /cow

This creates a 1MB file with a FAT filesystem in it, and moves it to /cow, which is the “fake” path that grub-mkconfig can’t find. With it in place, /cow looks like an empty FAT partition to grub-mkconfig, and will be quietly ignored.

I used this command here, please see below command and let me know the solution i am not able to boot my system. I used only ubuntu 14.04 single boot.

$ sudo -i
[email protected] :

# grub-install –root-directory=/mnt /dev/sda1
Installing for i386-pc platform.
grub-install: warning: File system `ext2′ doesn’t support embedding.
grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.

Hey I wanted to say that I got a problem when I try “sudo update-grub”
this is the error I got “/usr/sbin/grub-probe: error: failed to get canonical path of `/cow’.”
then i tried “apt install grub”
and got this error “Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
grub : Depends: libc6-i386 (>= 2.15) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.”
plz help. im fairly new to this linux stuff

Источник

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