Восстановление загрузчика Grub2 — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
м
 
(не показана 21 промежуточная версия 5 участников)
Строка 2: Строка 2:
  
 
----
 
----
 
  
 
Рекомендации по восстановлению загрузочной записи {{Программа|Grub2}} в '''MBR''' следующие:
 
Рекомендации по восстановлению загрузочной записи {{Программа|Grub2}} в '''MBR''' следующие:
  
1. Загружаемся с ''Linux LiveCD'' или флешки.
+
1. Загружаемся с флешки или DVD в ''Live-режиме''.
  
2. Пишем в консоли от root-а:
+
2. '''Запускаем графическую программу Gparted''' или Пишем в консоли от root-а:
  
 
  fdisk -l
 
  fdisk -l
Строка 27: Строка 26:
 
</pre>
 
</pre>
  
3. В данном примере '''sda''' это загрузочный диск, а '''sda2''' это root раздел нашей системы РОСА.
+
Также можно найти раздел в графической программе Gparted.
  
Дальше, надо примонтировать root раздел:
+
3. В данном примере '''sda''' это загрузочный диск, а '''sda2''' это корневой (/root) раздел нашей установленной системы РОСА. Поскольку в разных конфигурациях буква диска может различаться, то далее будем использовать sd'''X''' и sd'''XX''' соответственно для их обозначения.
  
mount /dev/sd'''xx''' /mnt
+
Дальше, надо примонтировать нужные разделы:
  
В нашем примере это будет выглядеть так: {{cmd|mount /dev/sda2 /mnt}}
+
sudo -i
 +
mkdir /chroot
 +
mount /dev/sd'''XX''' /chroot # В нашем примере sd'''XX''' - это sda2
 +
for i in dev sys proc etc/resolv.conf; do mount --bind -v /$i /chroot/$i;done
  
4. Теперь надо установить Grub2 в MBR.
+
Если после
 +
mount /dev/sd'''XX''' /chroot # В нашем примере sd'''XX''' - это sda2
 +
возникают ошибки и у вас файловая система BTRFS, то эта команда должна иметь дополнительный вид (указываем, какой подраздел монтировать):
 +
mount -o subvol=root /dev/sd'''XX''' /chroot # В нашем примере sd'''XX''' - это sda2
  
grub2-install --root-directory=/mnt'''/''' /dev/sd'''x'''
+
4. Теперь надо сделать chroot в установленную систему.
  
В нашем примере это будет выглядеть так: grub2-install --root-directory=/mnt/ /dev/sd'''a'''
+
chroot /chroot
  
5. После установки Grub2, нужно чтобы он нашел другие загрузочные записи на жестком диске (например Windows).
+
5. Внутри chroot примонтируем все записи в /etc/fstab (например, раздел /boot/efi):
 +
 
 +
mount -a
 +
 
 +
6. Затем надо установить Grub2 в MBR.
 +
 
 +
grub2-install /dev/sd'''X''' # В нашем примере sd'''X''' - это sda
 +
 
 +
В Ubuntu, Debian grub2-install заменить на grub-install.
 +
 
 +
7. После установки Grub2, нужно чтобы он нашел другие загрузочные записи на жестком диске (например Windows).
 
Для этого дадим следующую команду:
 
Для этого дадим следующую команду:
  
 
  update-grub2
 
  update-grub2
 +
В Ubuntu,Debian update-grub2 заменить на update-grub.
 +
 +
8. Выходим из chroot и Live-режима и перегружаем компьютер. После перезагрузки, будет меню Grub2 со списком всех ваших ОС.
 +
 +
exit
 +
sync
 +
reboot
 +
 +
Также, для восстановления загрузчика grub2 можно воспользоваться небольшим скриптом grub2recovery. Его можно установить из репозитория contrib командой
 +
sudo dnf in grub2recovery
 +
<!-- или скачать по ссылке: https://forum.rosalinux.ru/download/file.php?id=12856 и rpm https://forum.rosalinux.ru/download/file.php?id=12855 <br>  -->
 +
О скрипте можно почитать на форуме: https://forum.rosalinux.ru/viewtopic.php?f=58&t=10649 <br>
  
6. Выходим из Live-режима и перегружаем компьютер. После перезагрузки, будет меню Grub2 со списком всех ваших ОС.
+
''* Скрипт является разработкой сообщества и не является официальным приложением.''
  
  
 
[[Категория:HOWTO]]
 
[[Категория:HOWTO]]
 +
[[en:Reinstall Grub2 from a live ROSA]]

Текущая версия на 13:22, 13 марта 2024

Оригинал инструкции на форуме MIB (Mandriva International Backports): How to reinstall Grub2 from a live ROSA Desktop Linux


Рекомендации по восстановлению загрузочной записи Grub2 в MBR следующие:

1. Загружаемся с флешки или DVD в Live-режиме.

2. Запускаем графическую программу Gparted или Пишем в консоли от root-а:

fdisk -l

У нас выходит список разделов нашего жесткого диска (например):

Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6e2792ad

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048    51552584    25775268+   7  HPFS/NTFS/exFAT
/dev/sda2        51552585   100920329    24683872+  83  Linux
/dev/sda3       100920330   103089104     1084387+  82  Linux своп / Solaris
/dev/sda4       103090176   488396799   192653312    7  HPFS/NTFS/exFAT

Также можно найти раздел в графической программе Gparted.

3. В данном примере sda это загрузочный диск, а sda2 это корневой (/root) раздел нашей установленной системы РОСА. Поскольку в разных конфигурациях буква диска может различаться, то далее будем использовать sdX и sdXX соответственно для их обозначения.

Дальше, надо примонтировать нужные разделы:

sudo -i
mkdir /chroot
mount /dev/sdXX /chroot # В нашем примере sdXX - это sda2
for i in dev sys proc etc/resolv.conf; do mount --bind -v /$i /chroot/$i;done

Если после

mount /dev/sdXX /chroot # В нашем примере sdXX - это sda2

возникают ошибки и у вас файловая система BTRFS, то эта команда должна иметь дополнительный вид (указываем, какой подраздел монтировать):

mount -o subvol=root /dev/sdXX /chroot # В нашем примере sdXX - это sda2

4. Теперь надо сделать chroot в установленную систему.

chroot /chroot

5. Внутри chroot примонтируем все записи в /etc/fstab (например, раздел /boot/efi):

mount -a

6. Затем надо установить Grub2 в MBR.

grub2-install /dev/sdX # В нашем примере sdX - это sda

В Ubuntu, Debian grub2-install заменить на grub-install.

7. После установки Grub2, нужно чтобы он нашел другие загрузочные записи на жестком диске (например Windows). Для этого дадим следующую команду:

update-grub2

В Ubuntu,Debian update-grub2 заменить на update-grub.

8. Выходим из chroot и Live-режима и перегружаем компьютер. После перезагрузки, будет меню Grub2 со списком всех ваших ОС.

exit
sync
reboot

Также, для восстановления загрузчика grub2 можно воспользоваться небольшим скриптом grub2recovery. Его можно установить из репозитория contrib командой

sudo dnf in grub2recovery

О скрипте можно почитать на форуме: https://forum.rosalinux.ru/viewtopic.php?f=58&t=10649

* Скрипт является разработкой сообщества и не является официальным приложением.