Methods of payment Abuse

Error Grub does not see Windows 10

09.07.2024, 21:59

Grub (GNU GRand Unified Bootloader) is a free operating system boot loader used in many Linux distributions. It allows you to select the operating system to be booted at computer startup and manage the boot process of the system, it also supports booting various OSs, including different versions of Linux, Windows, macOS, allows you to customize boot parameters, create different boot profiles and perform other tasks related to booting operating systems.

Grub is usually installed at the beginning of a computer's hard disk and runs at system startup to allow the user to select an operating system to boot. Grub is an important part of many Linux distributions and plays a key role in the operating system booting process.

What is Grub

GRUB (GNU GRand Unified Bootloader) is a powerful and flexible operating system boot loader that is used in many Linux distributions and other operating systems such as FreeBSD. GRUB gives the user the ability to select the operating system or kernel to load when the computer starts.

It allows different operating systems to be loaded, as well as boot options for a particular operating system, such as safe mode or other boot options. It also supports multi-core systems and can automatically detect installed operating systems on the hard disk. It has a flexible configuration that allows users to customize boot parameters, add new kernels or operating systems to the boot menu, and perform other actions when booting the system.

GRUB is one of the most common boot loaders for Linux systems and is used by default in many Linux distributions such as Ubuntu, Fedora, Debian and many others.

Reasons why Grub does not see Windows 10

If Grub does not see Windows 10 on boot, it is possible that the Windows boot record has been corrupted or deleted. There are several reasons why this happens:

  1. Incorrect configuration: if Grub is misconfigured or not updated after installing Windows 10, it may not see the new operating system.
  2. Disk partition changes: After installing Windows 10, there may have been changes to the disk partitions that caused Grub to stop seeing the new operating system.
  3. Boot sector problems: incorrectly updating the boot sector or MBR (Master Boot Record) can cause a problem.
  4. UEFI/BIOS problems: incorrect settings in your computer's UEFI or BIOS may cause Grub to fail to detect the operating system correctly.
  5. Corrupt boot files: if the boot files are corrupted or missing, Grub will not be able to detect them.

Below we will tell you what to do if such a problem occurs.

Solving the problem

First, you can try to make our Windows partition more visible to the program. To do this, mount it to some folder. For example, to /mnt/:

sudo mount -t ntfs-3g -o ro /dev/sda1

Windows is installed on the partition, which is defined in Linux as /dev/sda1. Next, run the os-prober utility:

sudo os-prober

If the program detects Windows, what remains is to update the Grub bootloader configuration:

sudo update-grub

Or:

sudo grub2-mkconfig -o /boot/grub/grub.cfg

If this method doesn't work, the only thing left is to manually add a menu item for Windows. This is not the easiest solution, but it is an effective one. First we need to find out the UUID of the disk partition on which Windows is installed, for example /dev/sda1:

blkid /dev/sda1

Then open the file /etc/grub.d/40_custom and add this code there:

menuentry "Windows 10" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set B4A6AEB7A6AE7A0E
chainloader +1
}

This is how we set the first partition of the first disk as the root, and then tell the bootloader to find the partition with the UUID we want. Then we pass control to the loader on this partition using chainloader. The next thing left to do is to update the Grub configuration:

sudo update-grub

We used this method because now the configuration won't break after a kernel update or other process that initializes the configuration update. Because if we had added these lines to /boot/grub/grub.cfg, they would have been overwritten, if not on the first, then on one of the next system updates.

When the configuration is updated you can restart the computer and boot Windows with the new item. You can add multiple items this way, only you have to specify their UUIDs for different partitions.