Manjaro Difference between revisions of "Preserve Manjaro Bootloader/ru"

Difference between revisions of "Preserve Manjaro Bootloader/ru"

From Manjaro
(Created page with "= Bios-legacy системы = Загрузите все остальные ОС linux и на их терминалах сделайте следующее")
Tags: Mobile web edit Mobile edit
(Created page with "где /dev/sdxy - другой раздел ОС. Обратите внимание, что для некоторых ОС требуется команда 'grub2-install'....")
Tags: Mobile web edit Mobile edit
Line 12: Line 12:
  sudo grub-install --force /dev/sdxy
  sudo grub-install --force /dev/sdxy


where /dev/sdxy is the other OS partition. Note some OS's need command 'grub2-install'. If need further elaboration, see [https://forum.manjaro.org/t/kernel-panic-not-syncing-vfs-unable-to-mount-root-fs-on/21226/7?u=gohlip here].
где /dev/sdxy - другой раздел ОС. Обратите внимание, что для некоторых ОС требуется команда 'grub2-install'. Если требуется дополнительная информация, смотрите [https://forum.manjaro.org/t/kernel-panic-not-syncing-vfs-unable-to-mount-root-fs-on/21226/7?u=gohlip здесь].


When installing a new linux OS, at their installer, always select "installing bootloader to partition". We can also choose not to install bootloader, but selecting 'to partition' (Manjaro calls this 'to system') is good enough and is preferable to have a bootloader installed at every OS.
When installing a new linux OS, at their installer, always select "installing bootloader to partition". We can also choose not to install bootloader, but selecting 'to partition' (Manjaro calls this 'to system') is good enough and is preferable to have a bootloader installed at every OS.

Revision as of 07:54, 2 February 2023

Other languages:
English • ‎Türkçe • ‎русский

Введение

Это не для того, чтобы вернуть или восстановить загрузчик Manjaro. Чтобы восстановить загрузчик Manjaro, смотрите здесь.

Это необходимо для того, чтобы предотвратить переопределение рабочего загрузчика Manjaro загрузчиками других ОС. Подобное может произойти, когда другая ОС обновляет свой grub (не update-grub). А из-за реализации intel-ucode в Manjaro, загрузчик другой ОС не сможет загрузить Manjaro OS, отсюда и это руководство.

Bios-legacy системы

Загрузите все остальные ОС linux и на их терминалах сделайте следующее

sudo grub-install --force /dev/sdxy

где /dev/sdxy - другой раздел ОС. Обратите внимание, что для некоторых ОС требуется команда 'grub2-install'. Если требуется дополнительная информация, смотрите здесь.

When installing a new linux OS, at their installer, always select "installing bootloader to partition". We can also choose not to install bootloader, but selecting 'to partition' (Manjaro calls this 'to system') is good enough and is preferable to have a bootloader installed at every OS.

If you choose to uninstall Manjaro later on, remember to make the other OS bootloader as default before uninstalling.

UEFI systems

At any linux OS terminal, see output of

efibootmgr

It will give an output like this:

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

Make sure Manjaro bootorder is at the beginning as above: "BootOrder: 0001,0002,0004,0005,0008" If it is not, reorder such that it is, like this:

sudo efibootmgr -o 0001,0002,0004,0005,0008

Whenever we install another OS, it will be at the top of that bootorder; and we will need to reorder such that Manjaro is again at the top. And we can do that at that install livecd media itself. If we forget, we can do it after installation at any OS. For UEFI, we can still select Manjaro to boot at boot-setup (one of F8 ~ F12).

That alone should be sufficient for most UEFI systems. However in some situations (and reported in some topics here), it is not (possibly due to firmware issues). The above steps do not ensure that Manjaro bootorder will be booted up. In these cases, one extra command is required.

sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi

Or, if done at livecd (or another OS) and mounted / partition to /mnt and /boot/efi partition to /mnt/boot/efi

sudo cp /mnt/boot/grub/x86_64-efi/core.efi /mnt/boot/efi/EFI/boot/bootx64.efi

Copying /boot/efi/EFI/Manjaro/grubx64.efi instead of /boot/grub/x86_64-efi/core.efi can also accomplish the same thing because /boot/efi/EFI/Manjaro/grubx64.efi is itself a copy of /boot/grub/x86_64-efi/core.efi

So doing this is also an alternative.

sudo cp /boot/efi/EFI/Manjaro/grubx64.efi /boot/efi/EFI/boot/bootx64.efi

Doing this extra command where the extra command is not needed does not seem to harm the system.

A fallback alternative

(Both bios-legacy and uefi)

We can despite our efforts, still use the other OS grub to boot Manjaro, and might come in useful, particularly if the above methods seems daunting. Or if we are stuck not being able to get to Manjaro bootloader.

At the other OS grub 2 system, create a custom.cfg file

sudo touch /boot/grub/custom.cfg

Some OS's like Suse, Fedora, Mageia uses directory in /boot/grub2 not /boot/grub, so do so accordingly. Then add the following in the newly created custom.cfg. No need to update-grub or change /etc/default/grub and will stand (persist) grub-installs or update-grubs. And of course persists to any new Manjaro kernel. Note this entry/entries will not be shown in their 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 will need additional tweeks (rootflag=subvolume=@)

Cookies help us deliver our services. By using our services, you agree to our use of cookies.