Восстановление начальной загрузки создало слишком много записей меню личинки для Windows

Я недавно установил Ubuntu в двойной загрузке наряду с Windows 10 на ноутбуке HP. Первоначально я не мог загрузить Windows с помощью личинки, поскольку выбор опций Windows просто циклично выполнится назад для расчистки.

Затем я выполнил восстановление начальной загрузки, и все эти дополнительные опции обнаружились в меню личинки.

Я могу открыть Windows с помощью опции "Windows UEFI bootmgfw.efi", но не используя стандартную опцию "Windows Boot Manager (на/dev/sda1).

Как я уменьшаю эти записи и почему я не могу загрузить Windows с помощью последней опции?

Вот изображение личинки. Первой опцией является Ubuntu:

grub - the 1st option is Ubuntu

9
задан 19 May 2019 в 19:20

2 ответа

Windows вне темы здесь, но ответ - то, что это - очень старая технология, и загрузочный сектор составляет только 512 байтов, таким образом, это не является достаточно большим для содержания всего, что мы хотели бы, чтобы это содержало.

Легко добавить и удалить записи из личинки все самостоятельно:

  1. Возьмите полное системное резервное копирование своего всего компьютера включая другое использование Ose Живой CloneZilla
  2. Нет, я не шутил! Возьмите полное системное резервное копирование сначала!:-)
  3. Каждый раз, когда кто-то говорит Вам устанавливать PPA быть очень осторожным, провести Ваше собственное исследование, если это - то, что Вы действительно хотите и только затем продолжаете
  4. Личинка-customizer установки путем выполнения следующих команд:

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer
    sudo apt update
    sudo apt install grub-customizer
    
  5. Запустить grub-customizer и настройте ад из него: enter image description here

  6. Если Вы сталкиваетесь с серьезной проблемой, восстанавливаете Ваше системное резервное копирование.

4
ответ дан 23 November 2019 в 04:57

Каждый раз я работал boot-repair это добавляет 5 дополнительных Windows параметры загрузки к моему основному grub меню, которые не работают. В Вашем случае это добавило 11 дополнительных записей!

grub.cfg показывает проблему

Секрет может быть найден в /etc/grub/grub.cfg файл:

### BEGIN /etc/grub.d/25_custom ###
    menuentry "Windows UEFI bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Boot/bkpbootx64.efi
}

menuentry "EFI/ubuntu/fwupx64.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/ubuntu/fwupx64.efi
}

menuentry "Windows UEFI bootmgfw.efi sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Boot/bkpbootx64.efi
### END /etc/grub.d/25_custom ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/nvme0n1p2)' --class windows --class os $menuentry_id_option 'osprober-efi-D656-F2A8' {
    savedefault
    insmod part_gpt
    insmod fat
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root  D656-F2A8
    else
      search --no-floppy --fs-uuid --set=root D656-F2A8
    fi
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-9478-B6E2' {
    savedefault
    insmod part_gpt
    insmod fat
    set root='hd0,gpt1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  9478-B6E2
    else
      search --no-floppy --fs-uuid --set=root 9478-B6E2
    fi
    chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###

Раздел 30_os-prober содержит "хороший" Windows grub записи меню Вы хотите сохранить. Раздел 25_custom содержит поддельные записи, созданные boot-repair. Вы не можете отредактировать конфигурационный файл личинки, потому что он будет просто перезаписан в следующий раз update-grub выполняется.


Раздел 25_custom был создан Восстановлением Начальной загрузки

В моей системе:

$ locate 25_custom
/boot/efi/boot-repair/log/20171111_224241/nvme0n1p5/25_custom
/boot/efi/boot-repair/log/20171208_030854/nvme0n1p5/25_custom
/etc/grub.d/25_custom

Смотрите на дополнительные опции Windows, которые были установкой (и не работайте):

$ cat /boot/efi/boot-repair/log/20171208_030854/nvme0n1p5/25_custom
#!/bin/sh
exec tail -n +3 $0

menuentry "Windows UEFI bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Boot/bkpbootx64.efi
}

menuentry "EFI/ubuntu/fwupx64.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/ubuntu/fwupx64.efi
}

menuentry "Windows UEFI bootmgfw.efi sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Boot/bkpbootx64.efi

Это ошибочные записи boot-repair созданный в /etc/grub.d/25_custom это было впоследствии скомпилировано в \boot\grub\grub.cfg.


Обратите изменение Восстановления Начальной загрузки к 25_custom

Использовать sudo -H gedit /etc/grub.d/25_custom и удалите все кроме первых трех строк:

#!/bin/sh
exec tail -n +3 $0
  • Файл теперь содержит две строки с текстом и одной пустой строкой.
  • Сохраните файл.
  • Выполненный sudo update-grub.
  • Перезагрузка.

Теперь Ваше меню больше не чрезмерно увеличено в размере с пятью поддельными записями меню Windows, которые не работают.

Перепроверка там является тремя строками в 25_custom

Выполните эту команду и проверьте 25_custom имеет три строки:

$ wc /etc/grub.d/25_custom
      3       6      30
#     ^       ^       ^
#     |       |       +--- Number of characters
#     |       +----------- Number of words
#     +------------------- Number of lines

Я добавил # комментарии для дешифровки wc (подсчет слов) производится.

9
ответ дан 23 November 2019 в 04:57

Другие вопросы по тегам:

Похожие вопросы: