Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Grub не видит Windows с жесткого диска  (Прочитано 198759 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AXX

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #45 : 15 Марта 2022, 08:27:03 »
ну все устаревает, если устареет то можно обновить.
пока вроде все работает, кроме загрузки винды)
вот конфиг
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${initrdfail}" = 2 ]; then
   set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
   set next_entry="${prev_entry}"
   set prev_entry=
   save_env prev_entry
   if [ "${next_entry}" ]; then
      set initrdfail=2
   fi
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 initrdfail {
    if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
      if [ -z "${initrdfail}" ]; then
        set initrdfail=1
        if [ -n "${boot_once}" ]; then
          set prev_entry="${default}"
          save_env prev_entry
        fi
      fi
      save_env initrdfail
    fi; fi
}
function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; 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='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
else
  search --no-floppy --fs-uuid --set=root d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
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_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=10
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=10
  # Fallback normal timeout code in case the timeout_style feature is
  # unavailable.
  else
    set timeout=10
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
else
  search --no-floppy --fs-uuid --set=root d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
fi
linux /boot/vmlinuz-5.13.0-35-generic root=UUID=d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993 ro  quiet splash $vt_handoff
initrd /boot/initrd.img-5.13.0-35-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993' {
menuentry 'Ubuntu, with Linux 5.13.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.0-35-generic-advanced-d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
else
  search --no-floppy --fs-uuid --set=root d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
fi
echo 'Loading Linux 5.13.0-35-generic ...'
linux /boot/vmlinuz-5.13.0-35-generic root=UUID=d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993 ro  quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.13.0-35-generic
}
menuentry 'Ubuntu, with Linux 5.13.0-35-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.0-35-generic-recovery-d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
else
  search --no-floppy --fs-uuid --set=root d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
fi
echo 'Loading Linux 5.13.0-35-generic ...'
linux /boot/vmlinuz-5.13.0-35-generic root=UUID=d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993 ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.13.0-35-generic
}
menuentry 'Ubuntu, with Linux 5.13.0-19-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.0-19-generic-advanced-d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
else
  search --no-floppy --fs-uuid --set=root d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
fi
echo 'Loading Linux 5.13.0-19-generic ...'
linux /boot/vmlinuz-5.13.0-19-generic root=UUID=d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993 ro  quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.13.0-19-generic
}
menuentry 'Ubuntu, with Linux 5.13.0-19-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.0-19-generic-recovery-d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
else
  search --no-floppy --fs-uuid --set=root d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
fi
echo 'Loading Linux 5.13.0-19-generic ...'
linux /boot/vmlinuz-5.13.0-19-generic root=UUID=d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993 ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.13.0-19-generic
}
}

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

### BEGIN /etc/grub.d/10_linux_zfs ###
### END /etc/grub.d/10_linux_zfs ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry 'Memory test (memtest86+)' {
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
else
  search --no-floppy --fs-uuid --set=root d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
fi
knetbsd /boot/memtest86+.elf
}
menuentry 'Memory test (memtest86+, serial console 115200)' {
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
else
  search --no-floppy --fs-uuid --set=root d1699ac1-f2ea-4b93-ba0f-4ecfb9b43993
fi
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 10 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-D4A696A0A6968322' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  D4A696A0A6968322
else
  search --no-floppy --fs-uuid --set=root D4A696A0A6968322
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
menuentry 'Windows 10 (on /dev/sde1)' --class windows --class os $menuentry_id_option 'osprober-chain-B45A9EDA5A9E98A6' {
insmod part_msdos
insmod ntfs
set root='hd4,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd4,msdos1 --hint-efi=hd4,msdos1 --hint-baremetal=ahci4,msdos1  B45A9EDA5A9E98A6
else
  search --no-floppy --fs-uuid --set=root B45A9EDA5A9E98A6
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_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/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 ###

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 7961
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #46 : 15 Марта 2022, 09:25:54 »
Загружается - хорошо. Проверил - теперь в режиме легаси?
Вернемся к нашим баранам, к винде.
Формально, конфиг вроде правильный, для винды-легаси. Но...
menuentry 'Windows 10 (on /dev/sde1)' --class windows --class os $menuentry_id_option 'osprober-chain-B45A9EDA5A9E98A6' {
insmod part_msdos
insmod ntfs
set root='hd4,msdos1'
Как я писал раньше, этот фрагмент кода подтверждает, что Windows у тебя "размазана" по нескольким дискам.
Можно продолжить возиться с этим кодом. Но даже если удастся его "исправить", то первое-же обновление ядра снова его перезапишет.
Можно взять код загрузки "любой Windows" отсюда. На удачу, может быть заработает.
В любом случае. Искать файл bootmgr - это легаси-загрузчик Windows. Посмотреть на разделе sde1, sda1. Зависит от того, как на самом деле устанавливалась Windows.

Оффлайн Дюшик

  • Активист
  • *
  • Сообщений: 902
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #47 : 15 Марта 2022, 09:37:17 »
andytux,
Windows у ТС находится на диске 111 ГБ вся, в том числе и её загрузчик. ТС может это проверить, отключить все диски корме диска c Виндой и она должна будет загрузиться.

По крайней мере так было на момент скрина из поста №30, не знаю как сейчас. И после "работы" Boot-Repair можно ожидать чего угодно.

Оффлайн AXX

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #48 : 15 Марта 2022, 09:42:18 »
По крайней мере так было на момент скрина из поста №30, не знаю как сейчас. И после "работы" Boot-Repair можно ожидать чего угодно.
я думаю что ничего не изменилось - Windows-то грузится если выбрать нужный диск, а по исправленному конфигу - нет
но если что вот свежий скрин

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 7961
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #49 : 15 Марта 2022, 09:44:08 »
Это слишком хорошо, чтобы быть правдой. Это был-бы идеальный вариант.
Это стандартный вариант. Он заложен в мой код.
 Я уже предлагал ему проверить.
Идея с поиском загрузчика тоже на это направлена.

Оффлайн AXX

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #50 : 15 Марта 2022, 09:49:37 »
Как я писал раньше, этот фрагмент кода подтверждает, что Windows у тебя "размазана" по нескольким дискам.
насколько я понимаю это подтверждает что у меня есть 2 винды). в принципе это верно. когда я купил ssd диск, то поставил на него винду, а старую не стал сносить на всякий случай, мало ли зачем может пригодится, тем более она не сильно мешается. ну так она до сих пор и стоит на соседнем диске.
Собственно, в конфиге у меня появилось 2 позиции Win10 и обе с одинаковой ошибкой выпадают.

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

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 7961
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #51 : 15 Марта 2022, 09:59:06 »
"Все чудливее и странноватее..."
Какого-ж хера ты молчал... Разбирайся со своими двумя Windowsми, что, где, как.
Одно понятно, "автоматическое" создание конфига для винды у тебя работать не будет. Только руками.
Ищи все bootmgr.

Оффлайн Дюшик

  • Активист
  • *
  • Сообщений: 902
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #52 : 15 Марта 2022, 09:59:32 »
я думаю что ничего не изменилось - Windows-то грузится если выбрать нужный диск, а по исправленному конфигу - нет
но если что вот свежий скрин

Да, ничего не изменилось, Windows грузится c диска 111 ГБ.
Я по работе убунтовского GRUB ничего сказать не могу, я убунтой не пользуюсь и какие там изменения в работе GRUB, представляю плохо.

Как вариант, в Windows отключить гибернацию, если Вы этого ещё не сделали. Открыть ком.строку от имени администратора и выполнить в ней

powercfg -р off



Оффлайн AXX

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #53 : 15 Марта 2022, 10:01:38 »
Ищи все bootmgr.
нашел, что их искать. один на диске С, другой на на диске "Зарезервировано системой"

Оффлайн Дюшик

  • Активист
  • *
  • Сообщений: 902
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #54 : 15 Марта 2022, 10:08:01 »
AXX,
Я не понял, Вы Ubuntu переустановили или нет? Если не переустановили, то Windows  через GRUB загружаться не будет. Судя по скрину из поста №48, Ubuntu не переустановлена. 

Оффлайн AXX

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #55 : 15 Марта 2022, 10:15:45 »
AXX,
Я не понял, Вы Ubuntu переустановили или нет? Если не переустановили, то Windows  через GRUB загружаться не будет. Судя по скрину из поста №48, Ubuntu не переустановлена.
нет, я ничего не переустанавливал потому что пока не понял как переустановить, чтобы не повторить предыдущую установку.
пока единственный вариант который я понял - загрузить с установочного диска принудительно выбрав AHCI P5: HL-DT-SL DVDRAM GH24NS и проверить
Цитировать
Если есть каталог /sys/firmware/efi и в нем есть другие файлы, то линукс в ЕФИ-режиме.
этот вариант проверю вечером, Windows довольно медленно грузится с диска, утром не было времени.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 7961
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #56 : 15 Марта 2022, 13:36:45 »
Цитировать
в конфиге у меня появилось 2 позиции Win10
О как! Действительно, а я проглядел, увидел только одну. Как под копирку, у обоих вроде правильный конфиг, но не работает.
Из любопытства, а вторая Windows в рабочем состоянии, загрузить ее можно? Можешь не отвечать.

Цитировать
единственный вариант который я понял - загрузить с установочного диска принудительно выбрав AHCI P5: HL-DT-SL DVDRAM GH24NS
Да.
Если загрузочная флешка сделана командой dd, то аналогично с DVD, в боот меню должно быть два загрузочных устройства для флешки.
У тебя много дисков. В принципе, можно обойтись вообще без флешек и DVD. Исо-образ положить на любой диск, кроме того, куда будешь ставить линукс. Настроить груб на загрузку из исо-образа. Был-бы груб.
« Последнее редактирование: 15 Марта 2022, 13:38:41 от andytux »

Оффлайн AXX

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #57 : 15 Марта 2022, 13:47:56 »
Из любопытства, а вторая Windows в рабочем состоянии, загрузить ее можно?
думаю, да, а почему она должна быть нерабочая? вечером проверю.
В принципе, можно обойтись вообще без флешек и DVD. Исо-образ положить на любой диск, кроме того, куда будешь ставить линукс.
боюсь для меня это слишком сложно, да и диск уже есть.

Оффлайн Дюшик

  • Активист
  • *
  • Сообщений: 902
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #58 : 15 Марта 2022, 15:13:06 »
Если загрузка c установочного диска происходит в режиме UEFI, то в меню GRUB есть строчка типа EFI Firmware Settings.
При загрузке c установочного диска в режиме Legacy\CSM, такой строчки в меню GRUB'а нет.

Оффлайн AXX

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Grub не видит Windows с жесткого диска
« Ответ #59 : 15 Марта 2022, 19:23:26 »
Если загрузка c установочного диска происходит в режиме UEFI, то в меню GRUB есть строчка типа EFI Firmware Settings.
При загрузке c установочного диска в режиме Legacy\CSM, такой строчки в меню GRUB'а нет.
Так, кажется теперь понял в чем отличие.
Смущает только один момент - системный загрузчик он категорически хочет ставить только в раздел отформатированный как EFI

Пользователь добавил сообщение 15 Марта 2022, 19:46:13:
Ну собственно подозрения были не зря - ничего не изменилось. Ощущение что загрузчик вообще остался тот же(
По крайней мере визуально такая же менюшка с 2 Windowsми и выпадающими в ошибку

Пользователь добавил сообщение 15 Марта 2022, 19:49:43:
Вот предупреждение ubuntu что без EFI я действую на свой страх и риск


Пользователь добавил сообщение 15 Марта 2022, 19:53:07:
Вторая Windows, кстати не грузится, не находит устройство.
« Последнее редактирование: 15 Марта 2022, 19:53:07 от AXX »

 

Страница сгенерирована за 0.021 секунд. Запросов: 21.