Windows 11 wallpaper red

На компьютеры с Windows 11 начала автоматически устанавливаться сборка 24H2 — обновление, которое с конца 2023 года критикуют за баги, зависания и рост нагрузки на систему; отключить его штатными средствами нельзя, и первыми страдают владельцы домашних и профессиональных версий.

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

Аренда VPS/VDS виртуального сервера от AdminVPS — это прозрачная и честная услуга с доступной ценой

Сборка 24H2: баги с момента появления

Обновление 24H2 впервые стало доступно инсайдерам в канале Canary в середине 2023 года, а в начале 2024 года вышло в бета-канале. Ожидается, что оно станет основой следующего большого обновления Windows 11 осенью 2024 года. Однако даже до официального релиза в широком доступе оно стало причиной множества жалоб. Среди них — системные сбои, фризы, тормоза интерфейса, проблемы с драйверами и увеличение занимаемого места на диске: после установки Windows может занять на 30–35 % больше пространства, что критично для ноутбуков с небольшими SSD.

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

Под автоматическое обновление подпадают компьютеры с редакциями:

  • Windows 11 Home 21H2, 22H2, 23H2;
  • Windows 11 Pro 21H2, 22H2, 23H2.

Корпоративные редакции — Enterprise, Education, Pro for Workstations — пока не затронуты, как и Windows 10. Однако практика Microsoft показывает: если началось принудительное распространение, оно с большой вероятностью дойдёт до всех.

Формальное уведомление без выбора

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

Подобная практика нарушает фундаментальный принцип пользовательского контроля и противопоставляется подходам в Linux и macOS, где пользователь имеет право самостоятельно определять, какие изменения вносятся в систему.

Как временно заблокировать обновление

Если обновление ещё не установлено, можно попытаться отсрочить его вручную. Сделать это можно следующим образом:

Остановите службы центра обновления. Запустите командную строку от имени администратора и введите:

net stop wuauserv net stop bits

Удалите скачанные обновления. Перейдите в каталог^

C:\Windows\SoftwareDistribution\Download

Удалите все файлы, либо выполните команду:

del /f /s /q %windir%\SoftwareDistribution\Download\*

Скройте обновление с помощью утилиты. Скачайте утилиту wushowhide.diagcab, выберите пункт «Hide updates» и укажите сборку 24H2. Это временно заблокирует её установку.

Верните службы в рабочее состояние (если потребуется):

net start wuauserv net start bits

Важно: даже после этих действий система может повторно скачать обновление. Поэтому рекомендуется использовать сторонние средства контроля обновлений — такие как Windows Update Blocker, StopUpdates10, или встроенные политики групп (для Pro-версий).

Microsoft и раньше сталкивалась с проблемными обновлениями

Подобная ситуация не нова. В 2018 году обновление Windows 10 October Update (версия 1809) привело к удалению пользовательских файлов. Проблема затронула тысячи устройств, включая компьютеры российских ритейлеров, где после обновления была повреждена конфигурация ОС, нарушившая логистику.

В 2020 году после одного из обновлений возник массовый сбой с драйверами печати. Устройства с принтерами HP, Ricoh и Canon перестали печатать или вызывали критические ошибки — из-за чего пострадали банки, страховые компании и образовательные учреждения.

Кто под наибольшей угрозой

Серьёзнее всего могут пострадать пользователи на устаревших и маломощных устройствах. Увеличение размера ОС, утечки памяти и сбои особенно опасны для ноутбуков с 64–128 ГБ SSD. Пострадают и малые предприятия без штатных ИТ-специалистов, где внезапное обновление может остановить бизнес-процессы.

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

Пользователи ищут обходные пути. Несмотря на позицию Microsoft, пользователи уже начали активно делиться скриптами, обходами и настройками для блокировки нежелательных обновлений. На форумах и в Telegram-каналах обсуждаются утилиты управления обновлениями, сторонние пакеты политик и способы заморозки текущей сборки системы.

Читайте в блоге:

  • Как установить и настроить ZooKeeper и Apache Kafka на Windows 10
  • Как восстановить загрузчик GRUB после установки Windows
  • Лучшие RDP-клиенты для Windows 10 и 11: что выбрать в 2025 году



|

Microsoft начала принудительную установку обновления 24H2 для Windows 11. Оно будет внедрено в систему автоматически, хотя существует несколько способов помешать этому. 24H2 – крайне глючный апдейт, который не могут починить боле полугода.

Нежданный апдейт хуже переустановки

Корпорация Microsoft начала распространять обновление 24H2 для Windows 11 на принудительной основе, пишет профильный портал Windows Latest. Оно будет установлено в обязательном порядке, притом в фоновом режиме, и спрашивать разрешение на это Microsoft явно не собирается.

Как сообщал CNews, 24H2 – это очень некачественное обновление. Вышедшее в конце 2024 г., оно содержит в себе массу недочетов, которые ломают систему в самых неожиданных местах. Например, после его установки Windows 11, и без того не самая легковесная ОС, начинала занимать на системном разделе на треть больше места.

Попытки Microsoft починить это обновление новыми патчами ни к чему хорошему не привели. Однако теперь корпорация утверждает, что 24H2 полностью готово к распространению – спустя полгода после его официального релиза.

Удовольствие не для всех

Существует масса способов избежать установки 24H2 на свой компьютер. Первый и самый очевидный – полное отключение обновлений системы, любыми доступными средствами.

win6.jpg

Не все обновления Windows одинаково полезны

Второй вариант – нужно пользоваться ОС, которая не подходит для обновления. Автоматический апдейт до 24Н2 «прилетит» на системы Windows 11 Home и Pro 23H2, 22H2 и 21H2, то есть другие версии Windows 11 (Enterprise, Education и Pro for Workstations), по всей видимости, автоматически обновлены до 24Н2 не будут. То же касается и всех версий Windows 10.

В своей документации Microsoft отдельно подчеркнула, что «под управлением Windows 11 Home и Pro версий 23H2, 22H2 и 21H2, которые не обслуживаются ИТ-отделами, получат обновление до версии 24H2 автоматически» (Devices running Home and Pro editions of Windows 11, versions 23H2, 22H2, and 21H2 that are not managed by IT departments will receive the update to version 24H2 automatically).

А ты нажми и отойди

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

Уведомление Microsoft тоже не предоставит пользователю никакого выбора. Отменить процесс установки 24Н2 на компьютер будет невозможно.

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

Спасение есть

Портал Windows Latest опубликовал детальную инструкцию по противостоянию Microsoft и ее попыткам самоуправства на компьютерах пользователей. В ней приведено несколько способов борьбы с софтверной корпорацией.

Например, если обновление 24Н2 скачивается в настоящий момент или уже скачалось, но еще не установилось, поможет командная строка. Нужно поочередной ввести в ней команды net stop wuauserv и net stop bits со всеми пробелами.

После этого откроется доступ к папкам, связанным с Центром обновления Windows, а это означает, что можно будет удалить папку Software Distribution. В ней содержатся скачанные файлы обновления. Можно сделать это вручную (папка находится в каталоге Windows\ SoftwareDistribution\Download или посредством командной строки – потребуется ввести команду del /f /s /q %windir%\SoftwareDistribution\Download\*.

Но это еще не все. Потребуется отдельно заблокировать обновление Windows 11 24H2, потому что он снова начнет загрузку при первой же возможности. Для этого портал Windows Latest рекомендует приложение wushowhide, в котором нужно выбрать опцию «Скрыть обновления» (Hide updates), после чего в новом окне выбрать Windows 11 24H2 и нажать «Далее».

Далее потребуется возобновить работу службы обновления Windows, выполнив команду net start wuauserv в командной строке. Если обновления Windows больше не нужны, этот пункт можно пропустить.

  • Почём сегодня объектное хранилище на 2 000 Гб? Предложения десятков поставщиков ― на ИТ-маркетплейсе Market.CNews

Установка службы

Последнее обновление: 31.10.2015

Для установки службы нам понадобится класс установщика. Для его добавления нажмем правой кнопкой мыши на проект и в контекстном меню выберем
Add — > Component…. Затем в окне добавления нового элемента выберем пункт Installer Class:

Добавление установщика в Windows службу

По умолчанию для файла установщика генерируется название Installer1.cs. Оставим это название.

После добавления узел установщика в окне обозревателя решения (Solution Explorer) будет содержать два файла: сам файл класса Installer1 и
файл дизайнера Installer1.Designer.cs. Откроем файл кода. Сейчас он выглядит так:

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.Linq;
using System.Threading.Tasks;

namespace FileWatcherService
{
    [RunInstaller(true)]
    public partial class Installer1 : System.Configuration.Install.Installer
    {
        public Installer1()
        {
            InitializeComponent();
        }
    }
}

Теперь изменим его следующим образом:

using System.ComponentModel;
using System.ServiceProcess;
using System.Configuration.Install;

namespace FileWatcherService
{
    [RunInstaller(true)]
    public partial class Installer1 : Installer
    {
        ServiceInstaller serviceInstaller;
        ServiceProcessInstaller processInstaller;

        public Installer1()
        {
            InitializeComponent();
            serviceInstaller = new ServiceInstaller();
            processInstaller = new ServiceProcessInstaller();

            processInstaller.Account = ServiceAccount.LocalSystem;
            serviceInstaller.StartType = ServiceStartMode.Manual;
            serviceInstaller.ServiceName = "Service1";
            Installers.Add(processInstaller);
            Installers.Add(serviceInstaller);
        }
    }
}

Класс установщика унаследован от класса System.Configuration.Install.Installer. Атрибут [RunInstaller(true)] указывает на то, что класс Installer1 должен вызываться при установке сборки, то есть службы.

Он определяет ряд методов: Install() (установка), Commit() (завершает транзакцию установки), Rollback() (восстанавливает состояние компьютера до установки)
и Uninstall() (удаление). При необходимости мы можем их переопределить. Но в нашем случае мы будем использовать только конструктор.

В конструкторе вызывается метод InitializeComponent(), который призван выполнять начальную инициализацию. Он определен в
файле дизайнера Installer1.Designer.cs и по сути ничего не делает:

private System.ComponentModel.IContainer components = null;

private void InitializeComponent()
{
    components = new System.ComponentModel.Container();
}

Для установки службы нам также понадобится классы ServiceInstaller и ServiceProcessInstaller. Почему именно два класса?
ServiceProcessInstaller управляет настройкой значений для всех запускаемых служб внутри одного процесса (как было рассмотрено в прошлой теме, метод Main класса
Program может одновременно запускать несколько служб). Класс ServiceInstaller предназначен для настройки значений для каждой из запускаемых служб. То есть если у нас запускается
три службы, то для каждой службы создается свой объект ServiceInstaller. Но в нашем случае в прошлой теме мы определили только одну запускаемую службу, поэтому объекты обоих
классов у нас будут только в одном экземпляре.

Через свойства оба класса позволяют задать настройки службы. Основные свойства ServiceProcessInstaller:

  • Username: определяет, под какой именно учетной записью будет запускаться служба

  • Password: определяет пароль для запуска службы

  • Account: определяет тип учетной записи. Может принимать одно из значений перечисления ServiceAccount:

    • LocalSystem: учетная запись предоставляет широкие привилегии на локальном компьютере и соответствует компьютеру в сети

    • LocalService: учетная запись соответствует пользователю без привилегий на локальном компьютере и предоставляет любому удаленному серверу учетные данные анонимного доступа

    • NetworkService: учетная запись предоставляет широкие локальные привилегии и также представляет любому удаленному серверу учетные данные компьютера

    • User: учетная запись определяется конкретным пользователем в сети

  • HelpText: возвращает справку, содержащую информацию об установке службы

Некоторые важнейшие свойства ServiceInstaller:

  • StartType: определяет, как должна запускаться служба — автоматически или вручную. Может принимать следующие значения:
    ServiceStartMode.Automatic (автоматический запуск), ServiceStartMode.Manual (вручную) и
    ServiceStartMode.Disabled (служба по умолчанию отключена)

  • DelayedAutoStart: определяет, должна ли служба запускаться не сразу после загрузки операционной системы, а немного позже

  • DisplayName: устанавливает имя службы, которое будет отображаться в различных утилитах управления службами

  • ServiceName: имя службы, должно совпадать со значением свойства ServiceName у класса службы

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

В конце оба объекта установщиков надо добавить в коллекцию Installers: Installers.Add()

Итак, у нас готов код службы и код инсталяторов. Теперь скомпилируем проект, и в проекте в папке bin/Debug у нас будет лежать исполняемый файл службы, который будет называться по имени проекта и иметь расширение
exe. Например, в моем случае он называется FileWatcherService.exe.

И теперь нам надо установить службу. Для этого нам надо запустить специальную утилиту InstallUtil.exe и передать ей имя файла службы.

Утилиту InstallUtil.exe можно найти по пути C:\Windows\Microsoft.NET\Framework64\v4.0.30319 для 64-битных платформ и
в C:\Windows\Microsoft.NET\Framework\v4.0.30319 для 32-битных.

Также можно вынести исполняемый файл службы в какое-нибудь другое место, например, я поместил его в папку D://servces. Тогда установка службы
в командной строке будет выглядеть так:

Установка службы Windows с помощью InstallUtil.exe

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

Мы ее можем запустить, и она будет выполнять все те действия, которые мы в ней определили.

Если нам служба больше не нужна, и мы хотим ее удалить, то мы можем воспользоваться той же утилитой, передав ему флаг u:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe /u D://servces/FileSystemWatcher.exe

И после запуска созданная служба будет мониторить все действия с файлами в папке D://Temp и записывать информацию о действиях в текстовый файл.

Если попробовать выполнить обновление до Windows 11 на компьютере или ноутбуке, где отсутствует или отключен доверенный платформенный модуль TPM 2.0, установлен процессор неподдерживаемого поколения или имеются другие проблемы с совместимостью, вы получите сообщение «Этот компьютер не соответствует минимальным требованиям к системе для установки Windows 11». Однако, это можно обойти.

В этой инструкции о простом способе выполнить автоматическое обновление системы до Windows 11 без TPM 2.0 и в случае, если есть другие несоответствия минимальным требованиям к системе.

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

Один из самых работоспособных способов обновиться до Windows 11 на неподдерживаемом компьютере, при этом не выполняя чистую установку — использовать специальный ключ запуска setup.exe, шаги будут следующими:

  1. Скачайте ISO образ Windows 11 с официального сайта или другими способами.
  2. Смонтируйте образ в системе (правый клик по файлу ISO — Подключить) и запомните букву диска, которая будет присвоена подключенному образу.
  3. В командной строке или в диалоговом окне «Выполнить» используйте следующую команду, заменив букву диска D на ту, которая используется в вашей системе:
    D:\setup.exe /product server
    Запуск установки с ключом product server

  4. Запустится программа установки Windows 11, при этом будет сообщаться о том, что устанавливается Windows Server. Однако, будет установлена та же редакция системы, которая уже установлена на вашем компьютере и без проверки совместимости.
    Обновление до Windows 11 выполняется на неподдерживаемом компьютере

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

Учитывайте, что метод обновления путем запуска setup.exe с указанными параметрами подойдет только для новых версий Windows 10 или 8.1, но может не работать для более старых ОС, для них потребуется использовать чистую установку системы. Здесь вам может пригодиться инструкция про создание загрузочной флешки Windows 11 без проверки совместимости и наличия модуля TPM 2.0.

Автоматическое обновление до Windows 11 без проверки совместимости с помощью Universal Media Creation Tool

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

Более комфортный способ — Universal Media Creation Tool, простой скрипт, изначально разработанный для возможности загрузки старых версий системы, но позволяющий также выполнить обновление до Windows 11 на неподдерживаемых компьютерах, минуя проверку наличия TPM 2.0, поколения процессора и других аппаратных характеристик. Способ обновления состоит из следующих шагов:

  1. Зайдите на официальную страницу скрипта Universal Media Creation Tool официальную страницу скрипта Universal Media Creation Tool и скачайте архив с файлами, нажав по стрелке рядом с кнопкой Code, а затем — кнопку Download ZIP.
  2. Распакуйте архив в удобное вам расположение.
  3. Запустите файл MediaCreationTool.bat из папки.
  4. После запуска файла вы можете получить уведомление фильтра SmartScreen, связанное с тем, что программа неизвестна системе. Нажмите «Подробнее», а затем — выполнить в любом случае.
    Предупреждение SmartScreen при запуске Media Creation Tool

  5. После запуска откроется командная строка и окно, в котором требуется выбрать версию системы, выбираем Windows 11.
  6. В следующем окне предлагается выбрать необходимое действие, в нашем случае — Auto Setup (автоматическая установка).
  7. После запуска автоматической установки сначала будут загружены необходимые файлы напрямую с сайта Майкрософт (что можно будет увидеть в окне командной строки), затем, после подтверждения в PowerShell запустится программа установки.
  8. Несмотря на то, что в программе установки будет указано, что выполняется загрузка Windows 10, по факту загружается обновление до Windows 11: суть в том, что для установки используется Media Creation Tool от предыдущей системы.
    Загрузка файлов обновления

  9. Останется лишь дождаться завершения загрузки, «создания носителя» (по факту, никакой носитель не записывается и установки Windows 11 — всё это будет выполнено полностью автоматически, компьютер будет перезагружаться в процессе.
  10. После этапа «Работа с обновлениями» вы попадете на экран входа в Windows 11, а после входа будет выполнена подготовка к первому запуску.
    Подготовка к запуску Windows 11 после обновления

В результате вы получите обновлённую до Windows 11 систему с возможностью отката обновления при необходимости, всё что потребуется с вашей стороны после 6-го шага — дождаться завершения процесса и не выключать компьютер. При «зависании» на каком-либо проценте, лучше не торопитесь что-либо предпринимать, подождите (даже если это займёт около часа). Читатели сообщают, что первые накопительные обновления на установленную таким образом систему успешно пришли.

Обновление до Windows 11 установлено на неподдерживаемом компьютере

Официальный способ пропустить проверку модуля TPM и поколения процессора от Майкрософт

На официальной странице, посвященной установке Windows 11, Майкрософт предлагает собственный метод обхода проверки наличия модуля TPM 2.0, однако указывается, что наличие как минимум TPM 1.2 всё равно требуется. Поколение процессора проверяться не будет. Необходимые шаги:

  1. Нажмите клавиши Win+R на клавиатуре и введите regedit в окно Выполнить, после чего нажмите Enter.
  2. Перейдите к разделу реестра
    HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup
  3. Нажмите правой кнопкой мыши в правой панели редактора реестра, выберите Создать — Параметр DWORD (32 бита) и создайте параметр с именем AllowUpgradesWithUnsupportedTPMOrCPU
  4. Дважды нажмите по параметру и задайте значение 1 для него.
  5. Закройте редактор реестра и запустите помощник по установке Windows 11 с официального сайта для обновления.

Как поведёт установка обновления в случае отсутствия модуля TPM даже версии 1.2 — сказать не могу, жду ваших отзывов в комментариях.

Помощник по установке Windows 11 в режиме совместимости

Ещё один способ (в комментариях сообщают, что уже не срабатывает) — использовать официальный помощник по установке Windows 11 с официального сайта https://www.microsoft.com/ru-ru/software-download/windows11, но запустить его в режиме совместимости с Windows 7. Для этого:

  1. Скачиваем помощник по установке в удобное расположение.
  2. Нажав правой кнопкой мыши по загруженному файлу выбираем пункт Свойства в контекстном меню
  3. На вкладке «Совместимость» отмечаем пункт «Запустить программу в режиме совместимости с» и указываем Windows 7.
  4. Применяем настройки и запускаем помощник по установке.

Сообщали, что в этом случае проверка совместимости системы с Windows 11 не производится и установка обновления выполняется успешно, но, похоже, уже нет.

В случае, если вы будете использовать один из предложенных способов обновления неподдерживаемой системы до Windows 11, прошу поделиться результатами, особенно интересны следующие моменты: обновление на Legacy-системах с MBR диском, а также результаты при обновлении не с Windows 10, а с более ранних систем (в этих сценариях скрипт мною опробован не был).

Как перейти от Waterfall к Agile

EggHead 06.05.2025

Каскадная модель разработки Waterfall — классический пример того, как благие намерения превращаются в организационный кошмар. Изначально созданная для упорядочивания хаоса и внесения предсказуемости. . .

Оптимизация SQL запросов — Продвинутые техники

Codd 06.05.2025

Интересно наблюдать эволюцию подходов к оптимизации. Двадцать лет назад всё сводилось к нескольким простым правилам: «Избегайте SELECT *», «Используйте индексы», «Не джойните слишком много таблиц». . . .

Создание микросервисов с gRPC и Protobuf в C++

bytestream 06.05.2025

Монолитные приложения, которые ещё недавно считались стандартом индустрии, уступают место микросервисной архитектуре — подходу, при котором система разбивается на небольшие автономные сервисы, каждый. . .

Многопоточность и параллелизм в Python: потоки, процессы и гринлеты

py-thonny 06.05.2025

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

Конкурентность (concurrency) — это когда ваша программа умеет жонглировать. . .

Распределенное обучение с TensorFlow и Python

AI_Generated 05.05.2025

В машинном обучении размер имеет значение. С ростом сложности моделей и объема данных одиночный процессор или даже мощная видеокарта уже не справляются с задачей обучения за разумное время. Когда. . .

CRUD API на C# и GraphQL

stackOverflow 05.05.2025

В бэкенд-разработке постоянно возникают новые технологии, призванные решить актуальные проблемы и упростить жизнь программистам. Одной из таких технологий стал GraphQL — язык запросов для API,. . .

Распознавание голоса и речи на C#

UnmanagedCoder 05.05.2025

Интеграция голосового управления в приложения на C# стала намного доступнее благодаря развитию специализированных библиотек и API. При этом многие разработчики до сих пор считают голосовое управление. . .

Реализация своих итераторов в C++

NullReferenced 05.05.2025

Итераторы в C++ — это абстракция, которая связывает весь экосистему Стандартной Библиотеки Шаблонов (STL) в единое целое, позволяя алгоритмам работать с разнородными структурами данных без знания их. . .

Разработка собственного фреймворка для тестирования в C#

UnmanagedCoder 04.05.2025

C# довольно богат готовыми решениями – NUnit, xUnit, MSTest уже давно стали своеобразными динозаврами индустрии. Однако, как и любой динозавр, они не всегда могут протиснуться в узкие коридоры. . .

Распределенная трассировка в Java с помощью OpenTelemetry

Javaican 04.05.2025

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

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows th rsat ws2016
  • Ошибка 0xc0000709 принтер windows 10
  • Windows 2000 professional оригинальный образ
  • Программа перебора паролей wifi для windows
  • Посоветуйте браузер для windows 7