LINUX.ORG.RU

загрузчик Grub не распознает установленную Windows и не отображает ее в списке систем для загрузки

 , , ,


0

0

Приветствую всех.

С Timeshift выполнил восстановление,выключил пк, включил и после этого в окне груб пропал пункт windows 7(на один ПК установлены арч и виндовс), пожалуйста подскажите как сделать чтобы там снова появился пункт виндовс и по какой причине так случилось?

https://losst.pro/oshibka-grub-ne-vidit-windows-10---выполнил всё что здесь рекомендовано-не помогло


Если автоматом никак не находит, можно добавить его вручную, у GRUB команда chainloader позволяет запустить загрузку винды с ее раздела.

Как конкретно - проще спросить у нейросети, «как в GRUB2 вручную добавить пункт загрузки Windows через chainloader». Потом у нее же уточнить, что не понятно.

James_Holden ★★★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)

https://losst.pro/oshibka-grub-ne-vidit-windows-10---выполнил всё что здесь рекомендовано-не помогло

На сайте возникла критическая ошибка.

Узнайте больше про решение проблем с WordPress.

Включи os-prober и перегенерируй конфиг grub.

Linux и Windows должны быть установлены в одном режиме работы загрузчика, т.е. BIOS или UEFI - обе.

Читай: https://wiki.archlinux.org/title/GRUB

Раздел 4.1 весь. В разделе 4.1.2 написано про os-prober.

kostik87 ★★★★★
()
Ответ на: комментарий от mx__

на sdb1 виндовс на sdc1 арч

user@arch ~ $ lsblk --fs 
NAME FSTYPE FSVER LABEL                    UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                            
├─sda1
│    ntfs         Зарезервировано системой 363C91323C90EE5D                                    
└─sda2
     ntfs                                  F24C56834C564291                                    
sdb                                                                                            
└─sdb1
     ntfs                                  8C6C93376C931B52                                    
sdc                                                                                            
└─sdc1
     ext4   1.0   arch                     2f880976-fa26-41c1-a14b-99428d3ba468  173,6G    16% /
sdd  iso966       RESCUE1201               2025-05-26-11-36-03-00                              
├─sdd1
│    iso966       RESCUE1201               2025-05-26-11-36-03-00                     0   100% /run/media/user/RESCUE1201
└─sdd2
     vfat   FAT12                          0CC4-D6A6                                           
user@arch ~ $ 
user@arch ~ $ lsblk 
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0   100M  0 part 
└─sda2   8:2    0 465,7G  0 part 
sdb      8:16   0 238,5G  0 disk 
└─sdb1   8:17   0 238,5G  0 part 
sdc      8:32   0 223,6G  0 disk 
└─sdc1   8:33   0 223,6G  0 part /
sdd      8:48   1   7,2G  0 disk 
├─sdd1   8:49   1     1G  0 part /run/media/user/RESCUE1201
└─sdd2   8:50   1   1,4M  0 part 
user@arch ~ $ 
user@arch ~ $
ammm
() автор топика
Ответ на: комментарий от ammm

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

ammm
() автор топика
Ответ на: комментарий от James_Holden

файл 40_custom не существует у меня , если так, то что куда ставить в моём случае, пожалуйста уточните

sudo nano /etc/grub.d/40_custom
Если файл 40_custom не существует, вы можете создать его

menuentry «Windows» { set root=(hd0,1) # Замените (hd0,1) на ваш раздел
chainloader +1
}

ammm
() автор топика
Ответ на: комментарий от ammm

а что вообще есть в /etc/grub.d/
пакет grub должен устанавливать

Package Contents
etc/grub.d/00_header
etc/grub.d/10_linux
etc/grub.d/20_linux_xen
etc/grub.d/25_bli
etc/grub.d/30_os-prober
etc/grub.d/30_uefi-firmware
etc/grub.d/40_custom
etc/grub.d/41_custom
etc/grub.d/README
pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от ammm

Если так, то надо просто создать этот файл с таким содержимым, как оно пишет.

hd0,1 - это номер раздела на котором винда. Я так понял по постам выше, что это будет hd1,1 у вас.

James_Holden ★★★★★
()
Ответ на: комментарий от PunkPerson

sudo grub-mkconfig–так Вы хотели сказать?

user@arch ~ $ sudo update-grub 
[sudo] пароль для user: 
sudo: update-grub: команда не найдена
user@arch ~ $ 
user@arch ~ $  sudo grub-mkconfig
Генерируется файл настройки grub …
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd2,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1  2f880976-fa26-41c1-a14b-99428d3ba468
else
  search --no-floppy --fs-uuid --set=root 2f880976-fa26-41c1-a14b-99428d3ba468
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=ru_RU
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/06_grub-customizer_menu_color_helper ###
### END /etc/grub.d/06_grub-customizer_menu_color_helper ###

### BEGIN /etc/grub.d/10_linux_proxy ###
Найден образ linux: /boot/vmlinuz-linux
Найден образ initrd: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot:  intel-ucode.img amd-ucode.img initramfs-linux-fallback.img




### END /etc/grub.d/10_linux_proxy ###

### BEGIN /etc/grub.d/15_ostree ###
### END /etc/grub.d/15_ostree ###

### BEGIN /etc/grub.d/30_os-prober_proxy ###
Предупреждение: Для обнаружения других загрузочных разделов будет запущен os-prober. 
Результат работы будет использован для обнаружения загружаемых файлов и создания новых загрузочных записей.
### END /etc/grub.d/30_os-prober_proxy ###

### BEGIN /etc/grub.d/31_linux_proxy ###
Найден образ linux: /boot/vmlinuz-linux
Найден образ initrd: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot:  intel-ucode.img amd-ucode.img initramfs-linux-fallback.img
menuentry "Arch Linux" --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-2f880976-fa26-41c1-a14b-99428d3ba468' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='hd2,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1  2f880976-fa26-41c1-a14b-99428d3ba468
	else
	  search --no-floppy --fs-uuid --set=root 2f880976-fa26-41c1-a14b-99428d3ba468
	fi
	echo	'Загружается Linux linux …'
	linux	/boot/vmlinuz-linux root=UUID=2f880976-fa26-41c1-a14b-99428d3ba468 rw  loglevel=3 quiet
	echo	'Загружается начальный виртуальный диск …'
	initrd	/boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-linux.img
}
submenu "Дополнительные параметры для Arch Linux"{
menuentry "Arch Linux, с Linux linux" --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-2f880976-fa26-41c1-a14b-99428d3ba468' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd2,msdos1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1  2f880976-fa26-41c1-a14b-99428d3ba468
		else
		  search --no-floppy --fs-uuid --set=root 2f880976-fa26-41c1-a14b-99428d3ba468
		fi
		echo	'Загружается Linux linux …'
		linux	/boot/vmlinuz-linux root=UUID=2f880976-fa26-41c1-a14b-99428d3ba468 rw  loglevel=3 quiet
		echo	'Загружается начальный виртуальный диск …'
		initrd	/boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-linux.img
}
menuentry "Arch Linux, with Linux linux (fallback initramfs)" --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-2f880976-fa26-41c1-a14b-99428d3ba468' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd2,msdos1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1  2f880976-fa26-41c1-a14b-99428d3ba468
		else
		  search --no-floppy --fs-uuid --set=root 2f880976-fa26-41c1-a14b-99428d3ba468
		fi
		echo	'Загружается Linux linux …'
		linux	/boot/vmlinuz-linux root=UUID=2f880976-fa26-41c1-a14b-99428d3ba468 rw  loglevel=3 quiet
		echo	'Загружается начальный виртуальный диск …'
		initrd	/boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-linux-fallback.img
}
}
### END /etc/grub.d/31_linux_proxy ###

### BEGIN /etc/grub.d/32_ostree ###
### END /etc/grub.d/32_ostree ###

### BEGIN /etc/grub.d/33_linux_xen ###
### END /etc/grub.d/33_linux_xen ###

### BEGIN /etc/grub.d/34_bli ###
if [ "$grub_platform" = "efi" ]; then
  insmod bli
fi
### END /etc/grub.d/34_bli ###

### BEGIN /etc/grub.d/35_os-prober_proxy ###
Предупреждение: Для обнаружения других загрузочных разделов будет запущен os-prober. 
Результат работы будет использован для обнаружения загружаемых файлов и создания новых загрузочных записей.

### END /etc/grub.d/35_os-prober_proxy ###

### BEGIN /etc/grub.d/36_uefi-firmware ###
Добавляется элемент загрузочного меню для настроек микропрограммы UEFI …
if [ "$grub_platform" = "efi" ]; then
	fwsetup --is-supported
	if [ "$?" = 0 ]; then
		menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
			fwsetup
		}
	fi
fi
### END /etc/grub.d/36_uefi-firmware ###

### BEGIN /etc/grub.d/37_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/37_custom ###

### BEGIN /etc/grub.d/40_custom ###
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
завершено
user@arch ~ $ 

ammm
() автор топика
Ответ на: комментарий от mx__
user@arch ~ $ os-prober
unshare failed: Operation not permitted
mkdir: невозможно создать каталог «/var/lib/os-prober/mount»: Отказано в доступе
mkdir: невозможно создать каталог «/var/lib/os-prober/mount»: Отказано в доступе
mkdir: невозможно создать каталог «/var/lib/os-prober/mount»: Отказано в доступе
mkdir: невозможно создать каталог «/var/lib/os-prober/mount»: Отказано в доступе
user@arch ~ $ sudo nano os-prober
user@arch ~ $ sudo os-prober
user@arch ~ $
ammm
() автор топика
Ответ на: комментарий от ammm

sudo os-prober должен найти все левые os и вывести строку на них. Если пусто то кроме linux тут ничего нет (не видит).

P.S. Я правда на всякий случай проверил, есть ли в системе что видит/работает с ntfs …

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 2)
Ответ на: комментарий от ammm

«…но чего-то мне сегодня не колдуется с утра.»

Пока нет внятного что, где, когда. Из разметки конечно можно кое-что вытянуть… Ученику будет полезно прочесть эту тему. Поищи на форуме, в моих комментариях много раз давал ссылку «загрузка любой виндовс».

Мимоходом, винда у тебя в легаси-режиме.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)
Ответ на: комментарий от PunkPerson

update-grub бесполезен. В офф. Грабе отключено определение винды. Раньше нет. Правильней прописать вручную, но тут я лично только знал, как более раннее. Я исправлял эту багу установкой убунты, она хватала всё сборки без разбора.

nicholas_ru
()
Ответ на: комментарий от ammm

Сначала подумал, что показалось.

### BEGIN /etc/grub.d/35_os-prober_proxy ###

‘…_proxy’ - обычно следствие применения кастомайзеров.

### BEGIN /etc/grub.d/06_grub-customizer_menu_color_helper ###
### END /etc/grub.d/06_grub-customizer_menu_color_helper ###

Вот и накастомизировал на свою голову, что сам чёрт не разберёт.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)
Ответ на: комментарий от nicholas_ru

sudo pacman -Syu os-prober && sudo mount -p /dev/sda1 /mnt/win7 && sudo grub-mkconfig -o /boot/grub/grub.cfg–а почему не так? Вы что имеете в виду "Я исправлял эту багу установкой убунты–у Вас была такая же ошибка и чтобы исправить удалили арч и вместо него поставили убунту?

ammm
() автор топика