Как вручную добавить Windows 7 в список Grub?
Я отчаянно пытаюсь добавить Windows 7 в Grub. Я пробовал sudo update-grub, я запустил sudo os-prober, но я не могу добавить окна для добавления в grub.
Может кто-нибудь объяснить, как вручную добавить Windows 7 в мой Grub?
4 ответа
- Откройте терминал и введите:
sudo nano /etc/grub.d/40_custom
- Добавьте следующую строку:
menuentry "Windows 7 (loader) (on /dev/sda1)" { insmod part_msdos insmod ntfs set root='(hd0,msdos1)' chainloader +1 }
соответствующим образом изменив расположение windows 7 на вашем компьютере.
- Бежать
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" в терминале
- Затем нажмите кнопку "Рекомендуемый ремонт". Когда восстановление будет завершено, запишите URL-адрес (paste.ubuntu.com/XXXXX), который появился на бумаге, затем перезагрузите компьютер и проверьте, восстановили ли вы доступ к своим ОС.
- Если восстановление не удалось, укажите URL-адрес людей, которые помогут вам по электронной почте или на форуме.