Чтобы установить загрузчик GRUB в систему с разделами GPT для BIOS, необходимо сначала подготовить Live USB или CD с дистрибутивом Linux. Загрузившись с этого носителя, необходимо открыть терминал и смонтировать корневую файловую систему вашего установленного дистрибутива, а также другие необходимые разделы, такие как /boot и /efi, если они используются.
После этого можно использовать команду `grub-install` с указанием целевого диска, например, `grub-install /dev/sda`, чтобы установить загрузчик. Завершив установку, обновите конфигурацию GRUB с помощью команды `update-grub`, что позволит загрузчику корректно обнаружить все операционные системы на диске. После этих шагов вы сможете перезагрузить систему и выбрать нужную ОС при загрузке.
Восстановление пропавших разделов в Linux
При использовании гипервизора Proxmox для запуска виртуальной машины выяснилось, что отсутствуют все разделы. Причины этого явления остаются неясными, но в результате мы имеем виртуальную машину Ubuntu, которая не может загрузиться из-за нехватки разделов. Отсутствие разделов стало известно только после загрузки с LiveCD и выполнения команды fdisk -l.
Теперь давайте займемся восстановлением утраченных разделов. Операционная система здесь не играет значительной роли. Методики восстановления подходят для любой Linux-системы с загрузчиком Grub.
Алгоритм восстановления утраченных разделов в Linux как на физическом компьютере, так и на виртуальной машине будет идентичен.
В современных дистрибутивах Linux используется только 2 способа загрузки:
- установка загрузчика GRUB в GPT с использованием BIOS ;
- установка загрузчика GRUB в GPT с использованием UEFI .
Оба этих метода применимы исключительно к структуре разделов GPT. MBR в настоящее время не применяется. В первом варианте GRUB взаимодействует с устройствами посредством BIOS (слегка устаревший подход). Во втором варианте GRUB работает с устройствами через специальный интерфейс EFI, обходя BIOS.
В моем случае был способ №1. Узнал я это только после того как временно восстановил систему из старого бэкапа.
Общие принципы
В обоих случаях нам потребуется загрузить дистрибутив Ubuntu LiveCD, будь то серверная или десктопная версия. С его помощью мы сможем восстановить утраченные разделы в Linux. Можно выбрать и другой дистрибутив, однако в данной статье мы работаем именно с этим.
Если разделы исчезли не по вашей вине (вы их не удаляли и не форматировали), и на жестком диске, где находится образ виртуальной машины, отсутствуют BAD-блоки или другие дефекты, то вероятность успешного решения данной проблемы весьма высока.
Для проверки жесткого диска на наличие физических неисправностей можно воспользоваться любой специализированной программой. Например, можно запустить утилиту Victoria в режиме только для чтения.
Восстанавливаем структуру ФС
При запуске команды fdisk -l мы не видим ни одного раздела. Если мы создадим разделы на диске точь в точь как это было ранее, то ОС запустится. В моем случае был старый бэкап, который я восстановил и увидел как была размечена файловая система. Примерно так:
. Устройство Начало Конец Секторы Размер Тип /dev/sda1 2048 4095 2048 1M Запуск BIOS /dev/sda2 4096 830078125 830074030 395.8G Файловая система Linux
Здесь можно увидеть, что используется GPT. Первый раздел имеет размер 1 Мб и помечен как bios_boot. В этом случае загрузчик устанавливается физически во второй раздел в директорию /boot/.
Сохраняем все значения и вручную восстанавливаем разметку дисков. Важно при этом не форматировать разделы.
Если точных данных у вас нет и Вы только примерно представляете структуру (сначала sda1 с BIOS boot, а потом sda2 с основным разделом системы), то размечаете первый раздел как на листинге выше. Это сработает, так как этот раздел создается автоматически при установке ОС с одинаковыми параметрами.
Файловая система EXT 3/4 организована таким образом, что даже если создать один раздел, который будет начинаться с первого и доходить до конца второго, вы сможете просмотреть его содержимое. Хотя восстановить загрузку не представляется возможным, доступ к данным получить все же получится.
Установка загрузчика GRUB в GPT через BIOS
При этом варианте загрузки необходимо иметь первый раздел /dev/sda1 размером 1Mb с флагом bios_grub. Этот раздел должен быть обязательно первым.
Создаем первый раздел:
sudo gdisk /dev/sda GPT fdisk (gdisk) версия 1.0.1 Сканирование таблицы разделов: MBR: защитный BSD: отсутствует APM: отсутствует GPT: присутствует Обнаружена действительная GPT с защитным MBR; используется GPT. Команда (? для справки): n Номер раздела (1-128, по умолчанию 1): 1 Первый сектор (34-167770000, по умолчанию = 2048) или размер: 2048 Последний сектор (239616-167770000, по умолчанию = 167770000) или размер: +1Mb Шестнадцатеричный код или GUID (L для отображения кодов, Enter = 8300): EF02 Тип раздела изменён на ‘Раздел BIOS для загрузки’ Команда (? для справки): w
Таким образом, первый раздел восстановлен. Далее второй:
GPT fdisk (gdisk) версия 1.0.1 Сканирование таблицы разделов: MBR: защитный BSD: отсутствует APM: отсутствует GPT: присутствует Найдена действительная GPT с защитным MBR; используется GPT. Команда (? для помощи): n Номер раздела (2-128, по умолчанию 2): 2 Первый сектор (4096-167770000, по умолчанию = 4096) или размер: 4096 Последний сектор (239616-167770000, по умолчанию = 167770000) или размер: 830078125 Шестнадцатеричный код или GUID (L для отображения кодов, Enter = 8300): 8300 Команда (? для помощи): w
Если не знаете чему должен быть равен Last sector, то оставляете значение по умолчанию.
Если у вас уже были известны точные размеры разделов (как это было у меня), то при следующем запуске система загрузится. В случае, если ОС не запускается, потребуется переустановка загрузчика GRUB.
Для этого устанавливаем дополнительный пакет:
sudo apt install grub2-common
После этого осуществляем установку загрузчика:
sudo mount —bind /dev /mnt/dev sudo chroot /mnt
В данном этапе мы подключаем все необходимые директории и устанавливаем GRUB с помощью chroot.
После перезагрузки система запустится.
Установка загрузчика GRUB в GPT через UEFI
При использовании EFI для загрузки Linux процесс восстановления аналогичен предыдущему варианту. Существует несколько особенностей: выделенный раздел должен составлять 100 Мб и быть отформатирован в FAT32 с установленным флагом esp. Этот раздел может быть размещен последним, последовательность не имеет значения. Обычно EFI является первым разделом.
Именно в этом случае важно знать первоначальную разметку диска до аварии.
sudo gdisk /dev/sda Версия GPT fdisk (gdisk) 1.0.1 Сканирование таблицы разделов: MBR: защитный BSD: отсутствует APM: отсутствует GPT: присутствует Найдена подходящая GPT с защитным MBR; используется GPT. Команда (? для справки): n Номер раздела (1-128, по умолчанию 1): 1 Первый сектор (34-167770000, по умолчанию = 2048) или размер: 2048 Последний сектор (239616-167770000, по умолчанию = 167770000) или размер: +100Mb Шестнадцатеричный код или GUID (L для отображения кодов, Enter = 8300): EF00 Изменён тип раздела на ‘ESP раздел’ Команда (? для справки): w
Приступаем к восстановлению второго раздела:
GPT fdisk (gdisk) версия 1.0.1 Сканирование таблицы разделов: MBR: защитный BSD: отсутствует APM: отсутствует GPT: присутствует Обнаружен действительный GPT с защитным MBR; используется GPT. Команда (? для помощи): n Номер раздела (2-128, по умолчанию 2): 2 Первый сектор (104448-167770000, по умолчанию = 104448) или размер: 104448 Последний сектор (239616-167770000, по умолчанию = 167770000) или размер: 830078125 Шестнадцатеричный код или GUID (L для отображения кодов, Enter = 8300): 8300 Команда (? для помощи): w
Теперь необходимо установить загрузчик GRUB в раздел EFI. Для этого требуется установить необходимые пакеты:
sudo apt install grub-efi efibootmgr
И далее устанавливаем сам загрузчик:
sudo mount —bind /dev/sda1 /mnt/boot sudo mount —bind /proc /mnt/proc sudo grub-install /dev/sda
На самом деле, эти два метода имеют минимальные различия, касающиеся только размеров разделов и флага. В каждом из случаев мы создаём заново загрузочный раздел, а на оставшемся свободном пространстве формируем раздел Ext4. Если необходимо восстановить данные, они должны быть уже доступны на этом разделе. Для восстановления загрузки операционной системы нам потребуется переустановить загрузчик.
Восстановление GRUB
Причины, по которым может понадобится восстановить GRUB, могут быть разными.
Часто возникает необходимость восстановить GRUB после установки Windows. Если у вас был установлен Linux и вы добавили Windows на соседний раздел или диск, при перезагрузке системы загрузится Windows, словно Linux исчез. Загрузчик GRUB может даже не появиться. Похожие ситуации могут возникать и при обновлении уже установленной версии Windows.
Восстановление GRUB может понадобиться после установки Linux, если был неправильно выбран раздел для установки загрузчика.
Во всех случаях нужно выполнить восстановление загрузчика GRUB. Существуют разные способы восстановления. В данном руководстве рассматривается процесс использованием загрузочного Live-образа Linux. Загрузившись в Live-систему вам нужно будет ввести несколько команд, чтобы выполнить восстановление. Рассматривается способ восстановления без использования сторонних программ.
Кроме того, существует различие в процессе восстановления для систем, использующих BIOS и UEFI. Способ, приведенный ниже, охватывает оба варианта. Я проверял его на машинах с классическим BIOS и с UEFI.
Подготовка
Для восстановления GRUB потребуется загрузочный диск или флешка с дистрибутивом Linux. Если у вас его нет, то нужно скачать образ с дистрибутивом. Например, можно скачать ISO образ Ubuntu.
Чтобы сделать загрузочную флешку, можно использовать программу Etcher. Это приложение совместимо с операционными системами Linux, Windows и MacOS. Полная инструкция: Как создать загрузочную флешку.
Загрузка в Live-режиме
Теперь необходимо загрузиться с подготовленного диска или USB-накопителя.
Чтобы это сделать сначала нужно в BIOS выбрать приоритет загрузки с CD/DVD или с USB (если вы используете флешку).
На современных ПК с BIOS или UEFI для доступа в BIOS необходимо при старте системы удерживать определённую клавишу. Эта клавиша может варьироваться в зависимости от производителя. Чаще всего используются: F2, Del, F10, Esc, F11 или F3.
На старых компьютерах, где используется классический BIOS, чтобы войти в BIOS нужно при загрузке компьютера, в самом начале, когда появляется логотип материнской платы, нажать специальную клавишу. Для разных материнских плат клавиша может быть разной. Обычно это одна из клавиш: Del , F1 , F2 , F8 , F10 или какая-нибудь другая, или даже сочетание клавиш. Подробности: Настройка BIOS для загрузки с CD/DVD-диска или с USB-носителя
Открываем терминал
Теперь вы находитесь в режиме Live. Пора открыть терминал.
В Ubuntu и некоторых других дистрибутивах вы можете сделать это, нажав комбинацию клавиш Ctrl+Alt+T. Либо запустите терминал через меню приложений.
Определение разделов
Теперь нужно определить раздел диска, на котором был установлен GRUB.
Для того чтобы получить список разделов, необходимо выполнить следующую команду (обратите внимание, что в конце команды стоит строчная буква L):
sudo fdisk -l
Вывод fdisk для BIOS
Пример вывода команды:
В данной ситуации мы наблюдаем два накопителя: /dev/sda (SSD) и /dev/sdb (флешка, с которой загружена текущая Live-система).
Мы сосредоточимся на диске /dev/sda. На этом диске присутствует несколько разделов. В моем случае это /dev/sda4, на котором находится Windows, а также четыре раздела, относящиеся к Linux (смотрите последний столбец таблицы). Скорее всего, у вас будет один корневой раздел Linux или два раздела (корневой и home). На одном из этих разделов установлен загрузчик GRUB.
То есть из таблицы вы должны определить какой раздел является корневым, на нем скорее всего у вас установлен GRUB. В моем случае GRUB установлен в раздел /dev/sda2 . Далее по тексту я буду его использовать (вы должны будете указывать свой раздел).
В некоторых случаях для загрузчика GRUB создается отдельный раздел, известный как boot-раздел. Если это имеет место, на следующем этапе вам потребуется примонтировать как корневой раздел, так и раздел с загрузчиком.
Вывод fdisk для UEFI
Для новых компьютеров с UEFI вывод команды fdisk -l может быть примерно следующим:
Необходимо выяснить, какой раздел содержит систему Linux (корневой раздел), а также идентифицировать EFI-раздел. В моем случае это разделы: /dev/nvme0n1p5 и /dev/nvme0n1p1, находящиеся на диске /dev/nvme0n1.
Монтирование разделов
Подключим корневой раздел. Запускаем команду (вместо /dev/sda2 укажите свой раздел):
sudo mount /dev/sda2 /mnt
Мы примонтировали раздел /dev/sda2 в директорию /mnt .
Если у вас есть специально отведенный раздел для загрузчика, то следует также примонтировать его (замените /dev/sdX на ваш раздел boot):
sudo mount /dev/sdX /mnt/boot
Теперь можно посмотреть содержимое директории /mnt , чтобы убедиться, что мы примонтировали верный раздел:
ls /mnt
Результат выполнения данной команды должен выглядеть примерно так. Убедитесь, что в этом перечне присутствует каталог /boot, так как именно в этом месте установлен GRUB.
Кроме того, можно убедиться, что директория boot содержит данные:
ls /mnt/boot
У меня вывод команды выглядит следующим образом. Обратите внимание на присутствие каталога с именем grub .
Затем необходимо настроить ссылки на несколько каталогов, чтобы GRUB мог получить доступ к ним для нахождения всех установленных операционных систем. Для этого выполните следующие команды:
sudo mount —bind /dev /mnt/dev sudo mount —bind /dev/pts /mnt/dev/pts sudo mount —bind /proc /mnt/proc sudo mount —bind /sys /mnt/sys
Монтирование EFI-раздела
Если у вас используется UEFI, то еще нужно примонтировать EFI-раздел в директорию /mnt/boot/efi (выше я указал пример вывода команды fdisk -l в котором показан EFI-раздел):
sudo подключить /dev/nvme0n1p1 /mnt/boot/efi
Выполняем chroot на /mnt
На этапе, который мы только что прошли, мы подключили все нужные директории в папку /mnt. Теперь давайте перейдем к этой директории, выполнив команду chroot. Для этого используем следующую строку:
sudo chroot /mnt
Генерация файла конфигурации GRUB
Этот этап не обязателен для всех пользователей. Если вы уже установили GRUB и уверены в корректности его настроек, можно переходить к следующему этапу.
Для генерации файла конфигурации GRUB используется команда update-grub . Данная команда автоматически определяет файловые системы на вашем компьютере и генерирует новый файл конфигурации. Выполняем команду:
sudo обновить-grub
В результате выполнения команды отобразится информация о найденных операционных системах.
Если вдруг утилита update-grub не определила ваш Windows (у меня такое было для UEFI), то можно будет запустить update-grub повторно уже из вашей Linux-системы, когда вы в нее загрузитесь (мне это помогло и Windows определился).
Устанавливаем GRUB
Теперь необходимо произвести установку GRUB на диск. На первом этапе данного пособия мы уже указали раздел, где установлен GRUB. В моем случае это раздел /dev/sda2, который находится на диске /dev/sda.
Для проведения установки GRUB используется команда grub-install, которой следует указать в качестве аргумента диск, на который будет производиться установка (в моем случае это диск /dev/sda):
grub-install /dev/sda
Перезагрузка компьютера
Выходим из окружения chroot, для этого выполняем команду:
exit
Давайте отключим все разделы, которые были примонтированы:
sudo umount /mnt/sys sudo umount /mnt/proc sudo umount /mnt/dev/pts sudo umount /mnt/dev
Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:
sudo umount /mnt/boot
В случае если вы подключали раздел EFI, его необходимо отмонтировать:
sudo umount /mnt/boot/efi
Теперь отмонтируем основной раздел:
sudo umount /mnt
Перезагружаем компьютер. Для этого выполняем команду:
перезагрузка
Если при перезагрузке вашего компьютера меню GRUB не отображается, это не означает, что оно не было восстановлено. Возможно, просто установлено нулевое время ожидания, и поэтому меню не появляется. Чтобы отобразить меню GRUB, необходимо во время загрузки, сразу после появления логотипа материнской платы:
- удерживать клавишу Shift, если у вас классический BIOS;
- нажать Esc, если у вас UEFI.
Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:
sudo grub-update
У меня это сработало на ПК с UEFI.
Шпаргалка
Мы проанализировали процесс восстановления загрузчика GRUB 2. Для упрощения предлагаю краткую шпаргалку с командами, которые мы использовали. Имейте в виду, что названия и имена разделов ( /dev/sd. ) могут отличаться у вас.
sudo fdisk -l sudo mount /dev/sda2 /mnt # sudo mount /dev/sdaX /mnt/boot # sudo mount /dev/sdaY /mnt/boot/efi sudo mount —bind /dev /mnt/dev sudo mount —bind /dev/pts /mnt/dev/pts sudo mount —bind /proc /mnt/proc sudo mount —bind /sys /mnt/sys sudo chroot /mnt sudo update-grub grub-install /dev/sda
Лайков: +11
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы ставить лайки
- Опубликовано: 29.01.2019
- Gentoo
- GNOME
- GRUB
- Ubuntu
- Внешний вид
- Игры Linux
- Интернет и сети
- Командная строка
- Настройка Linux
- Аппаратное обеспечение и драйвера
- Программное обеспечение для Linux
- Структура файловой системы
- Шрифтовые наборы
- Общие вопросы
- Начальное руководство по Ubuntu Linux
- Elementary OS
- ArchLinux
- Команды для Linux
Последние добавления в галерею
Свежие комментарии
Sergejs 01:43 30.11.2024
Neo 00:59 30.11.2024
scorpii 00:55 30.11.2024
Neo 00:40 30.11.2024
choice 00:07 30.11.2024
Alexander707 22:56 29.11.2024
Sergejs 22:49 29.11.2024
Alexander707 22:40 29.11.2024
Alexander707 22:24 29.11.2024
Sergejs 22:16 29.11.2024
Генус
Постоянная ссылка на комментарий
Авторизуйтесь для того, чтобы ставить свои оценки
войдите, чтобы оценивать
А ещё лучше скачать и записать на флешку мини-дистрибутив для восстановления загрузки Rescatux. И воспользоваться одним из автоматических инструментов восстановления.
Вячеслав
Непрерывная ссылка на отзыв Главный отзыв Генус
Войдите, чтобы ставить лайки мне нравится
Авторизуйтесь, чтобы оставлять лайки
Комментарий о Rescatux просто великолепен. Я два дня мучился с восстановлением GRUB, пока не увидел ваш комментарий
mobius
Устойчивый адрес для комментария
Авторизуйтесь, чтобы выражать свои симпатии
авторизуйтесь, чтобы ставить лайки
Хорошая статья. Подробно, доходчиво, но. Надо бы было уточнить, что это для deb-подобных дистрибутивов (Ubuntu, Mint. ).В Arch, команда восстановления будет другой:sudo grub-mkconfig -o /boot/grub/grub.cfgИ размонтировать всё присоединённое можно одной командой:sudo umount -R /mnt
пыль
Постоянная ссылка на комментарий Родительский комментарий mobius
Авторизуйтесь, чтобы ставить лайки и получать удовольствие
выполните вход, чтобы оставлять свои оценки
а в CentOS используйте команду sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Dorosch
Постоянная ссылка на комментарий Комментарий от mobius
Войдите, чтобы ставить лайки мне нравится
Авторизуйтесь, чтобы ставить лайки
Так, друг, если пользователь решил использовать Arch, то, вероятнее всего, он знаком с документацией этого дистрибутива и обращается к ней как к настольному справочнику. И, скорее всего, там уже всё подробно описано.
Постоянная ссылка на комментарий
Авторизуйтесь, чтобы отметить, что вам понравилось
войдите для того, чтобы ставить оценки
помогите, пожалуйста сделал всё по инструкции, но возникает ошибка
dust
Непрерывная ссылка на отзыв Комментарий от tat
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы оценивать
По-моему, раздел /boot не был примонтирован
Ссылка для постоянного доступа к комментариям
Войдите, чтобы выразить свою симпатию
входите, чтобы оценивать
poyasnenie pri vypolnenii komandy
Диск /dev/sda: 465.8 GiB, 500107862016 байт, 976773168 секторовЕдиницы: сектора по 1 * 512 = 512 байтРазмер сектора (логический/физический): 512 байт / 4096 байтРазмеры ввода-вывода (минимальный/оптимальный): 4096 байт / 4096 байтТип таблицы разделов: gptИдентификатор диска: F2B6A3FB-7460-4422-B2FC-33A98A9895F5
Device Start End Sectors Size Type/dev/sda1 2048 206847 204800 100M EFI System/dev/sda2 206848 468991 262144 128M Microsoft reserved/dev/sda3 468992 475138047 474669056 226.3G Microsoft basic data/dev/sda4 475138048 592324607 117186560 55.9G Linux filesystem/dev/sda5 592324608 608325631 16001024 7.6G Linux swap/dev/sda6 608325632 976771071 368445440 175.7G Linux filesystem
Ссылка на комментарий для постоянного доступа
Авторизуйтесь, чтобы добавлять лайки
войдите для возможности ставить лайки
Постоянная ссылка на комментарий
Авторизуйтесь, чтобы оценивать мои публикации
войдите для возможности лайков
Spravilsya strannym metodom v notebook hp, nashel vetku windy sovsem v drugom meste ne tam gte ogidal, pereimenoval I sozdal podobnyu, vse v regime zagruzochnoi fleshi s Linux, primontirovav disk s ustanovlennoi windoi, poluchilos v itoge po f9 vybor uefi s windoi, notebook hard drive — s nego to I gruzitca Linux. Potom vernyl vce obratno s katalogom windy tak kak ona hotela vosstanovytca, vse rabotaet!!
Участвующий пользователь
Постоянная ссылка на отзыв Родительский отзыв Tat
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы отправлять оценки
russian.intertype.org
Artur
Постоянная ссылка на отзыв
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы оценить
В конце допущена ошибка: необходимо использовать update-grub вместо grub-update. Благодарю за публикацию!
для Mint
Перманентная ссылка на комментарий
Войдите, чтобы оценить, если вам это нравится
войдите, чтобы оценить
Всё прошло успешно, а даже ещё лучше
Konstantin
Постоянная ссылка на комментарий
Авторизуйтесь, чтобы оставлять свои оценки
Пожалуйста, войдите для возможности ставить лайки
Большое спасибо.
Активный участник
Постоянная ссылка на комментарий
Авторизуйтесь, чтобы ставить лайки мне нравится
войдите, чтобы оценивать
Благодарим! Все работает! 🙂 Все действия объяснены, и были рассмотрены различные конфигурации. Не забудьте примерный адрес в сети: pingvinus.ru/_grub
Активный пользователь
Уникальная ссылка на отзыв
Войдите, чтобы ставить лайки мне нравится
Замечательная статья. Хорошо разъяснено. Благодарю вас.
Регулярный участник
Постоянная ссылка на отзыв
Войдите, чтобы ставить лайки мне нравится
Войдите, чтобы ставить лайки
Автору, как говорят, уважение и признание — если говорить серьезно, перед Новым годом пришлось нелегко, и было бы полезно иметь эту статью под рукой. Автору определенно +
CheeseC
Удобная ссылка на комментарий
Авторизуйтесь, чтобы поставить лайк
Авторизуйтесь для возможности ставить лайки
Автору большое спасибо. Помог после обновления винды. Всё пропало, но в статье всё аккуратно объяснили.
Устойчивый URL для комментария
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы оценить
Не помогло. После заставки Bios сразу начинается загрузка Windows 10.
SpurdoSpadre
Постоянная ссылка на комментарий Ответный комментарий Kst
Войдите, чтобы выставить лайки, мне нравится
войдите, чтобы оценить
В дистрибутиве Linux Mint имеется утилита Boot-Repair. Я использовал её для восстановления загрузчика.
Активный пользователь
Постоянная ссылка на комментарий Родительский комментарий Kst
Авторизуйтесь, чтобы ставить свои оценки
войдите, чтобы оценивать
Вот это должно помочь« sudo grub2-install /dev/sd* » — для восстановления(установки) загрузчика на диске «*» и потом(возможно «sudo grub-mkconfig -o /boot/grub/grub.cfg» — для обновления GRUB (=update-grub)
Максим
Ссылка на комментарий
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы оставлять лайки
Большое спасибо автору статьи от всего сердца! Это помогло мне восстановить grub.
Alex
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы оценить
А что делать, если система так и не распознала устройство, как его восстановить?
Ссылка на комментарий
Авторизуйтесь, чтобы оценить мой комментарий
войдите, чтобы оценить
Огромное спасибо за всё
Постоянная ссылка на комментарий
Авторизуйтесь, чтобы оставлять свои лайки
Огромное спасибо автору! Случайно форматировать раздел с GRUB и данное руководство помогло всё восстановить.
Участник с высоким уровнем активности
Ссылка напрямую на комментарий
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы отмечать понравившиеся
В MХ Линукс имеется утилита "восстановление загрузчика". Соответственно, она функционирует.
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайки мне нравится
Пожалуйста, выполните вход, чтобы оставить свои оценки
Не буду скрывать, что весь этот процесс действительно полезен. Я выбрал более простой вариант: утилита Boot-Repair сработала без лишних усилий, автоматически. (Linux Mint)
vasiliy
Постоянная ссылка на комментарий
Авторизуйтесь, чтобы иметь возможность ставить лайки
Спасибо! Помогло. После установки 2-й win (win 2012 srv) установил grub по новой на основной загрузочный диск с виндой (linux на другом диске).
Ирина
Устойчивый адрес для комментария
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы оставлять оценки
Благодарим. Наконец-то всё функционирует 🙂
Ссылка на комментарий
Войдите, чтобы ставить лайки мне нравится
Авторизуйтесь, чтобы ставить лайки
Не могли бы вы помочь? Пытаюсь восстановить загрузчик GRUB, но ничего не получается. Вот информация о моих дисках:
Тип метки диска: dosИдентификатор диска: 0x495ee280Устройство Загрузка Начало Конец Секторы Размер Идентификатор Тип /dev/sdb 2048 2097141155 2097139108 1000G 8e Linux LUMДиск /dev/sda: 1000 GiB, 1073741824000 байт, 2097152000 секторовМодель диска: UMuare Uirtual SUnits: секторы по 1 * 512 = 512 байтРазмер сектора (логический/физический): 512 байт / 512 байтРазмер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байтТип метки диска: dosИдентификатор диска: 0x495ee286Устройство Загрузка Начало Конец Секторы Размер Идентификатор Тип /dev/sda1*2048409599940939522G 83 Linux /dev/sda2 40960002 2097141155 2093045156998G 8e Linux LUMДиск /dev/mapper/homeug-home: 999.97 GiB, 1073708269568 байт, 2097086464 сектораЕдиницы: секторы по 1 * 512 = 512 байтРазмер сектора (логический/физический): 512 байт / 512 байтРазмер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байтДиск /dev/mapper/rootug-swap: 57.75 GiB, 62008590336 байт, 121110528 секторовЕдиницы: секторы по 1 * 512 = 512 байтРазмер сектора (логический/физический): 512 байт / 512 байтРазмер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байтДиск /dev/mapper/rootug-root: 940.25 GiB, 1009585750016 байт, 1971847168 секторовЕдиницы: секторы по 1 * 512 = 512 байтРазмер сектора (логический/физический): 512 байт / 512 байтРазмер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байт CrootPlocalhost /]# Начинаю монтирование
IrootGlocalhost /]# mount /deu/sda2 /mnt/boot mount: /mnt/boot: no filesystem type specified.IrootGlocalhost /]# mount /deu/sdal /mnt/boot mount: /mnt/boot: mount point does not exist.IrootGlocalhost /]#
Работа с дисками при установке BlackArch (Arch): общая информация, конвертация и разметка MBR и GPT; общая информация и установка GRUB и EFI
Многим пользователям, даже тем, кто долго работает с Linux, не приходилось углубляться в вопросы, связанные с MBR и GPT, и их отличиями. Однако при установке BlackArch (Arch) полезно изучить эту теорию. Хотя можно установить BlackArch (Arch) по инструкции и без этих знаний, это несложно, но такая информация может существенно помочь вам в дальнейшем.
MBR и GPT
MBR — Главная загрузочная запись
Начнём с цитат из Википедии:
Загрузка главной записи (англ. master boot record, MBR) представляет собой набор кода и данных, которые необходимы для инициации загрузки операционной системы, располагающийся в начальных физических секторах на жестком диске или любом другом средстве хранения информации (обычно в самом первом секторе).
MBR включает в себя небольшой объем исполняемого кода, таблицу разделов (partition table) и специальный идентификатор.
Функция MBR — «переход» в тот раздел жёсткого диска, с которого следует исполнять «дальнейший код» (обычно — загружать ОС). На «стадии MBR» происходит выбор раздела диска, загрузка кода ОС происходит на более поздних этапах алгоритма.
Во время старта компьютера, по завершении первичного тестирования (Power-on self-test — POST), Базовая система ввода-вывода (BIOS) считывает «код MBR» в RAM (в IBM PC, как правило, с адреса 0000:7c00) и передает управление загрузочному коду, находящемуся в MBR.
cfdisk показывает MBR как dos.
GPT — Таблица разделов GUID
GUID Partition Table, сокращенно GPT — это стандарт для структурирования таблиц разделов на физическом жестком диске. Этот формат является частью Расширяемого микропрограммного интерфейса (англ. Extensible Firmware Interface, EFI), который был предложен компанией Intel как замена BIOS. В отличие от BIOS, который применяет Главную загрузочную запись (англ. Master Boot Record, MBR), EFI использует GPT.
cfdisk показывает GUID как GPT.
Создание и удаление GPT (превращение диска из MBR в GPT и превращение диска из GPT в MBR)
Обратите внимание, что любые операции в данном разделе могут привести к утрате данных на диске. Если вы не хотите этого, будьте осторожны при выборе диска, чтобы не удалить нужную информацию.
Если вы хотите создать новую GUID таблицу раздела (GPT), то можете это сделать с помощью программы gdisk:
gdisk /dev/sda
После этого введите команду для создания таблицы:
А затем для сохранения внесённых изменений:
Для удаления GPT с диска, если она там есть:
gdisk /dev/sda
Чтобы войти в экспертный режим, используйте следующую команду
Затем д ля удаления GPT введите
Подтвердите свои действия дважды, чтобы осуществить полное форматирование диска.
Разметка диска для MBR
cfdisk /dev/sda
Разделы для загрузчика и корневой системы обязаны быть первичными.
Размер загрузочного раздела должен быть 200 мегабайт или больше.
В разделе загрузки необходимо установить отметку Bootable.
Изменение типов разделов не требуется (тип Linux).
В итоге нужно добиться примерно такого результата:
Раздел для загрузчика можно отформатировать в формате ext2, ext3 или ext4. Я выбрал ext2, так как он имеет большую скорость, а функции журналирования для загрузочного раздела не нужны:
mkfs.ext2 /dev/sda1
Рут и пользовательские разделы на выбор в ext2, ext3, ext4 (рекомендуется ext4):
mkfs.ext4 /dev/sda2
Подготовка и активация раздела SWAP (в случае его создания):
mkswap /dev/sda3 swapon /dev/sda3
Разметка диска для GPT
cfdisk /dev/sda
Тип загрузочного раздела должен быть EFI System, размер 200-500 мегабайт.
Раздел для подкачки в Linux swap.
Формат корневого раздела и других пользовательских накопителей: Linux root (x86-64) (или по аналогии с вашей системой).
В результате должно получиться примерно так:
Раздел для загрузчика необходимо подготовить в формате FAT32:
mkfs.fat -F32 /dev/sda1
Рут и пользовательские разделы на выбор в ext2, ext3, ext4 (рекомендуется ext4):
mkfs.ext4 /dev/sda3
Процесс форматирования и подготовки раздела SWAP (при его настройке):
mkswap /dev/sda2 swapon /dev/sda2
GRUB и EFI
GRUB (с англ. GRand Unified Bootloader) — это загрузчик систем, разработанный в рамках проекта GNU. Он предоставляет возможность пользователю устанавливать несколько операционных систем и выбирать одну из них для загрузки при включении компьютера.
Ещё одна справки из Википедии:
Расширяемый интерфейс прошивки (EFI) — это механизм, который осуществляет связь между операционной системой и микропрограммами, отвечающими за управление базовыми функциями аппаратного обеспечения. Его основная задача заключается в корректной инициализации компонентов системы при её запуске и передаче управления загрузчику операционной системы. EFI был создан как замена BIOS — традиционному интерфейсу, используемому в большинстве персональных компьютеров, совместимых с IBM PC. Первоначально спецификация EFI была разработана компанией Intel, однако позднее название было изменено, и последняя версия этого стандарта называется Unified Extensible Firmware Interface (UEFI). На данный момент разработкой UEFI занимается объединённый форум EFI.
Если верить документации и разным вики, то GRUB можно установить и на MBR, и на GPT. Точно также EFI можно установить и на MBR, и на GPT. Но на практике EFI не ставиться в MBR (при установке в Arch). И при попытке установить GRUB в GPT на виртуальной машине при перезагрузке я неизменно получаю:
Существует универсальное правило, которое в любой ситуации будет верным:
- Устанавливать GRUB в MBR
- Устанавливать EFI в GPT
Очевидно, что ваш компьютер должен поддерживать EFI. Это можно проверить, зайдя в BIOS:
Если среди опцией есть EFI, значит пододержка имеется. VirtualBox также поддерживает EFI если эту поддержку указать явно для конкретной виртуальной машины:
Процесс установки GRUB
Имейте в виду, что /dev/sda представляет собой не отдельный загрузочный или другой раздел, а целый диск.
pacman -S grub-bios grub-install —recheck /dev/sda grub-mkconfig -o /boot/grub/grub.cfg
Процесс установки EFI
установить bootctl
Редактируем содержимое файла:
vim /boot/loader/loader.conf
Удалите все, что находится в этом файле, и напишите следующее:
default arch
Сформируйте конфигурационный файл для внесения Arch Linux в меню загрузчика gummiboot:
vim /boot/loader/entries/arch.conf
Содержимое файла должно быть примерно следующим:
title BlackArch linux /vmlinuz-linux initrd /initramfs-linux.img options root=/dev/sda3 rw
Имейте в виду, что /dev/sda3 не является загрузочным диском, а представляет собой диск для корневого раздела.
Близкие статьи
- Управление дисками в BlackArch (монтирование и устранение неполадок) (80.4%)
- Восстановление системы после черного экрана из-за неудачной установки проприетарных драйверов AMD в BlackArch / Arch (80.4%)
- Ошибочное сообщение: «файл vmlinuz-linux» отсутствует (ПРОБЛЕМА РЕШЕНА) (69.7%)
- Ошибка: «wget не может выполниться, так как _wget существует» (ПРОБЛЕМА РЕШЕНА) (69.7%)
- Pacman: управление пакетами в BlackArch (перевод документации и руководства) (50%)
- Не открываются настройки NVIDIA: «ERROR: Unable to load info from any available system» (ПРОБЛЕМА РЕШЕНА) (СЛУЧАЙНЫЙ — 50%)