Как вручную добавить Windows 7 в список Grub?

Я отчаянно пытаюсь добавить Windows 7 в Grub. Я пробовал sudo update-grub, я запустил sudo os-prober, но я не могу добавить окна для добавления в grub.

Может кто-нибудь объяснить, как вручную добавить Windows 7 в мой Grub?

4 ответа

  1. Откройте терминал и введите:

sudo nano /etc/grub.d/40_custom

  1. Добавьте следующую строку:
menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
chainloader +1
}

соответствующим образом изменив расположение windows 7 на вашем компьютере.

  1. Бежать sudo update-grub

Примечание. Если вы не будете осторожны, эти операции могут испортить ваш компьютер.

grub-customizer помог мне. Он автоматически обнаружил Windows 7 для меня, и я смог добавить его и изменить положение и заголовок в меню.

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update 
sudo apt-get install grub-customizer

Прежде чем пытаться что-либо предпринять, я предлагаю вам перейти к терминалу, нажав Ctrl+Alt+T, и введите следующее:

sudo update-grub2

Это должно проверить вашу систему на наличие всех существующих ОС и добавить их в меню Grub (см. Примечание¹)

Далее скачиваем и запускаем boot-repair

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

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

Если ничего из вышеперечисленного не работает, см. Note², чтобы вручную добавить запись Windows в меню GRUB.

Источник


Note¹:

Если на одном жестком диске установлено несколько систем Windows, вы, скорее всего, увидите только одну систему Windows в итоговом меню GRUB при загрузке. Это связано с тем, что этот параметр относится к загрузчику Windows, который находится в загрузочном секторе жесткого диска и / или в начале каждого раздела Windows. Когда эта опция вызывается, он запустит диспетчер загрузки Windows, который позволит вам выбрать другие среды Windows.

Вы должны понимать, что есть разница между менеджером загрузки и загрузчиком. По большей части GRUB и диспетчер загрузки Windows (BOOTMGR) выполняют обе функции. Однако диспетчер загрузки Windows не может загрузить среду Linux, и наоборот, GRUB не может загрузить среду Windows.

Следовательно, если вы используете GRUB в качестве основного загрузочного менеджера и выбираете среду Windows при загрузке, он загрузит BOOTMGR в качестве загрузчика для любой установленной вами системы Windows и перейдет на экран BOOTMGR, который позволяет вам выберите Windows 10 или Windows 7 из списка.

Аналогично, если вы вместо этого используете BOOTMGR в качестве основного (используя bcdedit), когда вы выбираете дистрибутив Linux из меню, он не загружается непосредственно в систему: он просто запускает GRUB (который затем должен находиться в начале корневого раздела вместо загрузочного сектора HD) и позволяет вам выберите нужную систему оттуда.

Note²:

Если ничего из вышеперечисленного не работает, вы можете вручную добавить запись в Windows. Это решение обеспечивает правильную запись в меню grub2 для загрузки в Windows 10.
Необходимо предостеречь, что редактирование меню GRUB не рекомендуется, поскольку оно может сломать вашу систему. Но если вам нужно сделать это, вот как.

Сначала проверьте, на каком диске и разделе находится загрузка Windows EFI:

parted --list

Теперь найдите UUID раздела. Например:

blkid /dev/sda2

возвращает:

/dev/sda2: UUID="1AC3-9984" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="dda518e7-aa6d-4944-9a59-e459f0f7944e"

Затем вы можете редактировать /etc/grub.d/40_customGrub файл, чтобы добавить строки, которые помогут вам загрузиться в вашей системе Windows

sudo gedit /etc/grub.d/40_custom

Добавьте следующие изменения в соответствии с вашей конфигурацией:

menuentry 'Windows 10 (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-1AC$
        insmod part_gpt
        insmod ntfs
        insmod search_fs_uuid
        insmod chain

        set root='hd0,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-barem$
        else
          search --no-floppy --fs-uuid --set=root 1AC3-9984
        fi
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

обратите внимание, что запись настроена для загрузки со 2-го раздела gpt2 1-го жесткого диска hd0 или ahci0. Если вы работаете над наследием, то замените все gpt с msdos

Теперь вы можете обновить файл grub

upgrade-grub

Перезагрузите систему, чтобы увидеть меню GRUB.

Источник

Лучше использовать Boot Repair

  • либо из сеанса live Ubuntu (загрузите компьютер с live-CD Ubuntu или live-USB, затем выберите "Try Ubuntu"), либо из установленного сеанса Ubuntu (если вы можете получить к нему доступ)

  • подключиться к Интернету

  • откройте новый терминал, затем введите следующие команды (нажмите Enter после каждой строки):

    sudo add-apt-repository ppa: yannubuntu / boot-repair
    sudo apt-get update
    sudo apt-get install -y boot-repair && boot-repair

Рекомендуемый ремонт
1. Запустите Boot-Repair из:

  • тире (логотип Ubuntu в верхнем левом углу экрана)
  • или набрав "boot-repair" в терминале

    1. Затем нажмите кнопку "Рекомендуемый ремонт". Когда восстановление будет завершено, запишите URL-адрес (paste.ubuntu.com/XXXXX), который появился на бумаге, затем перезагрузите компьютер и проверьте, восстановили ли вы доступ к своим ОС.
    2. Если восстановление не удалось, укажите URL-адрес людей, которые помогут вам по электронной почте или на форуме.
Другие вопросы по тегам