Add windows to linux boot menu

How do I manually add windows 7 to grub list?

I am desperate to add Windows 7 to grub. I have tried sudo update-grub, I have run sudo os-prober, but I can’t seem to get windows to be added to grub. Can someone please explain how to manually add windows 7 to my grub?

Please stop starting new questions for the same Problem. Please provide the requested information in your other question.

I did, but no one answered the other questions, so I am asking a specific question: how do I manually add windows 7 to grub.

I did answer suggesting boot-repair and posting its resultst. Editing grub files is not recommended, it can break your system.

No worries. I have had no system for my kids for days now so Linux has to go as they need a working computer. Thanks for your help

4 Answers 4

sudo nano /etc/grub.d/40_custom

menuentry "Windows 7 (loader) (on /dev/sda1)"

by appropriately modifying the location of windows 7 in your computer.

Note If you are not careful these operations can mess up your computer.

I think this is the only answer at this moment that really addresses the question of adding the Windows boot entry manually. But just adding a Windows entry to the grub list will not fix problems with the Windows MBR file that may be present in the first place that may stop Windows from booting. — To fix those, run boot-repair from a live session and chose restore MBR . If that leads to directly booting to Windows, run boot-repair in a live session again and chose ‘Automatic repair’. Then, in Ubuntu sudo update-grub .

grub-customizer helped me. It auto-detected Windows 7 for me and I was able to add it and change position and title in the menu.

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

Before you attempt anything further, I suggest you go to a terminal by pressing Ctrl + Alt + T and enter the following:

This should scan your system for all existing OS’s and add them to the Grub menu (See Note¹)

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

The program should launch automatically or you can open it from the Apps list.

If none of the above works, see Note² to manually add a Windows entry to the GRUB menu.

Note¹:

If you have multiple Windows systems installed on the same hard drive, you will likely only see one Windows system in the resulting GRUB menu when it boots up. This is because that option is referring to the Windows boot loader which resides on the boot sector of the hard drive and/or at the beginning of each Windows partition. When that option is invoked it will run the Windows boot manager which will allow you to select your other Windows environments.

Читайте также:  Linux задание пароля пользователя

You should understand there’s a difference between a boot manager and a boot loader. For the most part both GRUB and the Windows Boot Manager (BOOTMGR) perform both duties. However Windows Boot Manager cannot load a Linux environment and vice versa, GRUB can’t actually load a Windows environment.

Hence if you’re using GRUB as your primary boot manager and you select a Windows environment at boot-up, it will load BOOTMGR as the boot loader for any Windows system you have installed and will be taken to a BOOTMGR screen which allows you to select either Windows 10 or Windows 7 from the list.

Similarly if you instead are using BOOTMGR as the primary (using bcdedit ), when you select the Linux distribution from the menu it will not boot directly into the system: it will just run GRUB (which should then reside at the beginning of the root partition instead of the boot sector of the HD) and allow you to select the desired system from there.

Note²:

If none of the above works you can manually add windows entry. This solution provides a proper entry in the grub2 menu to boot into Windows 10.
A requisite word of caution, editing the GRUB menu is not recommended because it can break your system. But if you need to do it, here’s how.

First check on which disk and partition is the Windows EFI boot:

Now find the UUID of the partition. E.g:

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

Then you can edit the /etc/grub.d/40_custom grub file to add the lines which will help you to boot into your Windows system

sudo gedit /etc/grub.d/40_custom 

Add the following modified according to your configuration:

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 > 

note that entry is configured to boot from the 2nd partition gpt2 of the 1st hard drive hd0 or ahci0. If you are working on legacy, then replace all gpt with msdos

Now you can update the grub file

Restart you system to see the GRUB menu

Источник

Настройка запуска меню загрузчика GRUB при установке Linux с Windows на один компьютер с таблицей разделов GPT

Привет, Хабр! Сегодня мы рассмотрим ситуацию, когда при двойной установке Linux & Windows загрузчик GRUB не стартует, давая возможность выбрать ОС, а автоматически загружается Windows. Немного теории:

GRUB (GRand Unified Bootloader) — программа-загрузчик операционных систем.
GRUB может загрузить любую совместимую с ней операционную систему. Среди них: Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR), MS-DOS, OS/2 и другие системы.

Значит с теорией мы немного разобрались (думаю этого будет достаточно), теперь же рассмотрим, какие бывают подводные камни, при установке Dual Boot Windows и Linux на одном компьютере.

Читайте также:  Xerox workcentre 3325 driver linux

image

Эксперимент производился на рабочей станции со следующими характеристиками:

Base Board Information

  • Size: 4096 MB
  • Type: DDR3
  • Speed: 1333 MHz
  • Manufacturer: Kingston
  • Rank: 2
  • product: ST500DM002-1BD14
  • vendor: Seagate
  • physical id: 0.0.0
  • bus info: scsi@0:0.0.0
  • logical name: /dev/sda
  • size: 465GiB (500GB)
  • capabilities: gpt-1.00 partitioned partitioned:gpt

Но, как показала практика, не со всеми дистрибутивами такое происходит. При установке Ubuntu 16.04.1 вместо Debian на ту же рабочую станцию вылез первый подводный камень — GRUB не стартовал, и Windows 10 автоматом шла на загрузку.

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

Важно! До начала выполнения инструкции нужно подготовить LiveCD с дистрибутивом Linux Mint — все операции мы будем выполнять на нем (я выбрал этот дистрибутив из-за того, что на него спокойно можно установить Midnight Commander, что сложно сделать на LiveCD с Ubuntu, так мы получаем больше пространства для маневров). Также стоит заметить, что команда из под консоли update-grub вам не поможет, так как она рассчитана на случай, когда GRUB запускается, но не видит другие ОС кроме Линукса. Также рекомендую создавать резервные копии файлов/каталогов, над которыми вы осуществляете хоть малейшие изменения.

    Через терминал, с правами root смонтировать раздел с EFI в папку /mnt. В моем случае, это была команда mount /dev/sda2 /mnt.

menuentry 'openSUSE Leap 42.2 27.01' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-996b3ed5-150f-4de3-a40c-6d385e27d6de' < load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod ext2 set root='hd0,gpt6' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 996b3ed5-150f-4de3-a40c-6d385e27d6de else search --no-floppy --fs-uuid --set=root 996b3ed5-150f-4de3-a40c-6d385e27d6de fi echo 'Загружается Linux 4.4.36-8-default …' linuxefi /boot/vmlinuz-4.4.36-8-default root=UUID=996b3ed5-150f-4de3-a40c-6d385e27d6de ro resume=/dev/sda7 splash=silent quiet showopts echo 'Загружается начальный виртуальный диск …' initrdefi /boot/initrd-4.4.36-8-default >

Написать openSUSE The best choice!:):

menuentry 'openSUSE The best choice!:)' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-996b3ed5-150f-4de3-a40c-6d385e27d6de' < load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod ext2 set root='hd0,gpt6' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 996b3ed5-150f-4de3-a40c-6d385e27d6de else search --no-floppy --fs-uuid --set=root 996b3ed5-150f-4de3-a40c-6d385e27d6de fi echo 'Загружается Linux 4.4.36-8-default …' linuxefi /boot/vmlinuz-4.4.36-8-default root=UUID=996b3ed5-150f-4de3-a40c-6d385e27d6de ro resume=/dev/sda7 splash=silent quiet showopts echo 'Загружается начальный виртуальный диск …' initrdefi /boot/initrd-4.4.36-8-default >

Хоть мелочь, а приятно! Остальное в коде советую не трогать.

Читайте также:  Аналог windirstat linux консоль

Если трудно разобраться с управлением Midnight Commander (в этом нет ничего страшного, у меня тоже в первый раз были проблемы с этой программой), все операции можно выполнить в файловом менеджере Nautilus (или в другом, не суть важно), но изначально запустив его под правами пользователя root.

После этого идем на перезагрузку и радуемся результату. Но, как оказывается, такая проблема есть и у дистрибутива OpenSUSE Leap 42.2. Как показала практика, если на компьютере установлен дистрибутив OpenSUSE с Windows 10, то приведенная выше инструкция не поможет. Точнее, она поможет, но только ее нужно дополнить. После выполнения основной части выполняем следующие шаги:

  1. После выполнения всех операций заходим в папку /EFI/opensuse/x86_64-efi/ (название итоговой папки x86_64-efi может быть другим в зависимости от архитектуры ПК)
  2. Копируем файл grub.efi (если у вас включена опция Secure Boot, там будет еще файл shim.efi, тогда советую скопировать их вместе)
  3. Заходим в папку /EFI/Boot и удаляем все файлы, которые там есть (при обновлении загрузчика они снова появятся, но в этом нет ничего страшного)
  4. Вставляем файл (или файлы), которые мы скопировали и спокойно идем на перезагрузку.
    Вот и вся инструкция. Думаю, кому-то пригодится…

Для тех же, кого заинтересовала данная тема, рекомендую прочитать статью: «Начальный загрузчик GRUB 2 — полное руководство».

Источник

How to add Windows 10 to grub boot loader?

Also, I have tried to change grub config with this answer https://askubuntu.com/questions/661947/add-windows-10-to-grub-os-list#answer-977251 — But in this case, There is Windows 10 — but when I chose — I will recursively going to grub

And with this answer https://askubuntu.com/questions/661947/add-windows-10-to-grub-os-list#answer-890562 I have an error message when chose Windows 10 — There is no bootmgr directory

Thanks @Kinnectus for help

/dev/sda1:FreeDOS:FreeDOS:chain /dev/sda2:FreeDOS:FreeDOS1:chain 
Generating grub configuration file . Found linux image: /boot/vmlinuz-4.10.0-38-generic Found initrd image: /boot/initrd.img-4.10.0-38-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin Found FreeDOS on /dev/sda1 Found FreeDOS on /dev/sda2 done 

Unfortunately — there is not Windows 10 in grub menu

Device Boot Start End Sectors Size Id Type /dev/sda1 2048 16779263 16777216 8G c W95 FAT32 (LBA) /dev/sda2 * 16779264 33556479 16777216 8G c W95 FAT32 (LBA) /dev/sda3 33556480 770219115 736662636 351,3G 7 HPFS/NTFS/exFAT /dev/sda4 770220030 976771071 206551042 98,5G 5 Extended /dev/sda5 770220032 976771071 206551040 98,5G 83 Linux Partition 4 does not start on physical sector boundary. 

There is an issue. Maybe the problem is with this issue?

Please, help me, I am stucking with this a whole day. I completely have no idea, what am I doing wrong.

Источник

Оцените статью
Adblock
detector