Открытие WIM файлов. Как отредактировать реестр Windows в образе системы Как добавить драйвер в уже готовый Wim-образ

Открытие WIM файлов. Как отредактировать реестр Windows в образе системы Как добавить драйвер в уже готовый Wim-образ

16.08.2023

Если вы системный администратор, то перед вами обязательно встанет вопрос массового развертывания операционной системы на компьютеры пользователей. И каким бы способов вы его не развертывали — с USB, через WDS сервер с MDT, с помощью SCCM, — в любом случае вы будете использовать WIM файл с образом операционной системы.

Обзор способов разветывания ОС

  1. Установка с загрузочного USB накопителя . На нем в корне диска должен располагаться файл ответов autounattend.xml. Это файл вы создаете заранее с помощью Windows System Image Manager (SIM) , который входит в комплект пакет Windows ADK. Обратите внимание, для всех билдов Windows 10 версия ADK своя. Скачать её можно с сайта Microsoft . Сам файл образа ОС с расширением WIM или ESD, лежит в папке sources вашего USB. Образ вы можете взять оригинальный MSDN, скопировать откуда-то или подготовить свой. Драйвера вам необходимо заранее интегрировать в WIM файл или положены в подпапку $OEM$, а путь к ней указан в файле autounattend.xml.
    Такой способ подходит для одиночных установок без возможности глубокой кастомизации под разные задачи, разных пользователей или разное железо.
  2. Развертывание с помощью MDT c USB накопителя . В этом случае, сам загрузочный диск вы готовите с помощью MDT (Microsoft Deployment Toolkit). Пакет MDT вы бесплатно скачиваете с сайта Microsoft (опять же, разные версии MDT поддерживают разные версии развертываемых ОС). Для работы MDT также требуется правильная версия ADK. Последняя на данный момент MDT 8450 сейчас поддерживает только Windows 10 1709 и старее. В среде MDT вы подготавливаете Task Sequence, добавляете пакеты, драйверы и WIM файл операционной системы. Далее вы создаете загрузочную media, которая будет включать все выше перечисленное и копируете её на USB. Тонкость заключается в том, что здесь кастомизацию образа вы делаете или заранее модифицируя WIM файл, или редактируя файл unattend.xml, относящийся к созданному вами Task Sequence в MDT, который будет автоматически включен в media, или же пишете скрипты, которые добавляете в пакеты и включаете в ход установки как шаг Task Sequence.
    При создании media MDT вам создат boot.wim загрузочный файл, который и будет исполняться при загрузке с флэшки. Он загрузит вам среду Windows PE, из под которой начнется установка.
    Очень гибкий способ, который позволяет включить любые драйвера и установить любой софт по время установки ОС.
  3. Развертывание с помощью MDT и WDS сервера . Отличие этого способа заключается лишь в том, что boot.wim, созданный в MDT, будет располагаться не на USB, в сети на WDS сервере, откуда можно выполнить загрузка по PXE.
  4. Развертывание с помощью SCCM и WDS сервера . Загрузка клиента выполняется как в варианте 3, но отличие заключается в том, что все WIM файлы, драйверы и пакеты, а также сам Task Sequence с файлом unattend.xml будет созданы и запускаться с SCCM сервера, а не с MDT. Загрузочный boot.wim образ также будет создан с помощью SCCM.
    Такой вариант подходит для самых сложных развертываний с большим числом распределенных установок.

Обратите внимание также, что файл ответов unattend.xml можно включить и в сам WIM образ, положив его в папку %WINDIR%\Panther\Unattend, но для MDT и SCCM все равно потребуется отдельный внешний файл для исполнения Task Sequence.

Как я уже указал, файлы unattend.xml или autounattend.xml можно редактировать вручную в редакторе, но правильнее и безопаснее делать это через SIM. Сам же файл образа операционной системы WIM создается и редактируется с помощью консольной утилиты DISM , имеющей множество ключей. Более того, этой же утилитой выполняется и развертывание (применение, apply) WIM файла на диск.

Утилита DISM входит в пакет ADK, важно пользоваться той версией утилиты, которая поддерживает разворачиваемую ОС.

Захват образа и создание WIM

Для того, чтобы создать WIM файл, необходимо выполнить операции Sysprep and Capture. Для этого устанавливаете систему на компьютер, настраиваете как вам угодно, устанавливаете или удаляете приложения, ставите обновления. Также для успешного sysprep в Windows 10 необходимо сделать чистку системы и удалить некоторые запровиженные Modern App приложения от HP и Canon, иначе sysprep завалится. Это можно сделать командами Powershell:

Sysprep.exe /generalize /shutdown /oobe

При этом система перейдет в OOBE режим (Out-Of-Box Experience, как будто она только устанавливается с нуля), а затем компьютер выключится. Больше про эту процедуру можно почитать в документации Microsoft .

Теперь образ диска можно захватывать. Захват диска выполняется уже упомянутой утилитой DISM.

Если выполнять захват вручную, то для этого нужно загрузиться в среду Windows PE с USB или по сети, или же подключить диск к другому компьютеру. В составе Windows PE уже должна быть утилита dism. Захват образа выполняется командой (при условии, что вы захватываете диск C:):

1 Dism /Capture-Image /ImageFile:D:\my-windows-partition.wim /CaptureDir:C:\ /Name:"My Windows partition"

Dism /Capture-Image /ImageFile:D:\my-windows-partition.wim /CaptureDir:C:\ /Name:"My Windows partition"

Один файл WIM может содержать несколько образов ОС, вы можете добавлять новый захваченный диск в уже существующий образ. Это удобно тогда, когда вам требуется с одного WIM файла развертывать разные системы (например с разным набором программ). Вы можете редактировать свойства wim файла, название образов в нем.

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

bcdboot C:\Windows

вам создаст BCD-загрузчик на диске с операционной системой. Помимо этого вам нужно будет сделать раздел Recovery. Для быстроты приведу пример типового bat-скрипта, который выполняет все эти операции из документации Microsoft .

На самом деле все это не цель нашей статьи, а скорее обзор, позволяющий понять, какими утилитами и в каком случае необходимо пользоваться. Ведь синтаксис всех команд хорошо расписан в документации. Кроме того, процедуру как sysprep /capture, так и развертывания образа на диск с предварительным форматированием проще выполнить через MDT, создав в нем соответствующие Task Sequence, однако MDT требует навыков, для разовых задач проще все сделать вручную.

Утилиты для работы с образами WIM

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

Это прекрасная утилита, написанная на языке скриптов AutoIt, экономит массу вашего времени, выполняя:

  • захвата диска в образ (capture)
  • применения образа на диск (apply)
  • показывает информацию из готового wim образа
  • позволяет смонтировать образ в папку, отредактировать его содержимое и размонтировать обратно (mount and unmount)
  • выгрузки отдельного образа из файла wim с несколькими образами
  • редактирования имени и описания образов в wim файле

Текущая версия 2.2.0 совместима вплоть до Windows 10 build 1803. Все операции выполняются в один клик. Установка не требуется. Вариант использования: захват другого раздела на вашем диске или на подключенном диске, а также редактирование имеющегося wim файла. Работа в Windows PE не подразумевается.

Эта утилита написана на Powershell, но предназначена немного для других операций, а именно для обслуживания и редактирования имеющегося WIM. Все закладки расположены в порядке их использования: сначала вы монтируете образ в папку, а затем его редактируете или сохраняете изменения.

Утилита позволяет:

  • интегрировать драйвера в образ (drivers)
  • добавлять пакеты (cab packages) и включать/выключать функции (features)
  • Приписывать лицензионную информацию и ключ
  • применять готовый Unattend.xml
  • получать список приложений (applications) и патчей (patches) в образе
  • захватывать и применять образ

Третья утилита предназначена для подготовки системы к захвату. Она позволяет очень гранулированно вырезать или добавить из нее все, что захотите:

  • очистка кэшей, журналов, Appx (Modern приложения), временных файлов
  • управление установленными Appx-приложениями — позволяет удалить Modern Apps, что раньше можно было сделать только через Powershell.
  • оптимизация и кастомизация меню, значков
  • добавление и удаление драйверов
  • добавление и удаление компонентов Windows
  • добавление и удаление возможностей Windows (Features on Demand)
  • добавление и удаление обновлений
  • настройка ассоциаций файлов
  • Редактирование файла ответов Unattend.xml

- Расширение (формат) - это символы в конце файла после последней точки.
- Компьютер определяет тип файла именно по расширению.
- По умолчанию Windows не показывает расширения имен файлов.
- В имени файла и расширении нельзя использовать некоторые символы.
- Не все форматы имеют отношение к одной и той же программе.
- Ниже находятся все программы с помощью которых можно открыть файл WIM.

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

Universal Extractor – удобная утилита для распаковки различных архивов, а также некоторых дополнительных типов файлов. Данная программа, прежде всего, подходит тем пользователям, которые занимаются созданием архивов на компьютере, а лишь скачивают различные архивы из интернета, а затем распаковывают их. Утилита Universal Extractor вполне справляется с этой задачей. Она позволяет распаковать все известные архивы, а также файлы dll, exe, mdi и другие типы файлов. По сути, программа может служить, в некоторой степени, своеобразным установщиком программ, т.к. она позволяет распаковывать некоторые из установщиков, а затем запускать...

Free Any Burn – программа для записи оптических дисков, позволяющая записывать на носитель практически все форматы образов, а также создавать их самостоятельно. Имеет малый размер, однако набор функций у данной программы достаточно обширный. Free Any Burn, как говорилось выше, может считывать образы любых форматов, а затем записывать их на любой оптический носитель. Главное, чтобы оборудование для записи было. При этом, программа распознаёт не только известные форматы, например, NRG, но и некоторые другие, например, cue. В последнем случае, при записи данного образа, получается полноценный аудио CD, если, конечно, fla...

HaoZip - китайский клон популярного архиватора Winrar, как с точки зрения функциональности так и интерфейса в целом. Архиватор умеет работать со всеми популярными форматами, среди которых 7Z, ZIP, TAR, RAR, ISO, UDF, ACE, UUE, CAB, BZIP2, ARJ, JAR, LZH, RPM, Z, LZMA, NSIS, DEB, XAR, CPIO, SPLIT, WIM, IMG и другие. Кроме этого с помощью Haozip можно монтировать ISO образы и посмотреть картинки через встроенный просмотрщик, что весьма полезная фича для архиваторов. Что касается интерфейса, то здесь китайские разработчики хорошо потрудились. Они не только скопировали дизайн и функционал с архиватора Winrar, но и добави...

Peazip - универсальный и мощный архиватор с графической оболочкой. Отличная замена платному аналогу - Winrar. PeaZip поддерживает шифрование данных, создание многотомных архивов, работу с несколькими архивами одновременно, экспорт задания в виде командной строки, установку фильтров на содержимое архива. Кроме этого архиватор поддерживает все известные и даже неизвестные форматы архивов включая 7Z, 7Z-sfx, BZ2/TBZ2, GZ/TGZ, PAQ/LPAQ, TAR, UPX, ZIP и другие. Интерфейс PeaZip очень примитивен и в то же время насыщенна полезными функциями. Можно с помощью помощника интегрировать в проводник Windows или вернуть обратно, установ...

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

При разработке архиватора FreeArc автор решил создать программу, которая выполняет сжатие файлов с максимальной скоростью. Для этого потребовались лучшие качества библиотек сжатия LZMA, PPMD и GRZipLib. В процессе упаковки архиватор формирует файлы по типам и производит сжатие благодаря применению наиболее подходящего алгоритма. При работе архиватор использует более десяти различных алгоритмов и фильтров. Если сравнить это с распространёнными архиваторами, то у 7-zip всего три, а у RAR использует всего семь алгоритмов. Архиватор легко адаптируется для установки на различных системах. Он разработан на открытой платформе дающей в...

7-Zip – известный архиватор с открытым исходным кодом. Такая особенность позволяет вносить изменения в структуру программы, добавляя в неё определённые функции. Программа отличается понятным и простым интерфейсом и обладает уникальными алгоритмами, позволяющими ускорить архивацию данных и их распаковку. Также, данная программа может выполнять стандартные операции с архивом, например, вы можете установить пароль на файл, либо установить степень сжатия архива. Также, если необходимо, вы можете создать самораспаковывающийся архив с необходимыми параметрами, которые задаются в специальных комментариях к архиву.

ExtractNow является удобной программой, позволяющей распаковать заархивированные файлы достаточно быстро: всего лишь нажатием одной кнопки. Особенно удобна такая опция покажется тем пользователям, которым регулярно приходится распаковывать множество файлов. Единственный минус - программа не поддерживает создание архивов, т.к. является исключительно распаковщиком (качественным и удобным), а не архиватором. Чтобы совершить распаковку файла, нужно перетащить архивы в окно программы и нажать кнопку Extract. Поддерживает популярные форматы архивов. Таким образом, программа может распаковать все популярные и наиболее часто использующ...

Ежегодно, для улучшения и большего удобства пользователей, разработчики различного компьютерного софта выпускают множество интересных, удобных и качественных программ, существенно помогающих в работе. Одной из таких программ является новейшая разработка архиватора WinArc. Данная утилита доступна для общего пользования и с его помощью вам не составит труда заархивировать или разархивировать, любой, интересующий вас файл. Данная утилита во время работы, использует все ядра процессора тем самым ускорив процесс архивирования. Кроме этого имеет функцию регулировки использования ОЗУ, что позволит значительно снизить нагрузку на ваш к...

WIM: применяет файл образа Windows (WIM) или разделенный образ Windows (SWM) к определенному разделу.

Этот параметр не поддерживает применение образа с виртуального жесткого диска (VHD), хотя вы можете использовать эту команду, чтобы применить образы к подключенному, секционированному и отформатированному VHDX-файлу.

/CheckIntegrity обнаруживает и отслеживает повреждение WIM-файла при использовании с операциями записи, отключения, экспорта и фиксации. /CheckIntegrity останавливает операцию, если DISM обнаруживает, что WIM-файл поврежден в операциях применения и подключения.

/Verify проверяет наличие ошибок и повторяющихся файлов.

/NoRpFix отключает исправление тегов точки повторного анализа. Точка повторного анализа - это файл, содержащий ссылку на другой файл в файловой системе. Если параметр /NoRpFix не указан, точки повторной обработки, указывающие на пути вне значения, заданного /ImageFile , не будут записываться.

/SWMFile позволяет указать ссылку на разделенные WIM-файлы (SWM). pattern - это шаблон именования и расположения разделенных файлов. Также можно указывать подстановочные знаки. Например, значение E:\image\install*.swm применяет все разделенные файлы в каталоге E:\image с именами install1.swm, install2.swm и т. д.

/ConfirmTrustedFile проверяет образ для работы с доверенным рабочим столом в Windows 10, Windows 8.1 или Windows 8. Этот параметр можно применять только на компьютере под управлением как минимум WinPE 4.0.

Примечание

При использовании /Apply-Image с параметром /ConfirmTrustedFile в WinPE всегда добавляйте параметр /ScratchDir , указывающий на расположение физического носителя. Это гарантирует, что короткие имена файлов всегда будут доступны. Подробное описание поведения по умолчанию при использовании параметра /ScratchDir см. в разделе .

/WIMBoot Только для Windows 8.1: применение к образу конфигурации загрузки файла образа Windows (WIMBoot). Это применимо только к образам Windows 8.1, которые были записаны или экспортированы как файл WIMBoot.

Важно

Эта возможность не поддерживается в Windows 10.

/Compact : применяет образ в компактном режиме, что позволяет экономить место. Заменяет WIMBoot. Только классические выпуски Windows 10 (Домашняя, Pro, Корпоративная и для образовательных учреждений)

Dism /apply-image /imagefile:install.wim /index:1 /ApplyDir:D:\

Dism /apply-image /imagefile:install.swm /swmfile:install*.swm /index:1 /applydir:D:\

FFU: применяет FFU-образ к указанному диску. Только для Windows 10.

Этот параметр не поддерживается применение образа из файла виртуального жесткого диска (VHDX), однако с помощью этой команды вы можете применить весь образ к VHD.

/ImageFile указывает путь к FFU-файлу, например: flash.ffu.

/ApplyDrive указывает логический диск с помощью DeviceID.

Получение идентификатора устройства:

    Из командной строки: wmic diskdrive list brief

    С диска C: system("wmic diskdrive list");

Примечание. VHD может отображаться в описании с именем PhysicalDrive, например \\.\PhysicalDrive2.

Используйте параметр /SFUFile для указания ссылки на разделенные файлы FFU (SFU). Это шаблон именования и расположения разделенных файлов.

Используйте параметр /SkipPlatformCheck , если применяемый файл FFU предназначен для устройства, отличного от того, на котором запущено приложение. Требуется специальный файл FFU.

DISM.exe /Apply-Ffu /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDrive0

DISM.exe /Apply-Ffu /ImageFile:flash.sfu /SFUFile:flash*.sfu /ApplyDrive:\\.\PhysicalDrive0

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

Внести изменения в реестр заранее, в образ, благодаря чему все твики будут применены автоматически во время установки системы.

Для этого вам понадобится распакованный образ системы, в котором нужно будет найти файл INSTALL.WIM (располагается он в каталоге SOURCES) и скопировать его в любое удобное место (у нас это раздел D ) .

Создайте на диске D папку mount , запустите от имени администратора командную строку и смонтируйте в папку mount образ INSTALL.WIM , используя для этого следующую команду:

Dism /mount-wim /wimfile:D:\install.wim /index:1 /mountdir:D:\mount

  • D:/install.wim – это исходное месторасположение образа
  • INSTALL.WIM , index:1 - редакция системы,
  • D:/mount - каталог, в который будет монтироваться образ.

П римечание: так как в одном образе могут находиться несколько редакций одной версии системы (Домашняя, Профессиональная, Корпоративная и т.д.) , непосредственно перед монтированием желательно узнать её индекс (index) . Для этого используется команда Dism /Get-WimInfo /WimFile:D:\install.wim .

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

  • Если это HKLM/SOFTWARE , путь будет windows/system32/config/software
  • Если HKLM/SYSTEM - windows/system32/config/system
  • Если HKLM/SAM , то windows/system32/config/SAM
  • Для загрузки подраздела HKLM/Security используется путь windows/system32/config/security
  • Для DEFAULT в разделе HKEY_USERS - windows/system32/config/default

Допустим, вам нужно получить доступ к подразделу SOFTWARE . Тут же в консоли грузим его следующей командой:

reg load HKLM/EDIT D:\mount\windows\system32\config\software

Где EDIT - временный подраздел в редакторе реестра. После этого откройте в работающей системе редактор реестра и разверните ветку HKEY_LOCAL_MACHINE\EDIT .

Пожалуйста, теперь можете создавать и редактировать нужные вам ключи. После того как закончите, закройте редактор и выгрузите раздел обратно командой reg unload HKLM\EDIT .

Как создать wim-образ операционной системы Windows? Сегодня в данной статье мы поговорим о создании образа установки и ответим на все важные вопросы по данной теме. Создание образа Windows довольно трудоемкий процесс. Подготовительные этапы для этого процесса уже были описаны в более ранних статьях. Для тех кто не знаком с ними, ниже я перечислю основные подготовительные этапы и ссылки, ведущие на соответствующие статьи. Просьба ознакомится с ними в первую очередь.

Создание эталонного компьютера

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

  1. Компьютер-образец, последним действием над которым была команда sysprep /oobe /generalize /shutdown.
  2. и программой Imagex.exe на борту.
  3. Место, куда можно будет сохранить образ установки. Нужен свободный объем до 10 ГБ, а может и больше. Все зависит от того, сколько программного обеспечения Вы запихали в свой образ Windows.

Процесс захвата wim-образа Windows

Первым делом мы загружаем компьютер-образец с установочного носителя Windows PE(напомню, что это должно быть первое действие с компьютером, после обработки его программой Sysprep), после чего, в открывшемся окне командной строки выполняем команду:

E:\imagex.exe /capture c: d:\install.wim "my windows 7 install" /compress fast /verify

Далее, Вам придется подождать от 10 до 30 минут, в зависимости от веса Вашего wim образа. После чего, у Вас на диске D: лежит файл install.wim , который содержит образ установки Windows. Это тот результат, которого мы и добивались. Мы создали образ Windows. Как видите, процесс захвата wim образа довольно прост, только необходимо к этому должным образом подготовиться.

А сейчас рассмотрим команду поподробнее. Что тут есть что:

  • e: — Буква установочного носителя с .
  • /capture — указываем, что нужно захватить wim образ операционной системы Windows.
  • c: — указываем диск, на котором установлена эталонная операционная система.
  • d:\install.wim — буква диска и название wim-файла, где мы сохраняем образ установки. Задавать другое имя для wim-файла не имеет смысла, так как в iso-образе Windows, образ установки должен носить именно такое имя.
  • «my windows 7 install» — пометка образа установки. Ничего особенного, но вроде как обязательный параметр. Можете вписать что-то свое.
  • /compress fast — способ сжатия. Процесс сжатия будет увеличивать время захвата образа Windows, но может быть очень полезным при большом объеме образа и при маленьком доступном объеме свободного места для его хранения. Возможные параметры:
    • fast — быстрое сжатие образа Windows.
    • maximum — максимальное сжатие образа Windows.
    • Есть еще один параметр, который стоит между ними, и означает то, что захват идет без сжатия. Этот параметр используется по умолчанию, так что знать его не совсем обязательно. Ну плюс к этому, я забыл как он выглядит, поэтому Вы в любом случае не узнаете этот параметр от меня.
  • /verify — без понятий что за параметр. К счастью, он не делает особую погоду, можете и не вводить.

Как определить буквы дисков?

Когда я захватывал wim-образ Windows, я сохранял его на вторую флешку. В связи с этим, была маленькая путаница по поводу того, какой диск какое имя носит. Чтобы разобраться с этим используйте утилиту diskpart и команду list volume . Вы же надеюсь не забыли, что Windows PE это урезанная версия соответствующей версии Windows, что в свою очередь позволяет работать с основными программами Windows. Именно поэтому, некоторые применяют Windows PE для или для других действий на заблокированном компьютере.

Чем отличается wim образ от iso образа Windows?

Ну и захватили мы wim-образ Windows, получили мы долгожданный файл install.wim. Но что с ним делать? Install.wim — это файл установки Windows. По сути, из всего iso-образа Windows, достаточно иметь один лишь этот файл, чтобы развернуть Windows. А остальная ерунда из iso-образа, это так, попутная ерунда, необходимая только для поддержки install.wim. Файл install.wim можно развернуть на компьютерах, используя другие средства для его развертывания. Например, при необходим только этот файл. Ну и на крайний случай, можно просто открыть iso-образ Windows, и в папке sources заменить оригинальный install.wim на созданный нами install.wim . После чего , при желании добавить в корень флешки и все: Вы получите автоматическую установку операционной системы с созданным Вами wim образом эталонного компьютера.

© 2024 dhmoscow.ru - Компьютер надо изучать