Difference between revisions of "Preserve Manjaro Bootloader/ru"
Views
Actions
Namespaces
Variants
Tools
(Created page with "Копирование /boot/efi/EFI/Manjaro/grubx64.efi вместо /boot/grub/x86_64-efi/core.efi может привести к тому же результату, пос...") |
|||
Line 10: | Line 10: | ||
Загрузите все остальные ОС linux и на их терминалах сделайте следующее | Загрузите все остальные ОС linux и на их терминалах сделайте следующее | ||
sudo grub-install --force /dev/sdxy | {{UserCmd|command=sudo grub-install --force /dev/sdxy}} | ||
<div class="mw-translate-fuzzy"> | |||
где /dev/sdxy - другой раздел ОС. Обратите внимание, что для некоторых ОС требуется команда 'grub2-install'. Если требуется дополнительная информация, смотрите [https://forum.manjaro.org/t/kernel-panic-not-syncing-vfs-unable-to-mount-root-fs-on/21226/7?u=gohlip здесь]. | где /dev/sdxy - другой раздел ОС. Обратите внимание, что для некоторых ОС требуется команда 'grub2-install'. Если требуется дополнительная информация, смотрите [https://forum.manjaro.org/t/kernel-panic-not-syncing-vfs-unable-to-mount-root-fs-on/21226/7?u=gohlip здесь]. | ||
</div> | |||
При установке новой ОС linux в программе установки всегда выбирайте "установка загрузчика в раздел". Мы также можем не устанавливать загрузчик, но выбор "установить в раздел" (Manjaro называет это "в систему") достаточно хорош и предпочтителен, чем установка загрузчика в каждую ОС. | При установке новой ОС linux в программе установки всегда выбирайте "установка загрузчика в раздел". Мы также можем не устанавливать загрузчик, но выбор "установить в раздел" (Manjaro называет это "в систему") достаточно хорош и предпочтителен, чем установка загрузчика в каждую ОС. | ||
Line 21: | Line 23: | ||
В любом терминале ОС linux посмотрите вывод команды | В любом терминале ОС linux посмотрите вывод команды | ||
efibootmgr | <div class="mw-translate-fuzzy"> | ||
efibootmgr | |||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Это приведет к следующему результату: | Это приведет к следующему результату: | ||
BootCurrent: 0001 | BootCurrent: 0001 | ||
Line 32: | Line 37: | ||
Boot0005* Hard Drive | Boot0005* Hard Drive | ||
Boot0008* Systemd Boot Manager | Boot0008* Systemd Boot Manager | ||
</div> | |||
Убедитесь, что порядок загрузки Manjaro находится в начале - как указано выше: "BootOrder: 0001,0002,0004,0005,0008" | Убедитесь, что порядок загрузки Manjaro находится в начале - как указано выше: "BootOrder: 0001,0002,0004,0005,0008" | ||
Если это не так, измените порядок таким образом: | Если это не так, измените порядок таким образом: | ||
sudo efibootmgr -o 0001,0002,0004,0005,0008 | <div class="mw-translate-fuzzy"> | ||
sudo efibootmgr -o 0001,0002,0004,0005,0008 | |||
</div> | |||
Всякий раз при установке другой ОС, она будет находиться вверху этого порядка загрузки; и нам нужно будет изменить порядок таким образом, чтобы Manjaro снова оказалась на самом верху. И мы можем сделать это с помощью установочного носителя livecd. Если мы забудем, то сможем сделать это после установки любой ОС. Для UEFI, мы все еще можем выбрать Manjaro для загрузки в boot-setup (одно из F8 ~ F12). | Всякий раз при установке другой ОС, она будет находиться вверху этого порядка загрузки; и нам нужно будет изменить порядок таким образом, чтобы Manjaro снова оказалась на самом верху. И мы можем сделать это с помощью установочного носителя livecd. Если мы забудем, то сможем сделать это после установки любой ОС. Для UEFI, мы все еще можем выбрать Manjaro для загрузки в boot-setup (одно из F8 ~ F12). | ||
Line 43: | Line 51: | ||
Однако в некоторых ситуациях (о чем сообщалось в некоторых темах здесь) этого не происходит (возможно, из-за проблем с прошивкой). Приведенные выше шаги не гарантируют, что загрузчик Manjaro будет загружен. В этих случаях необходимо выполнить еще одну команду. | Однако в некоторых ситуациях (о чем сообщалось в некоторых темах здесь) этого не происходит (возможно, из-за проблем с прошивкой). Приведенные выше шаги не гарантируют, что загрузчик Manjaro будет загружен. В этих случаях необходимо выполнить еще одну команду. | ||
sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi | <div class="mw-translate-fuzzy"> | ||
sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi | |||
</div> | |||
Или, если это сделано в livecd (или другой ОС) и смонтирован раздел / в /mnt и раздел /boot/efi в /mnt/boot/efi | Или, если это сделано в livecd (или другой ОС) и смонтирован раздел / в /mnt и раздел /boot/efi в /mnt/boot/efi | ||
sudo cp /mnt/boot/grub/x86_64-efi/core.efi /mnt/boot/efi/EFI/boot/bootx64.efi | <div class="mw-translate-fuzzy"> | ||
sudo cp /mnt/boot/grub/x86_64-efi/core.efi /mnt/boot/efi/EFI/boot/bootx64.efi | |||
</div> | |||
Копирование /boot/efi/EFI/Manjaro/grubx64.efi вместо /boot/grub/x86_64-efi/core.efi может привести к тому же результату, поскольку /boot/efi/EFI/Manjaro/grubx64.efi сам является копией /boot/grub/x86_64-efi/core.efi | Копирование /boot/efi/EFI/Manjaro/grubx64.efi вместо /boot/grub/x86_64-efi/core.efi может привести к тому же результату, поскольку /boot/efi/EFI/Manjaro/grubx64.efi сам является копией /boot/grub/x86_64-efi/core.efi | ||
Line 53: | Line 65: | ||
Так что это тоже альтернатива. | Так что это тоже альтернатива. | ||
sudo cp /boot/efi/EFI/Manjaro/grubx64.efi /boot/efi/EFI/boot/bootx64.efi | <div class="mw-translate-fuzzy"> | ||
sudo cp /boot/efi/EFI/Manjaro/grubx64.efi /boot/efi/EFI/boot/bootx64.efi | |||
</div> | |||
Выполнение этой дополнительной команды там, где она не нужна, похоже, не вредит системе. | Выполнение этой дополнительной команды там, где она не нужна, похоже, не вредит системе. | ||
Line 64: | Line 78: | ||
В системе grub 2 другой ОС создайте файл custom.cfg | В системе grub 2 другой ОС создайте файл custom.cfg | ||
<div class="mw-translate-fuzzy"> | |||
sudo touch /boot/grub/custom.cfg | |||
</div> | |||
Некоторые ОС, такие как Suse, Fedora, Mageia используют каталог в /boot/grub2, а не /boot/grub, поэтому учтите этот момент. | Некоторые ОС, такие как Suse, Fedora, Mageia используют каталог в /boot/grub2, а не /boot/grub, поэтому учтите этот момент. | ||
Затем добавьте следующее во вновь созданный custom.cfg. Не нужно обновлять grub или изменять /etc/default/grub и будет работать (сохраняться) командами типа grub-installs или update-grubs. И, конечно, сохраняется на любом новом ядре Manjaro. Обратите внимание, что эта запись/записи не будут отображаться в их grub.cfg. | Затем добавьте следующее во вновь созданный custom.cfg. Не нужно обновлять grub или изменять /etc/default/grub и будет работать (сохраняться) командами типа grub-installs или update-grubs. И, конечно, сохраняется на любом новом ядре Manjaro. Обратите внимание, что эта запись/записи не будут отображаться в их grub.cfg. | ||
menuentry "Manjaro - configfile " { | <div class="mw-translate-fuzzy"> | ||
menuentry "Manjaro - configfile " { | |||
insmod part_gpt | insmod part_gpt | ||
part part_msdos | part part_msdos | ||
Line 76: | Line 93: | ||
configfile /boot/grub/grub.cfg | configfile /boot/grub/grub.cfg | ||
} | } | ||
</div> | |||
btrfs потребуются дополнительные настройки (rootflag=subvolume=@) | btrfs потребуются дополнительные настройки (rootflag=subvolume=@) | ||
[[Category:Contents Page{{#translation:}}]] | [[Category:Contents Page{{#translation:}}]] |
Revision as of 09:28, 2 February 2023
Введение
Это не для того, чтобы вернуть или восстановить загрузчик Manjaro. Чтобы восстановить загрузчик Manjaro, смотрите здесь.
Это необходимо для того, чтобы предотвратить переопределение рабочего загрузчика Manjaro загрузчиками других ОС. Подобное может произойти, когда другая ОС обновляет свой grub (не update-grub). А из-за реализации intel-ucode в Manjaro, загрузчик другой ОС не сможет загрузить Manjaro OS, отсюда и это руководство.
Bios-legacy системы
Загрузите все остальные ОС linux и на их терминалах сделайте следующее
где /dev/sdxy - другой раздел ОС. Обратите внимание, что для некоторых ОС требуется команда 'grub2-install'. Если требуется дополнительная информация, смотрите здесь.
При установке новой ОС linux в программе установки всегда выбирайте "установка загрузчика в раздел". Мы также можем не устанавливать загрузчик, но выбор "установить в раздел" (Manjaro называет это "в систему") достаточно хорош и предпочтителен, чем установка загрузчика в каждую ОС.
Если вы решите удалить Manjaro позже - не забудьте сделать загрузчик другой ОС по умолчанию перед удалением.
Системы UEFI
В любом терминале ОС linux посмотрите вывод команды
efibootmgr
Это приведет к следующему результату:
BootCurrent: 0001 Timeout: 1 seconds BootOrder: 0001,0002,0004,0005,0008 Boot0001* manjaro Boot0002* ubuntu Boot0004* UEFI: WDC WD10PURX Boot0005* Hard Drive Boot0008* Systemd Boot Manager
Убедитесь, что порядок загрузки Manjaro находится в начале - как указано выше: "BootOrder: 0001,0002,0004,0005,0008" Если это не так, измените порядок таким образом:
sudo efibootmgr -o 0001,0002,0004,0005,0008
Всякий раз при установке другой ОС, она будет находиться вверху этого порядка загрузки; и нам нужно будет изменить порядок таким образом, чтобы Manjaro снова оказалась на самом верху. И мы можем сделать это с помощью установочного носителя livecd. Если мы забудем, то сможем сделать это после установки любой ОС. Для UEFI, мы все еще можем выбрать Manjaro для загрузки в boot-setup (одно из F8 ~ F12).
Одного этого должно быть достаточно для большинства систем UEFI. Однако в некоторых ситуациях (о чем сообщалось в некоторых темах здесь) этого не происходит (возможно, из-за проблем с прошивкой). Приведенные выше шаги не гарантируют, что загрузчик Manjaro будет загружен. В этих случаях необходимо выполнить еще одну команду.
sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi
Или, если это сделано в livecd (или другой ОС) и смонтирован раздел / в /mnt и раздел /boot/efi в /mnt/boot/efi
sudo cp /mnt/boot/grub/x86_64-efi/core.efi /mnt/boot/efi/EFI/boot/bootx64.efi
Копирование /boot/efi/EFI/Manjaro/grubx64.efi вместо /boot/grub/x86_64-efi/core.efi может привести к тому же результату, поскольку /boot/efi/EFI/Manjaro/grubx64.efi сам является копией /boot/grub/x86_64-efi/core.efi
Так что это тоже альтернатива.
sudo cp /boot/efi/EFI/Manjaro/grubx64.efi /boot/efi/EFI/boot/bootx64.efi
Выполнение этой дополнительной команды там, где она не нужна, похоже, не вредит системе.
Альтернативный запасной вариант
(Как bios-legacy, так и uefi)
Несмотря на наши усилия, мы все еще можем использовать другую ОС grub для загрузки Manjaro и это может оказаться полезным, особенно если вышеописанные методы кажутся сложными. Или если мы столкнулись с тем, что не можем попасть в загрузчик Manjaro.
В системе grub 2 другой ОС создайте файл custom.cfg
sudo touch /boot/grub/custom.cfg
Некоторые ОС, такие как Suse, Fedora, Mageia используют каталог в /boot/grub2, а не /boot/grub, поэтому учтите этот момент. Затем добавьте следующее во вновь созданный custom.cfg. Не нужно обновлять grub или изменять /etc/default/grub и будет работать (сохраняться) командами типа grub-installs или update-grubs. И, конечно, сохраняется на любом новом ядре Manjaro. Обратите внимание, что эта запись/записи не будут отображаться в их grub.cfg.
menuentry "Manjaro - configfile " {
insmod part_gpt part part_msdos insmod ext2 search --no-floppy --fs-uuid --set=root xxxxxxxxxxxxxxxxxxxxxxxx configfile /boot/grub/grub.cfg }
btrfs потребуются дополнительные настройки (rootflag=subvolume=@)