Менеджер загрузки ОС запускается вместо grub (устаревшая загрузка)

Менеджер загрузки ОС запускается вместо grub (устаревшая загрузка)

Я установил Windows 7 и Kali Linux на свой ноутбук, но когда я включаю компьютер, он автоматически запускает Windows. Чтобы Kali запустился, мне нужно войти в меню порядка загрузки и выбрать вариант загрузки с жесткого диска ноутбука, после чего он запустит grub с Kali.

Другой вариант, который выполняется первым, — это администратор загрузки ОС, который, как я думаю, является загрузчиком Windows, хотя он и последний в порядке загрузки в BIOS.

Я подумал, что разделы настроены так, что загружается grub, но uefi настроен так, что сначала запускается менеджер загрузки SO, который загружает только Windows.

Изображение настройки BIOS

Чтобы загрузить Kali, мне придется вручную вставить загрузочный диск:

Параметры загрузки Изображение

Изменить порядок загрузки Третий вариант загружает grub, а первый загружает windows, который является первым по дефекту, и я не могу его изменить. Есть идеи, как настроить grub в менеджере загрузки ОС или сделать так, чтобы жесткий диск загружался первым?

решение1

Я обнаружил, что на некоторых компьютерах (особенно HP) BIOS работает со сбоями, в которых указана конфигурация UEFI для загрузки после устаревшей версии, которая сначала запускает файл Windows .efi (я выяснил, что так происходит всегда).

Лучшим решением было бы вернуть его, исходя из того, что в биосе есть ошибки, поэтому они не будут их делать снова. Я разработал обходной путь, который на самом деле не рекомендуется (никогда не стоит возиться с загрузкой).

  1. вы обнаруживаете свой раздел «EFI partition system», обычно он находится в /dev/sda1, но может отличаться. вы можете проверить разделы с помощью sudo fdisk -l.

  2. Смонтируйте раздел EFI в /mnt(или куда угодно, но именно для этого /mntон там и находится).

  3. В этом разделе должно быть как минимум 2 папки EFI(если у вас Windows и Linux): одна с именем Microsoft, а другая с именем вашей ОС Linux (в моем случае это Kali), иногда может быть указано Debian или Fedora, если это дистрибутив, производный от одного из них (я буду обозначать его как [ОС]).

Менеджер загрузки ОС UEFI запускает файл EFI/Microsoft/Boot/bootmgfw.efi, это цепной загрузчик, который выполняет все остальные файлы для загрузки Windows. Linux grub находится в папке [OS](имя может быть grubx64.efi или grubia32.efi в зависимости от архитектуры).

  1. Скопируйте файл /mnt/EFI/Microsoft/Boot/bootmgfw.efiв основную папку, это можно сделать (из /EFI/) следующим образом:sudo cp MIcrosoft/Boot/bootmgfw.efi bootmgfw.efi

  2. Скопируйте файл grub в Windows как bootmgfw.efi с помощью (из /mnt/EFI/): sudo cp kali/grubx64.efi /Microsoft/Boot/bootmgfw.efi.

  3. Размонтируйте раздел и перезагрузитесь, теперь он должен загрузиться напрямую в grub, но Windows будет возвращаться к grub. Чтобы исправить это, вы можете изменить конфигурацию, нажав e перед выбором раздела Windows, и изменив то, что написано chainloader +1на chainloader /EFI/bootmgfw.efi.

  4. Чтобы сделать его постоянным, загрузитесь в Linux и отредактируйте /boot/grub/grub.cfgфайл в меню для Windows 7. Затем запустите update-grub и grub-install.

Примечание: Будьте очень осторожны, чтобы не изменить ничего другого, потому что это может привести к тому, что компьютер не сможет ничего загрузить. Изменение файла grub на самом деле не рекомендуется.

Связанный контент