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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
м
 
(не показано 16 промежуточных версий 3 участников)
Строка 25: Строка 25:
 
/dev/sda4      103090176  488396799  192653312    7  HPFS/NTFS/exFAT
 
/dev/sda4      103090176  488396799  192653312    7  HPFS/NTFS/exFAT
 
</pre>
 
</pre>
 +
 +
Также можно найти раздел в графической программе Gparted.
  
 
3. В данном примере '''sda''' это загрузочный диск, а '''sda2''' это корневой (/root) раздел нашей установленной системы РОСА. Поскольку в разных конфигурациях буква диска может различаться, то далее будем использовать sd'''X''' и sd'''XX''' соответственно для их обозначения.
 
3. В данном примере '''sda''' это загрузочный диск, а '''sda2''' это корневой (/root) раздел нашей установленной системы РОСА. Поскольку в разных конфигурациях буква диска может различаться, то далее будем использовать sd'''X''' и sd'''XX''' соответственно для их обозначения.
Строка 30: Строка 32:
 
Дальше, надо примонтировать нужные разделы:
 
Дальше, надо примонтировать нужные разделы:
  
  su
+
  sudo -i
 
  mkdir /chroot
 
  mkdir /chroot
 
  mount /dev/sd'''XX''' /chroot # В нашем примере sd'''XX''' - это sda2
 
  mount /dev/sd'''XX''' /chroot # В нашем примере sd'''XX''' - это sda2
  mount --bind /dev /chroot/dev
+
  for i in dev sys proc etc/resolv.conf; do mount --bind -v /$i /chroot/$i;done
mount --bind /sys /chroot/sys
+
mount --bind /proc /chroot/proc
+
  
 
Если после  
 
Если после  
 
  mount /dev/sd'''XX''' /chroot # В нашем примере sd'''XX''' - это sda2
 
  mount /dev/sd'''XX''' /chroot # В нашем примере sd'''XX''' - это sda2
 
возникают ошибки и у вас файловая система BTRFS, то эта команда должна иметь дополнительный вид (указываем, какой подраздел монтировать):
 
возникают ошибки и у вас файловая система BTRFS, то эта команда должна иметь дополнительный вид (указываем, какой подраздел монтировать):
  mount -o subvol=@ /dev/sd'''XX''' /chroot # В нашем примере sd'''XX''' - это sda2
+
  mount -o subvol=root /dev/sd'''XX''' /chroot # В нашем примере sd'''XX''' - это sda2
  
 
4. Теперь надо сделать chroot в установленную систему.
 
4. Теперь надо сделать chroot в установленную систему.
Строка 46: Строка 46:
 
  chroot /chroot
 
  chroot /chroot
  
5. Затем надо установить Grub2 в MBR.
+
5. Внутри chroot примонтируем все записи в /etc/fstab (например, раздел /boot/efi):
 +
 
 +
mount -a
 +
 
 +
6. Затем надо установить Grub2 в MBR.
  
 
  grub2-install /dev/sd'''X''' # В нашем примере sd'''X''' - это sda
 
  grub2-install /dev/sd'''X''' # В нашем примере sd'''X''' - это sda
Строка 52: Строка 56:
 
В Ubuntu, Debian grub2-install заменить на grub-install.
 
В Ubuntu, Debian grub2-install заменить на grub-install.
  
6. После установки Grub2, нужно чтобы он нашел другие загрузочные записи на жестком диске (например Windows).
+
7. После установки Grub2, нужно чтобы он нашел другие загрузочные записи на жестком диске (например Windows).
 
Для этого дадим следующую команду:
 
Для этого дадим следующую команду:
  
 
  update-grub2
 
  update-grub2
 
В Ubuntu,Debian update-grub2 заменить на update-grub.
 
В Ubuntu,Debian update-grub2 заменить на update-grub.
7. Выходим из chroot и Live-режима и перегружаем компьютер. После перезагрузки, будет меню Grub2 со списком всех ваших ОС.
+
 
 +
8. Выходим из chroot и Live-режима и перегружаем компьютер. После перезагрузки, будет меню Grub2 со списком всех ваших ОС.
  
 
  exit
 
  exit
 
  sync
 
  sync
 
  reboot
 
  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>
 +
 +
''* Скрипт является разработкой сообщества и не является официальным приложением.''
  
  
 
[[Категория:HOWTO]]
 
[[Категория:HOWTO]]
 
[[en:Reinstall Grub2 from a live ROSA]]
 
[[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

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