что такое bcd windows

Загрузочный файл BCD с нуля с помощью Bcdedit

При запуске Bootmgr необходимы рабочие инструкции, получаемые из двоичного файла, называемого файлом данных конфигурации загрузки (BCD). Обычно этот файл находится в папке\boot активного раздела. Для настройки файла BCD используется команда Bcdedit. Давайте посмотрим, как с ее помощью построить загрузочный файл BCD с нуля

Рабочий файл BCD обычно включает как минимум два объекта. Во-первых, это диспетчер загрузки, содержащий всю загрузочную информацию, в частности указание на то, какой элемент списка загрузки операционных систем следует использовать по умолчанию, и время ожидания выбора пользователя, если существует несколько элементов списка загрузки операционных систем. Во-вторых, файл содержит хотя бы один элемент загрузки операционных систем. Порядок создания этих объектов описан ниже.

Начнем с удаления всех существующих файлов BCD и создания нового пустого файла. По странному свойству Bcdedit, сперва надлежит создать новый файл BCD в каком-либо месте, а затем «импортировать» его, то есть скопировать все его содержимое в «официальный» файл BCD в папке \boot активного тома. Это можно сделать с помощью двух команд, вводимых в окне командной строки с повышенными привилегиями:

Эти команды работают независимо от того, существует папка \boot\bcd в нужном месте либо в загрузочном томе вообще нет файлов BCD. После выполнения описанных выше действий вновь созданный файл BCD больше не нужен, и его можно удалить.

Теперь создадим диспетчер загрузки для файла BCD с помощью следующей команды:

Отметим параметр/create в этом варианте команды вместо применявшегося ранее /create store. Этот параметр позволяет создавать различные виды объектов BCD. С использованием данного параметра в комбинации с идентификатором создается диспетчер загрузки. Я опускаю описание использования команды с параметром /d, которое содержится в любом примере, который я смог найти в Интернете. При создании диспетчера загрузки эта информация не нужна.

Диспетчер загрузки не требует сложной настройки. Необходимо лишь указать загрузочный том и время ожидания выбора пользователем элемента списка загрузки операционных систем:

Перейдем к созданию элемента списка загрузки операционных систем, который укажет диспетчеру загрузки выполнить загрузку Windows из файлов в папке \Windows одного из томов системы. Обычно таким томом является диск C, однако в случае загрузки из среды предустановки Windows (WinPE) необходимо проверить, на каком диске находится папка \Windows, поскольку в WinPE он может называться D или E.

Создадим элемент списка загрузки операционных систем:

Параметры /create (без идентификатора) и /application osloader указывают на то, что элемент списка загрузки операционных систем создается для Vista и более поздней версии Windows. Параметр /d содержит метку, которую диспетчер загрузки указывает, предлагая варианты элементов списка загрузки операционных систем. После выполнения команды система возвращает новый глобально уникальный идентификатор (GUID), который нужно вставить в следующую команду:

На данном этапе мы имеем «голый» объект, для которого нужно установить некоторые значения с помощью команды Bcdedit/set, рассматривавшейся в предыдущих выпусках, посвященных Bcdedit. Какие значения следует устанавливать? Ответ прост. Берем выходные данные Bcdedit, полученные для исправной копии Windows, и используем их как модель. В моем случае папка \Windows находится на диске D, поэтому я ввожу следующее:

Наконец, вводим следующую команду, чтобы система Windows «увидела» элемент списка загрузки операционных систем должным образом:

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

Марк Минаси (www.minasi.com/gethelp) — старший редактор журнала Windows IT Pro, сертифицированный системный инженер по продуктам Microsoft

Поделитесь материалом с коллегами и друзьями

Источник

Все, что вы хотели знать про загрузку Windows, загрузчики и восстановление загрузки ОС

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

Принципы загрузки операционных систем

При включении компьютера управление процессором получает BIOS, и если он настроен на загрузку (boot) с винчестера, то он подгружает в оперативную память компьютера первый сектор диска (MBR) и передает управление ему. Если у вас несколько жестких дисков, то каждый из них содержит свою MBR. В этом случае можно или менять порядок загрузки дисков в BIOS, или же прописать все операционные системы с разных дисков в один PBR загрузчик, об этом ниже.

Сразу оговоримся, что если у BIOS у вас включен режим загрузки UEFI, то структура разделов диска у вас должна быть не MBR, а GPT. GPT имеет не только другую структуру разделов, но и другую структуру загрузочной области. Там в первый сектор записывается «заглушка» для BIOS (Protective MBR), которая служит для того, чтобы старый Legacy BIOS мог загрузиться с GPT диска в режиме совместимости, если ОС была установлена на GPT (часто в BIOS его называют CSM – Compatibility Support Module). Однако, вы никогда не сможете загрузить ОС с MBR диска, если в BIOS выставлена загрузка в режиме UEFI.

При загрузке операционной системы, сначала считывается первый сектор с устройства загрузки, представляющий собой главную загрузочную запись (Master Boot Record — MBR). Стандартно, в качестве MBR выступает первый сектор загрузочного диска. MBR содержит список разделов, признак активного раздела (раздела, с которого будет выполняться загрузка ОС), некоторые служебные данные, а также программный код для считывания в память загрузочного сектора активного раздела (Partition Boot Record — PBR) и передачи ему управления.

Размер сектора на жестком диске — 512 байт. В секторе MBR хранятся данные, которые должны заканчиваться специальной сигнатурой. Этим словом называется специальная, строго установленная, последовательность из 2 байт с шестнадцатеричными значениями 55h AAh, которая записывается в последние 2 байта сектора и соответственно имеет смещение от начала сектора 1FEh. Если хотя бы один из двух последних байтов отличается по значению, считается, что первый сектор не является MBR и не содержит осмысленной информации. Если компьютер при старте, прочитав первый сектор, не обнаружит правильной сигнатуры, он не будет передавать управление располагающемуся там коду, даже если он правильный, а выдаст сообщение о том, что главная загрузочная запись не найдена.

Общая структура MBR может быть представлена следующей таблицей:

Смещение Длина Описание

000h 446 Код загрузчика

1BEh 64 Таблица разделов

1FEh 2 Сигнатура (55h AAh)

Длина указана в байтах.

Как видно, MBR может содержать информацию максимум о 4 разделах. Каждый 16-байтовый блок, содержащий информацию о разделах, в своем начале содержит признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — может иметь значения 80h (раздел активен) и 00h (раздел не активен). Количество активных разделов должно быть не более одного.

Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.

Типы MBR

Выше мы увидели, что в сектор MBR записывается код загрузчика. Что же это? Дело в том, что в MBR может быть записан как «стандартный» загрузчик, так и альтернативные загрузчики.

Существуют следующие распространенные типы MBR:

Конечно, с учетом многообразия ОС, существует масса других MBR, но они не так популярны.

Операционные системы дружат только с определёнными типа загрузчиков, однако это не значит, что их нельзя модифицировать для поддержки других ОС. Так, в Windows MBR можно добавить информацию о Linux разделе, но этого недостаточно, чтобы Linux стал грузиться. Для этого также потребуется редактировать и PBR. Однако линуксовый LDLINUX.SYS требует наличия своего микрокода в MBR, чтобы обращаться к нему в процессе загрузки, то есть если у вас загрузочная запись Windows NT MBR, а загрузчик GRUB, то такая схема работать не будет. Виндовсовые загрузчики могут обойтись без наличия соответствующего микрокода в MBR, поэтому они могут грузиться и через GRUB MBR.

Главное, что вам нужно понять, что MBR содержит микрокод, инструкции для процессора, а не файлы. PBR же указывает на загрузчик, который является файлом.

Разнообразие PBR

Мы с вами выяснили, что MBR передает управление на активный раздел с PBR. PBR (Partition Boot Record), так же называют volume boot record (VBR) – это микрокод в начальном секторе раздела диска (часто это сектор 63), который содержит информацию, какой же загрузчик искать.

Существуют следующие загрузчики:

Тип MBR — NT 5.x/6.x, 1 сектор

Тип MBR — Grub4DOS, 18 секторов

Тип MBR — LILO/GRUB и др. линуксовые (к-во секторов зависит от версии и количества файлов)

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

Например, типичные пример создания мультизагрузочной флэшки – Multiboot USB 2k10, создаваемые уважаемыми conty9 & korsak7. Мультизагрузочный диск системного администратора с возможностью загрузки c CD/DVD, флешки, USB-HDD и обычного HDD и состоящий из нескольких Windows PE-сборок, а также DOS версий продуктов компании Acronis – например Acronis True Image (выполнены на Linux-ядре). Именно из-за этого смешанного зоопарка систем и приходится использовать загрузчик Syslinux (хотя можно и Grub4DOS).

В своем арсенале вам необходимо обязательно иметь утилиту BootICE. Уникальная в своём роде утилита для изменения или бэкапа/восстановления MBR (Master Boot Record) или PBR (Partition Boot Record). С BOOTICE, вы можете легко изменять тип MBR/PBR. Поддерживается загрузочные записи: Grub4DOS, SysLinux, PLoP, MS NT52/60… Например, с помощью этой утилиты, вы можете установить Grub4DOS вашим MBR или PBR, установить NTLDR или BOOTMGR к вашему PBR, установить SYSLINUX на PBR, и так далее.

Редактирование и установка MBR

Редактирование и установка загрузчика

Установка MBR GRUB4DOS

Помимо работы с MBR и PBR, BootICE позволяет редактировать разделы диска, выполнять ручное разбиение и форматирование, модифицировать тип раздела, сохранять и восстанавливать из бэкапа таблицу разделов.

Работа с таблицей разделов в BootICE

Кратко о загрузчике Syslinux

Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32.

Установка Syslinux под Windows на другой диск выполняется достаточно просто: используется файл «[bios/]win32/syslinux.exe» для 32-х битных систем и «[bios/]win64/syslinux64.exe» для 64-х битных систем.

syslinux.exe —install a: — установка на флоппи-диск

syslinux.exe —mbr —active —directory /boot/syslinux/ —install z: — установка на диск z:, например флешку, где

— в качестве разделителей должны быть использованы именно /, а не \

— в каталоге z:\boot\syslinux\ будет размещён файл-загрузчик «ldlinux.sys»

— и раздел z: помечен как активный

— для организации меню должен быть создан файл z:\boot\syslinux\syslinux.cfg

Установка загрузчика Syslinux

Через BootICE вы также можете установить загрузчик Syslinux, указав в опциях альернативное местоположение файлов ldlinux.sys и и файла меню syslinux.cfg.

Загрузчики Windows

Конечно, основное внимание мы уделим загрузчикам для Windows.

Загрузчик NTLDR использовался до появления операционной системы Windows Vista. В процессе начальной загрузки, программный код загрузочного сектора раздела (PBR — Partition Boot Sector) обеспечивал поиск, считывание в память и передачу управления файлу ntldr, который размещался в корневом разделе загрузочного диска. Конфигурирование загрузчика ntldr выполнялось с помощью простого текстового файла boot.ini, содержимое которого задавало список загружаемых операционных систем, их параметры загрузки, размещение системных файлов и т.п. В операционных системах Windows Vista /Server 2008 и более поздних, загрузчик ntldr не используется, и заменен диспетчером загрузки BOOTMGR. Соответственно, изменился и программный код загрузочного сектора раздела, обеспечивающий передачу управления файлу bootmgr. Новый диспетчер загрузки использует собственные данные конфигурации загрузки (Boot Configuration Data — BCD) и может выполнять, при определенных настройках, загрузку любых операционных систем семейства Windows. Загрузчик ntldr не поддерживает возможность загрузки Windows Vista и старше.

Также, хочу отметить, что все современные Windows PE любых версий также используют загрузчик bootmgr. Цепочка стадий загрузки MBR — PBR — BOOTMGR — это минимально необходимое условие для того, чтобы загрузка операционной системы могла начаться. Дальнейший же ее ход, определяется диспетчером загрузки BOOTMGR, который считывает данные конфигурации загрузки из файла \BOOT\BCD активного раздела и выполняет загрузку в соответствии с их содержимым.

Для Windows 7 он запускает файл \WINDOWS\system32\winload.exe

Загрузка WINDOWS\system32\winload.exe

Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п.

Обычно файл bootmgr имеет атрибуты «скрытый» и «системный». По типу структуры, файл \Boot\BCD является кустом реестра и отображается в редакторе реестра Windows как раздел

Обычно именно конфигурация BCD становится наибольшим камнем преткновения.

Конфигурирование BOOTMGR и BCD

Для работы с загрузчиком Windows вам понадобятся системные утилиты:

Команда BCDEDIT применяется в операционных системах Windows Vista и старше для редактирования BCD. Подробную инструкцию по использованию этой утилиты можно найти здесь.

Однако, я вам крайне рекомендую использовать очень удобную программу EasyBCD для редактирования BCD. Например, с помощью нее вы легко можете добавить Linux раздел в меню загрузки. Вот статья о том, как добавить в BCD конфигурацию Windows 7 пункт загрузки Linux Ubuntu.

При запуске EasyBCD в окне View Settings можно посмотреть текущую конфигурацию BCD. На скриншоте видно, что в текущий момент на диске установлена одна Windows 7, GUID которой <9079c27c-fa49-11e5-8c8e-3417ebc2574d>и вручную добавленный пункт меню для запуска установки Windows из WIM файла:

BCD menu для загрузки Windows и установки из WIM файла

А вот BCD меню загрузочной флэшки, на которой присутствуют инсталляторы Windows 7 x86 и x64, а также две среды MSDaRT x86 + x64:

BCD меню загрузочной флэшки, overview

BCD menu — установка Windows из WIM файла x86 и x64

Запуск среды восстановления Windows RE с загрузочной флэшки

Утилита BOOTSECT.EXE позволяет изменить программный код загрузчика Windows для переключения между двумя вариантами диспетчера загрузки — BOOTMGR или NTLDR – или восстановить поврежденный загрузчик!

Команда bootsect /nt60 E: /mbr /force – создает на диске E: (например, флэшке) записи MBR и PBR и устанавливает загрузчик bootmgr.

Ну и третья, крайне важная утилита — BootRec входит в состав средств среды восстановления Windows (Windows Recovery Environment) и применяется для восстановления загрузки операционной системы. Найди ее вы можете, загрузившись с установочного диска Windows и выбрав вместо установки опцию «Восстановление системы». Появится окно MSDaRT, откуда можно запустить командную строку и набрать там BootRec.exe. MSDaRT также можно скачать отдельно (это бесплатный продукт Microsoft) и сделать загрузочную флэшку/диск с ним.

Команда Bootrec /FixMbr – записывает основную загрузочную запись (MBR) системного раздела, совместимую с Windows. При этом существующая таблица разделов не перезаписывается.

Bootrec /FixBoot – записывает в системный раздел новый загрузочный сектор, совместимый с Windows.

bootrec /RebuildBCD – перестроить хранилище конфигурации загрузки на данном компьютере. Удобно использовать для изменения конфигурации BCD при добавлении нового диска с установленной Windows, или для внесения изменений в существующую конфигурацию загрузки новых или ранее не использовавшихся ОС.

Загрузчик GRUB4DOS

Это один из наиболее универсальных загрузчиков, способных загружать почти любую операционную систему с любого носителя. Пользователям Linux установка GRUB очевидна, для Windows все не так просто. GRUB имеет смысл использовать, например, одним из загрузчиков мультизагрузочной флэшки, ведь он поддерживает chainloader — передачу управления на другой загрузчик по цепочке. Таким образом, на флэшке можно установить GRUB MBR, который будет обращаться к загрузчику grldr, который в свою очередь через меню позволяет перенаправить запросы на bootmgr, например, для установки Windows.

Загрузчик состоит из следующих файлов:

Файл grldr.mbr нужен для установки GRUB в качестве MBR. Итак, GRUB можно установить руками под Windows или же воспользоваться различными утилитами.

Установка GRUB загрузчика под Windows

Представим, что у вас уже есть Windows с загрузчиком bootmgr. Вам необходимо будет добавить в BCD записи о новом загрузчике, чтобы не лишаться существующего. Порядок действий:

Вот и все, не так и сложно.

Сложнее отредактировать меню menu.lst. Вот список основных команд консоли GRUB (их можно исполнять как вручную из командной строки, так и из файла меню):

Приведу примеру рабочих кусков кода из файла меню:

title Alkid Live CD root (hd0,0) chainloader (hd0,0)/minint/setuplns.bin

Если вам совсем не хочется, существует программа GRUB4DOS Installer, и даже удобный русский инсталятор для нее, но этот вариант вам не позволит сделать комбинированный загрузчик. Он задаст вопрос, куда распаковать файлы и куда установить загрузчик, после чего сделает все сам: отформатирует, установить MBR, скопирует файлы. Но я лично против такой «автоматизации».

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

Если все-таки вам не хватило нервов и сил разобраться в написании меню, то есть программки, которые сделают меню загрузки и установят загрузчик за вас, вам нужно только выбрать ISO файлы дистрибутивов, которые надо добавить:

Для желающих создать подобные флэшки рекомендую также почитать профильные сайты: greenflash.su, flashboot.ru и usbtor.ru.

Выводы

Итак, чтобы была возможность загрузить ОС, необходимо, чтобы был установлен корректный загрузчик MBR, который заканчивается валидной сигнатурой, должна быть таблица разделов, и хотя бы один раздел должен быть помечен как активный. А в самом разделе, куда MBR передаст управление, должна быть валидная загрузочная запись, которая укажет, какой системный файл необходимо загрузить в память для начала загрузки самой ОС. Кроме того, должно быть загрузочное меню, которое укажет на местоположение загрузочных файлов ОС.

Источник

Параметры Command-Line BCDEdit

Файлы данные конфигурации загрузки (BCD) предоставляют хранилище, которое используется для описания приложений загрузки и параметров приложения загрузки.

BCDEdit — это программа командной строки для управления BCD. Его можно использовать для различных целей, включая создание новых магазинов, изменение существующих магазинов и добавление параметров меню загрузки.

Запуск программы BCDEdit

BCDEdit ограничена стандартными типами данных и разработана в основном для выполнения отдельных общих изменений в BCD. Связанные ресурсы:

Синтаксис BCDEdit

Параметры Command-Line BCDEdit

Для BCDEdit.exe доступны следующие параметры командной строки.

Справка

Отображает список команд BCDEdit.

Чтобы отобразить подробную справку по определенной команде, выполните команду BCDEdit/? Command, где Command — это имя команды, для которой выполняется поиск дополнительных сведений.

Работа с магазином

Параметр Описание
/креатесторе Создает новое пустое хранилище данных конфигурации загрузки. Созданное хранилище не является системным хранилищем.
/Export Экспортирует содержимое системного хранилища в файл. Этот файл можно использовать позже для восстановления состояния системного хранилища. Эта команда допустима только для системного хранилища.
/Import Восстанавливает состояние системного хранилища с помощью файла данных резервной копии, созданного ранее с помощью параметра/Export. Эта команда удаляет все существующие записи в системном хранилище до того, как будет выполнена операция импорта. Эта команда допустима только для системного хранилища.
/Store Этот параметр можно использовать с большинством команд BCDedit, чтобы указать используемое хранилище. Если этот параметр не указан, программа BCDEdit работает в системном хранилище. Выполнение команды BCDedit/Store эквивалентно выполнению команды BCDedit/енум Active.
/сиссторе Задает устройство системного хранилища. Это относится только к системам на основе EFI. Он не сохраняется при перезагрузках и используется только в тех случаях, когда устройство системного хранилища является неоднозначным.

Работа с записями в магазине

Параметр Описание
/Copy Создает копию указанной загрузочной записи в том же системном хранилище.
/CREATE Создает новую запись в хранилище данных конфигурации загрузки. Если задан известный идентификатор, то параметры: доступность приложений,/инхерит и/девице не могут быть указаны. Если идентификатор не указан или хорошо известен, необходимо указать параметр: доступность приложений,/инхерит или/девице.
/delete Удаляет элемент из указанной записи.
/миррор Создает зеркало записей в хранилище.

Изменение параметров записи

Параметр Описание
/делетевалуе Удаляет указанный элемент из загрузочной записи.
команде Задает значение параметра записи.

например, эта команда позволит системе доверять Windows Insider Preview сборкам, подписанным сертификатами, которые не являются доверенными по умолчанию:

Выполните перезагрузку после выполнения команды. Чтобы отключить флигхтсигнинг, выполните следующие действия.

Управление выходными данными

Параметр Описание
/енум Выводит список записей в магазине. Параметр/енум является значением по умолчанию для Бцедит, поэтому выполнение команды BCDedit без параметров эквивалентно выполнению команды BCDedit/енум Active.
/v Режим подробного вывода. Как правило, все известные идентификаторы записей представлены в виде понятной краткой формы. При указании параметра/v в командной строке все идентификаторы отображаются в полном объеме.

Выполнение команды BCDedit/v аналогично выполнению команды BCDedit/енум Active/v.

Управление диспетчером загрузки

Параметр Описание
/бутсекуенце Указывает одноразовый порядок просмотра, который будет использоваться для следующей загрузки. Эта команда аналогична параметру/дисплайордер, за исключением того, что она используется только при следующем запуске компьютера. После этого компьютер вернется к исходному порядку просмотра.
/Default Указывает запись по умолчанию, которую диспетчер загрузки выбирает по истечении времени ожидания.
/дисплайордер Указывает порядок отображения, используемый диспетчером загрузки при отображении параметров загрузки для пользователя.
/timeout Указывает время ожидания (в секундах), по истечении которого диспетчер загрузки выбирает запись по умолчанию.
/тулсдисплайордер Указывает порядок отображения, используемый диспетчером загрузки при отображении меню Сервис.

Параметры служб аварийного управления

Параметр Описание
/бутемс Включает или отключает службы аварийного управления (EMS) для указанной записи.
#a1 Включает или отключает EMS для указанной загрузочной записи операционной системы.
/емссеттингс Задает глобальные параметры EMS для компьютера. /емссеттингс не включает и не отключает EMS для любой конкретной записи загрузки.

Отладка

Параметр Описание
/bootdebug Включает или отключает отладчик загрузки для указанной записи загрузки. Хотя эта команда работает для любой загрузочной записи, она действует только для приложений загрузки.
/dbgsettings Указывает или отображает глобальные параметры отладчика для системы. Эта команда не включает и не отключает отладчик ядра. для этой цели используйте параметр/Debug. Чтобы задать отдельный глобальный параметр отладчика, используйте команду bcdedit/сетдбгсеттингс Type value.
/debug Включает или отключает отладчик ядра для указанной записи загрузки.
/хипервисорсеттингс Задает параметры гипервизора.

Чтобы устранить неполадки новой установки, включите режим отладки, изменив файл конфигурации загрузки (BCD). Например, используйте следующий синтаксис, чтобы включить отладку ядра или загрузки.

где — это идентификатор GUID объекта Loader, который используется для загрузки операционной системы. «Default» можно использовать, если операционная система является параметром по умолчанию в меню диспетчера загрузки.

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • Что такое battle net в windows 10 и зачем она нужна
  • что такое bash в linux
  • Что такое bash в linux простым языком
  • Что такое bash linux
  • что такое bas программирование

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии