Difference between revisions of "Preserve Manjaro Bootloader/ru"
Views
Actions
Namespaces
Variants
Tools
(Created page with "Некоторые ОС, такие как Suse, Fedora, Mageia используют каталог в /boot/grub2, а не /boot/grub, поэтому учтите этот м...") |
(Created page with "Это приведет к следующему результату: BootCurrent: 0001 Timeout: 1 seconds BootOrder: 0001,0002,0004,0005,0008 Boot0001* manjaro Boot0002*...") |
||
Line 23: | Line 23: | ||
efibootmgr | efibootmgr | ||
Это приведет к следующему результату: | |||
BootCurrent: 0001 | BootCurrent: 0001 | ||
Timeout: 1 seconds | Timeout: 1 seconds |
Revision as of 09:23, 2 February 2023
Введение
Это не для того, чтобы вернуть или восстановить загрузчик Manjaro. Чтобы восстановить загрузчик Manjaro, смотрите здесь.
Это необходимо для того, чтобы предотвратить переопределение рабочего загрузчика Manjaro загрузчиками других ОС. Подобное может произойти, когда другая ОС обновляет свой grub (не update-grub). А из-за реализации intel-ucode в Manjaro, загрузчик другой ОС не сможет загрузить Manjaro OS, отсюда и это руководство.
Bios-legacy системы
Загрузите все остальные ОС linux и на их терминалах сделайте следующее
sudo grub-install --force /dev/sdxy
где /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
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
Так что это тоже альтернатива.
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=@)