- Восстановление Grub2
- Восстановление Grub2 с помощью LiveCD
- Шаг 1. Загрузка LiveCD
- Шаг 2. Определение разделов
- Шаг 3. Монтирование файловой системы
- Шаг 4. Подготовка к входу в систему
- Шаг 5. Вход в окружение системы
- Шаг 6. Восстановление Grub2
- Шаг 7. Готово
- Восстановление Grub2 без LiveCD
- Восстановление в Boot Repair
- Выводы
- UEFI-загрузочная флешка с Live OS.
- Debian User Forums
- How to boot Debian Live ISO (USB) on UEFI systems
- How to boot Debian Live ISO (USB) on UEFI systems
Восстановление Grub2
Grub — это загрузчик, используемый для запуска системы в большинстве дистрибутивов Linux, в том числе и в Linux Mint. Повреждение загрузчика может быть вызвано различными причинами, например, установкой Windows, другого дистрибутива Linux или переразметкой диска, изменением размера и положения разделов на диске и так далее.
В случае с установкой другой системы, чтобы восстановить загрузчик Linux Mint нам понадобится LiveCD с любым Linux-дистрибутивом. Самая частая задача из этой категории — восстановление Grub после Windows. Если же ошибка возникла из-за работы с разделами или повреждения файловой системы и загрузчик загружается с сообщением Minimal BASH like line editing is supported — это значит что мы можем справиться и без LiveCD своими силами. Конечно, восстановление grub в linux mint с помощью LiveCD системы намного проще, но не всегда под руками есть нужный диск.
Восстановление Grub2 с помощью LiveCD
В этой статье мы рассмотрим, как выполняется восстановление Grub2 обоими способами. Начнем с более простого способа — с помощью LiveCD. Хотя и статья ориентирована на Linux Mint, но на самом деле подойдет абсолютно для любого дистрибутива, потому что во всех дистрибутивах загрузчик один и тот же, и команды такие же, только версии могут немного отличаться.
Начнем с того, что вам нужна LiveCD система, той же разрядности, что и ваша система Linux Mint, на которую был установлен Grub. Причем, неважно будет там графический интерфейс или нет. Обычно все необходимые инструменты поддерживаются всеми дистрибутивами. А нужны нам только утилиты fdisk, mount и chroot. Чтобы восстановить загрузчик grub2 просто следуйте описанным ниже шагам.
Шаг 1. Загрузка LiveCD
Сначала вставьте носитель с LiveCD системой в дисковод или порт USB, если это флешка. Для загрузки с носителя, возможно, вам сначала понадобится зайти в меню BIOS и выставить приоритет загрузки с внешнего устройства.
Для запуска BIOS нажмите Del, F2, F8 или Shift +F2. В открывшимся меню найдите раздел Boot, и в пункте Boot Device Priority или 1st Boot Device или Boot Option #1 выберите нужное устройство:
Дальше перейдите на вкладку Exit и выберите Exit & Save settings. Дальше начнется загрузка образа.
Шаг 2. Определение разделов
Перед тем как восстановить Grub2, нам нужно понять — на каком разделе установлена система, и на каком разделе были или должны быть файлы загрузчика. Самый простой способ это сделать — воспользоваться утилитой fdisk.
В выводе программы вы видите — разделы всех подключённых к компьютеру дисков, их размер, а также файловую систему. По этим данным вам и предстоит понять, какой раздел используется в качестве корня в вашей системе. Если вы делали разметку вручную, вам не составит труда понять где то, что нужно. Например, у меня корень — /dev/nvme0n1p5 — размером 37 гигабайт, а для загрузчика отдельный раздел не выделялся. Но обычно он тоже имеет файловую систему ext4 ил ext2, а размер до 500 мегабайт. В случае с обычным SSD или HDD диском имя раздела будет начинаться с /dev/sd*. Например: /dev/sda или /dev/sdb и так далее
Шаг 3. Монтирование файловой системы
Теперь вам предстоит смонтировать вашу корневую файловую систему в каталог /mnt:
Кроме того нужно смонтировать раздел boot. Например, если бы он у меня находился по адресу /dev/nvme0n1p1:
mount /dev/nvme0n1p1 /mnt/boot
Шаг 4. Подготовка к входу в систему
Чтобы восстановить загрузчик Linux мы будем использовать вашу основную систему Linux, запущенную на ядре от LiveCD. Такую возможность предоставляет команда chroot. Но перед тем, как ее использовать нужно вручную подключить к вашей корневой ФС, смонтированной в /mnt все необходимые файловые системы взаимодействия с ядром — /dev, /sys, /proc:
sudo mount —bind /dev /mnt/dev
sudo mount —bind /sys /mnt/sys
sudo mount —bind /proc /mnt/proc
Шаг 5. Вход в окружение системы
Для входа в окружение вашей системы используйте команду:
Первый параметр указывает папку, в которую была смонтирована корневая файловая система, а второй — оболочка, используемая для интерпретации команд пользователя.
Затем выполните эти команды для загрузки и обновления переменных профиля:
Теперь вы находитесь в Linux Mint, и можете выполнять почти все его программы, разумеется, недоступны сервисы, поскольку во время загрузки не использовалась система инициализации, а также как следствие, недоступно графическое окружение.
Шаг 6. Восстановление Grub2
Теперь восстановление Grub в Linux Mint. Просто выполните следующие команды. Первая, для переустановки загрузчика на жесткий диск:
Здесь /dev/sd* — имя вашего жесткого диска.
Теперь создадим новый конфигурационный файл:
sudo grub2-mkconfig -o /boot/grub/grub.cfg
Путь к конфигурационному файлу может немного отличаться, так что будьте внимательны.
Еще можно использовать команду:
Но она работает только в Ubuntu и основанных на ней дистрибутивах.
Шаг 7. Готово
Выйдите из окружения chroot командой:
И перезагрузите компьютер:
Восстановление Grub2 без LiveCD
В некоторых случаях повреждения Grub не вызывает полную невозможность загрузки. Например, когда загрузочный код в MBR цел, но программа не может получить доступ к файлам на диске. Тогда загрузчик открывает вместо меню некое подобие терминала с сообщением: Minimal BASH like line editing is supported. С помощью этого терминала мы можем попытаться загрузить систему. Восстановление grub2 без LiveCD не такая уж и сложная задача, хотя, это сложнее, чем первый способ.
Все что вам потребуется — это знать на каком устройстве расположена система и само ядро Linux. Синтаксис и команды очень похожи на обычные команды bash, но немного отличаются по назначению. В начальном режиме восстановления доступны только несколько команд это ls, insmod, set и unset.
Чтобы посмотреть список подключенных к компьютеру дисков просто выполните:
(hd2,msdos1, hd2,msdos2, hd2,msdos3, hd2,msdos4)
Важно отметить, что в grub диски и разделы именуются немного по другому. Здесь каждый жесткий диск имеет название hd и номер диска, например, hd0 или hd1. Разделы именуются начиная с единицы.
Вы можете работать только с одним разделом в определенный момент. Чтобы установить раздел, с которым нужно работать, нужно указать его в переменной root. Для установки переменных окружения используется команда set. Например, у если у меня файлы загрузчика grub находятся на /dev/sdc2, то получится hd2,2:
Загрузим нормальную оболочку grub:
insmod ext2
insmod normal
normal
После этого можно найти и запустить ядро. Для этого используйте команду linux. Обычно ядро находится папке /boot:
Теперь, когда система загрузится, вам останется только открыть терминал, и выполнить следующие команды, чтобы завершить восстановление загрузчика linux mint:
sudo grub2-mkconfig -o /boot/grub/grub.cfg
Где sd* — имя вашего диска, на котором установлена система. Обратите внимание, что нужно именно имя диска, а не раздела, никакие цифры добавлять не надо. Вот и все.
Восстановление в Boot Repair
Наверное самый простой способ восстановить загрузчик Grub — это использовать утилиту Boot Repair. Для её запуска вам понадобится LiveCD с Ubuntu или другим дистрибутивом. Сначала загрузитесь в Live среду, как описано в первом методе, затем добавьте PPA к системе:
sudo add-apt-repository -y ppa:yannubuntu/boot-repair
После этого установите утилиту:
sudo apt install boot-repair
Далее для восстановления загрузчика достаточно нажать кнопку Рекомендуемый способ восстановления:
Затем просто дождитесь завершения процесса восстановления:
После этого компьютер можно перезагружать и всё будет работать.
Выводы
Теперь восстановление загрузчика linux mint не вызовет у вас проблем в любых обстоятельствах, независимо от того, есть ли у вас диск с другим дистрибутивом или нет. Если остались вопросы, напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
UEFI-загрузочная флешка с Live OS.
Раньше если у меня был Live CD, то я клал его образ на флешку и настраивал GRUB чтобы загружать linux и initrd прямо из iso’шки. А сейчас понаставили всяких UEFI. Попытался создать флешку которая загружалась бы в режиме UEFI — облом. Решил проверить едут ли лыжи, хоть что-нибудь загрузить в режиме UEFI. Решил воспользоваться этой инструкцией. Скачал Ubuntu Gnome, создал на флешке GPT, единственный раздел с FAT32, скопировал туда все файлы из образа. Загружаюсь в режиме UEFI, на экране сообщение:
The system found unauthorized changes on the firmware,operating system or UEFI drivers.
Press [N] to run the next boot device,or enter directly to BIOS Setup if there are no other boot devices installed. Go to BIOS Setup > Advanced > Boot and change the current boot device into other secured boot devices.
ЧЯДНТ? Скопировать файлы на флешку недостаточно? На флешке должна быть GPT или MBR? Какой должен быть код у раздела? Нужно ли помимо создания раздела ещё ставить GRUB? Возможно ли создать загрузочную флешку которая загрузила бы, например, Ubuntu на большинстве новых ЭВМ (читай: вендовые писюки с UEFI из ближайшего Эльдорадо) без дополнительных настроек в «BIOS Setup», прописывания своих ключей и т.п. То есть воткнул и загузился.
Помощь ссылками на руководства по созданию UEFI-загрузочных флешек тоже приветствуется.
И ещё вопрос, можно ли создать флешку которая будет загрузочной и для машин с UEFI и для машин с процессорами архитектуры АMD64, но не UEFI?
Debian User Forums
How to boot Debian Live ISO (USB) on UEFI systems
How to boot Debian Live ISO (USB) on UEFI systems
#1 Post by jon_stone » 2016-02-21 23:06
As many are, I’m sure, aware, the Debian 8 live iso images (found here: https://www.debian.org/CD/live/) do not come pre-configured with the ability to boot in UEFI mode. Naturally, this can be a little frustrating for those of us with UEFI systems, like myself, so I have a short guide below that should be able to get any USB stick with Debian Live 8.3 ISO to boot in UEFI mode.
First note: There is another guide here on the Debian Forums for booting UEFI but which goes about it differently. That guide is here: http://forums.debian.net/viewtopic.php?f=16&t=124417. If, however, that guide doesn’t work for you (it didn’t work at all for me), feel free to try the steps below.
1) Download the Debian 8.3 Live ISO from the link above
2) Download the ISO for DVD 1 of the full «stable» release. That can be found here: https://www.debian.org/CD/http-ftp/ under the section «Official CD/DVD images of the «stable» release» and under the tab «DVD» in that section. (Or jump straight here for amd64 iso’s: http://cdimage.debian.org/debian-cd/8.3 . 4/iso-dvd/).
The file you’re looking for here is «debian-8.3.0-*ARCHITECTURE*-DVD-1.iso» where «*ARCHITECTURE*» is replaced by whatever processor architecture you need. For example, for amd64 it would be: «debian-8.3.0-amd64-DVD-1.iso»
3) Extract the live iso onto a USB stick as you would normally using software like Unetbootin, PenDriveLinux, or, if you are on Windows, Rufus (available here: https://rufus.akeo.ie/ ), which I think blows Unetbootin out of the water. Sorry guys, dd isn’t going to work here.
4) Mount the larger DVD-1 ISO and open it to explore.
5) From the newly mounted DVD-1 ISO, copy the folder called «boot» (with its contents) and paste it into your Live USB stick.
6) From the DVD-1 ISO, also copy the folder called «efi» (with its contents) and paste it into your Live USB stick.
7) Now, on your live USB stick, go to /boot/grub and open grub.cfg for editing.
8 ) In grub.cfg, RIGHT AFTER the lines:
insmod play play 480 440 1 set theme=/boot/grub/theme/1
menuentry 'Boot without intalling' < set background_color=black linux /live/vmlinuz vga=788 boot=live root=/dev/sda --- quiet initrd /live/initrd.img >
9) Make sure your USB stick (or, rather, the partition on it) has a boot-flag. Assuming your USB stick is mounted on /dev/sdb, you can do this with «sudo fdisk /dev/sdb» using the command «a».
For Windows users or new linux users: In Windows, you can do this step by marking the partition as active using DISKPART. First you will need to find and select the right partition and then use the command «active». (There is a short guide on that here: http://tinyempire.com/notes/ntldr/marki . active.htm)
This may seem like a strange step, but for me the stick wouldn’t work without it.
10) Reboot into the USB stick and select «Boot without installing» on the menu that comes up. It may take a few minutes, and it is going to look a bit messy as it boots (it usually brings me to a tty prompt for a few seconds) but it will get there eventually.
P.S. Concerning step 2 — I hate for everyone to have to download this big file, but I don’t know how I might upload somewhere just the relevant files from the large ISO here so they could just download those. If anyone else knows how to do that please feel free to do so and post the link to the files below.