В чем разница между «system32» и «syswow64» в windows?
Содержание:
- [править] См. также
- Вирусы в System32
- Восстановление после повреждения системного реестра, препятствующего запуску Windows XP
- Восстановление системы вручную
- Создание переменной среды в Windows
- Постоянно моргает и пропадает консоль командной строки
- Причины возникновения
- System32 против SysWOW64
- Создание нового пользовательского профиля
- system32 сканер
- Другие процессы
- Исправить Desktop недоступен в Windows 10
- PCI Express Config Space
[править] См. также
- Alt+F4
- Ctrl+Alt+Del
- rm -rf — для красноглазиков.
- winlogon.exe
- IOSYS
- Кулхацкер
- Ламер
- УДОЛИЛ
System32 — лучше всех! Я гарантирую это! |
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Вирусы в System32
Вполне возможно, что вирус или другие вредоносные программы могут скрываться в System32. Руткит может попытаться вторгнуться в папку и замаскировать себя как законный процесс, который вы можете заметить из-за необычно высокого использования ЦП. Если вы подозреваете, что у вас есть вирус в папке System32, вы не должны пытаться удалять или изменять любые затронутые файлы. У вас больше шансов случайно повредить вашу систему, чем очистить от вируса. Вместо этого вы должны сканировать с помощью доверенной антивирусной программы , а затем сканировать антивирусным сканером , например Zemana.
Вывод о System32
Теперь вы знаете все о System32, что он делает, и что произойдет, если вы удалите его. Если вы ничего не понимаете, просто знайте, что System32 содержит набор жизненно важных файлов, которые нужны для работы Windows. Вы не можете удалить System32 без преднамеренного обхода встроенных защит, и вам потребуется переустановить Windows, если вы удалите папку или часть содержимых файлов в ней.
Операционная система Windows 7 содержит системные папки, хранящие информацию о конфигурации системы, позволяющую защитить пользовательские или системные данные.
Размер папок увеличивается при обновлениях Windows 7, установке и обновлении сторонних программ, загрузке файлов из интернета. Чтобы в дальнейшем системный диск не загружался ненужной информацией, необходимо чистить системные папки от лишних файлов
Но делать это осторожно, так как при удалении из них служебной информации может произойти крах всей системы
Восстановление после повреждения системного реестра, препятствующего запуску Windows XP
Рейтинг: 2 / 5
При включение пк под управлением операционной системы Windows xp появляются ошибки об нехватки файлов.
Не удается запустить Windows XP, так как следующий файл отсутствует или поврежден: \WINDOWS\SYSTEM32\CONFIG\SYSTEMНе удается запустить Windows XP, так как следующий файл отсутствует или поврежден: \WINDOWS\SYSTEM32\CONFIG\SOFTWARE
в данной статье рассмотрено 2 метода дочитайте до конца и выберите метод для себя.
============ 1 метод ============
Мы получим ОС как бы установленную заново. у нас не будет установленных программ.
нам нужно просто скопировать зарезервированные копии файлов реестра из каталога C:\Windows\repair.
В каталог где лежат поврежденные файлы реестра C:\Windows\system32\Config
для этого можно воспользоваться Установочным диском Windows XP
Вставляем установочный диск. При появлении экрана «Вас приветствует программа установки» нажмите клавишу R, чтобы запустить консоль восстановления
выбираем установленную ос 1 жмем enter когда просят пароль Администратора вводим пароль если пароля нет то просто нажимаем enter
вводим команды последовательно и нажимаем enter.
1) Данными командами мы резервируем файлы реестра
MD backup
copy c:\windows\system32\config\system c:\windows\backup\system.bak
copy c:\windows\system32\config\software c:\windows\backup\software.bak
copy c:\windows\system32\config\sam c:\windows\backup\sam.bak
copy c:\windows\system32\config\security c:\windows\backup\security.bak
copy c:\windows\system32\config\default c:\windows\backup\default.bak
2) данными командами мы удаляем поврежденные файла реестра.
delete c:\windows\system32\config\system
delete c:\windows\system32\config\software
delete c:\windows\system32\config\sam
delete c:\windows\system32\config\security
delete c:\windows\system32\config\default
3) копируем зарезервированные файлы реестра в каталог где должен лежать реестр.
copy c:\windows\repair\system c:\windows\system32\config\system
copy c:\windows\repair\software c:\windows\system32\config\software
copy c:\windows\repair\sam c:\windows\system32\config\sam
copy c:\windows\repair\security c:\windows\system32\config\security
copy c:\windows\repair\default c:\windows\system32\config\default
пере загружаемся и проверяем.
======================================================
для экономии времени можно
1) загрузиться с live-cd создадим папку в c:\windows\system32\config\backup
2) скопировать файлы system, software, sam, security, default, из папки c:\windows\system32\config в папку backup которую мы создали.
3) скопировать файлы system, software, sam, security, default, из папки c:\windows\repair\в c:\windows\system32\config\
с заменой файлов согласиться и проверяем.
============ 2 метод ============
будем использовать live-cd и восстановим работоспособность ОС на несколько дней назад этот метод с работает только если восстановление ос было включено.
грузимся с Live-cd и заходим на диск C:\
Примечание Эта папка содержит одну или несколько папок _restore {GUID}, например, «_restore {87BD3667-3246-476B-923F-F86E30B3E7F8}».
Примечание Может появиться следующее сообщение об ошибке:
C:\System Volume Information недоступен. Отказано в доступе.
Получив это сообщение, читайте тут. как получить доступ.
Откройте папку, которая была создана в тот момент когда компьютер работал. смотрите по времени. не в коем случаи не брать паку которая была создана в текущий момент.
Откройте одну из этих папок и найдите папку Snapshot. Примером пути к папке Snapshot является следующий путь:
C:\System Volume Information\_restore{D86480E3-73EF-47BC-A0EB-A81BE6EE3ED8}\RP1\Snapshot
В папке моментальных снимков скопируйте следующие файлы в папку C:\Windows\system32\config
_REGISTRY_USER_.DEFAULT
_REGISTRY_MACHINE_SECURITY
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_MACHINE_SAM
создайте папку и перенесите туда файлы C:\Windows\system32\config\backup system, software, sam, security, default из папки C:\Windows\system32\config
Переименуйте файлы которые скопировали C:\Windows\system32\config
Переименуйте _REGISTRY_USER_.DEFAULT в DEFAULT
Переименовать _REGISTRY_MACHINE_SECURITYв SECURITY
Переименовать _REGISTRY_MACHINE_SOFTWARE в SOFTWARE
Переименовать _REGISTRY_MACHINE_SYSTEM в SYSTEM
Переименуйте _REGISTRY_MACHINE_SAM в SAM
перезагрузим ПК и смотрим.
Восстановление системы вручную
Если предыдущий способ не помог, стоит попытаться решить проблему вручную. В общих чертах, ваша задача – скопировать резервные файлы загрузки в папку \system из \repair. Существует несколько способов сделать это.
Восстанавливаем с помощью файлового менеджера
Не сказать, что этот способ сложнее, чем просто запустить последнюю успешную конфигурацию, но есть один нюанс: этот метод подойдёт, если у вас в наличии имеется загрузочный диск или флешка с любым менеджером. Но, если уж выбирать, то лучше всего подойдёт Live CD. Записать его на носитель не так уж проблематично, а программа потом ещё пригодится не только для восстановления системы, но и для банальной проверки на вирусы. Итак, если диск у вас есть, то проделываем следующее:
- Вставляем носитель.
ВАЖНО. если загрузка не производится, то заходим в BIOS и выставляем приоритет для USB или CD/DVD, в зависимости от ресурса загрузки.
- После того, как всё загрузилось, запускаем проводник.
- В самом проводнике открываем две вкладки (практически все проводники допускают это): в одной — ту самую папку с: \ windows\system32\config\system, а в другой – папку с резервными файлами с: \ windows\repair\system. Внимательно смотрим на повреждённый, по мнению системы, файл –расширения быть не должно.
СОВЕТ. перед названием папок обычно стоит буква C, но может быть и другая, если они находятся на другом жёстком диске.
- Копируем windows\repair\system из папки восстановления в папку с ошибкой. Появится окно, которое запросит разрешение на замену файла. Подтверждаем.
Есть и другой, более безопасный путь. Повреждённые данные можно не сносить, а переименовывать, а затем из папки восстановления копировать первоначальные файлы.
- Перезагружаемся и проверяем, устранена ли проблема.
Восстанавливаем с помощью командной строки
Если же никакого менеджера у вас под рукой нет, а проблему нужно срочно решить, то есть ещё способ с использованием командной строки. Зайти в неё можно следующими путями:
- Через безопасный режим. Для этого, как и говорилось ранее, нажимаем F8 сразу после перезапуска ПК. Однако, данный режим запускается не всегда, а иногда не поддерживает командную строку.
- Используя носитель с Windows XP. Там можно войти в консоль и найти ту самую командную строку. Для этого, после появления экрана приветствия, нажимаем клавишу R и выбираем необходимую для восстановления систему.
- Используя носитель с Windows 7 или 8. Мы прекрасно помним, что «починить» нам необходимо XP, но для вызова консоли этот вариант также приемлем. Нажимаем Shift+F10 сразу же, как появится окно выбора языка.
Следующим шагом после открытия командной строки будет определение конкретного названия поврежденного файла (software, system, sam, default или security) и точной буквы системного диска, на которой располагается ОС. Для этого предназначены две команды:
- wmic logicaldisk get caption (чтобы выяснить букву диска, являющегося системным);
- dir c: (отображает папки на диске С; если вы на находите там папок с нужным названием – просмотрите диск D таким же способом).
Далее восстанавливаем повреждённый файл, прописывая следующую команду (на примере system при расположении на диске C).
ВАЖНО. команды могут разниться в зависимости от того, на каком конкретно диске располагается файл и какой из них повреждён.. К примеру, они могут прописываться так:
К примеру, они могут прописываться так:
или так (если системная папка находится на диске D):
Точно так же и в дальнейшем меняются команды и при удалении, и при восстановлении файла. Выходим из консоли (прописываем и выполняем команду Exit) и перезапускаем ПК. Если вы все вписали правильно, сообщение снова появиться не должно.
В некоторых случаях ни один из вариантов не помогает. Это может означать только одно – пора переустановить операционную систему полностью, это наверняка решит проблему. Надеемся, у вас всё получилось. Если что-то осталось непонятным, задавайте вопросы!
Создание переменной среды в Windows
Пользователь может самостоятельно создать новую переменную для открытия директорий на компьютере, или для запуска программ.
Перед внесением изменений в переменные окружения, обратите внимание на то, что бездумное изменение значений переменных среды Windows может привести к сбоям или неполадкам в работе операционной системы.
Проделайте следующее:
- В окне «Переменные среды» выберите одну из групп переменных: пользовательские или системные переменные.
- Нажмите на кнопку «Создать…».
На этом примере я создам отдельную переменную среды для запуска программы TeamViewer.
- В окне «Изменение пользовательской переменной» добавьте имя переменной, а в поле «Значение переменной:» введите полный путь к исполняемому файлу.
- В окне переменных сред добавилась новая переменная. Нажмите на кнопку «ОК» для применения изменений.
- В диалоговом окне «Выполнить» введите «%Имя_переменной%», в нашем случае, «%TeamViewer%», нажмите на кнопку «ОК».
- На Рабочем столе компьютера откроется окно запущенной программы.
Подобным способом, после ввода переменной в адресную строку Проводника, выполняется запуск программы или открытие директории на ПК.
Переменная среды пути «Path» содержит список директорий на компьютере, в которых система должна искать исполняемые файлы. Переменная среды пути «PATH» не добавляется к исполняемым файлам, а только к директориям, где находятся данные файлы.
Вам также может быть интересно:
- Команды командной строки Windows: список
- Команды «Выполнить» в Windows: полный список
Если добавить в переменную среды Path Windows путь к директории с исполняемым файлом, например, для браузера Google Chrome: , то программа запустится из командной строки, после выполнения команды «chrome», без ввода полного пути к исполняемому файлу.
При необходимости, пользователь может удалить ненужную переменную из операционной системы Windows.
Постоянно моргает и пропадает консоль командной строки
Согласитесь, что постоянное мелькание окна «Командной строки» может довести до нервного срыва.
Особо часто этой проблеме подвержены пользователи операционной системы Windows 10.
Для определения проблематики рассматриваемой ситуации необходимо определиться к какому виду она относится, а их два:
- Окно «Командной строки» появляется в момент прогрузки рабочего стола. По сути, данный вид не является проблемой, так как данный сценарий не редкость, и лишь означает, что при старте системы до загрузки рабочего стола не успели прогрузиться/включиться все активные службы.
- Окно «Командной строки» мелькает постоянно. Это уже как раз и говорит о том, что в работе служб имеются проблемы, которые могут обуславливаться и деятельностью стороннего вирусного обеспечения.
Принимая это во внимание, каждый столкнувшийся с подобной проблемой пользователь должен задать себе один ключевой вопрос: «После каких манипуляций проявились данные проблемы». Например, был установлен пакет стороннего программного обеспечения или вручную/самостоятельно были отключены какие-либо службы, необходимые для штатной работы операционной системы
А предусмотренные решения характеризуются именно восстановлением штатной конфигурации, которая была потеряна из-за необдуманных действий пользователя или в результате имеющихся в системе вирусов, а именно:
«Просмотр запланированных действий»:
Нажмите комбинацию клавиш «WIN+R» и выполните команду «taskschd.msc»;
В открывшемся окне «Планировщик заданий» выберите папку «Библиотеку планировщика заданий»;
В центральной части окна будет приведён перечь системных и не системных процессов, которые запускаются или выполняют какие-либо действия по расписанию.
Отсортируйте список по времени предыдущего запуска и сопоставьте полученные данные со временем проявления рассматриваемой ситуации
Также особое внимание обращайте на все подозрительные строки и при необходимости просмотрите информацию о запланированных ими действиях;. Всё лишнее и подозрительное отключайте/удаляйте из «Планировщика заданий»
Всё лишнее и подозрительное отключайте/удаляйте из «Планировщика заданий».
«Комплексная очистка системы и полная антивирусная проверка»:
Очистите реестр с помощью любой доступной для этого утилиты, например, используя «CCleaner»;
Установите и откройте озвученное ПО и перейдите в раздел «Реестр»;
Нажмите на кнопку «Поиск проблем» и после завершения сканирования выберите «Исправить выбранное»;
В этой же программе откройте раздел «Сервис» и поочерёдно откройте «Удаление программ» (удалите там всё, что вызывает сомнение), далее «Автозагрузка» и принимая во внимание те же мотивы отключите подозрительные приложения;
Откройте имеющееся у вас антивирусное ПО и проведите полное сканирование операционной системы на наличие вирусной активности. Связка «AdwCleaner» и «MalwareBytes» уже давно себя должным образом зарекомендовала;
Откройте «Командую строку» с правами администратора и выполните команду «sfc/scannow»
После всех осуществлённых процедур перезагрузите компьютер.
Причины возникновения
Панель интерпретатора командной строки, неожиданно появляющаяся после загрузки ОС, может быть свидетельством изменения некоторых системных настроек сторонними приложениями. Но это не единственная причина его появления на рабочем столе.
Краткий перечень факторов помещения cmd exe windows в автозапуск:
- Спланированное включение некоторых функций установленных программ или официальных обновлений.
- Включение любого стороннего приложения, установленного пользователем.
- Работа вирусных утилит или попытка системы восстановить поврежденные файлы.
У некоторых пользователей черное окно CMD открывается в ситуации:
- Отображения рабочего стола и чтения всех висящих в автозагрузке программ. Если мощности процессору не хватает, то командная строка может ненадолго задержаться ввиду активации определенных сегментов кода.
- Когда осуществляется какая-нибудь работа с системой. В этом случае следует винить вредоносное ПО, что загружается из сети.
System32 против SysWOW64
В 64-разрядных версиях Windows вы заметите несколько различий в папках, например отдельный каталог Program Files (x86). Что-то подобное происходит с System32: в папке C: \ Windows в 64-разрядной системе вы можете найти папку SysWOW64 в дополнение к System32. Посмотрите, и вы увидите, что две папки содержат файлы с одинаковыми именами. Подобно программным файлам (x86), Windows включает в себя два каталога для совместимости с 32-разрядными программами. Если 32-разрядная программа попыталась загрузить 64-разрядную DLL, то она потерпит крах. Но странно, что в 64-битных системах System32 имеет 64-битные файлы, а SysWOW64 содержит 32-битные файлы. WoW64 означает, что W indows 32-bit on Windows 64 -бит . Это сервис, который позволяет ОС правильно запускать 32-разрядные программы, даже в 64-разрядной системе.
По части это автоматическое перенаправление 32-битных процессов для использования правильных папок. 32-битная программа, даже не зная, что существует 64-разрядное программное обеспечение, будет естественно пытаться получить доступ к папке System32 . Но WoW перенаправляет его вместо SysWOW64. То же самое происходит с программными файлами. Поскольку многие 32-разрядные программы были жестко запрограммированы для доступа к System32 и Program Files, этот метод перенаправления позволяет 32-разрядным и 64-битным программам работать с одной системой легко. Это немного запутанно, но теперь вы немного знаете.
Создание нового пользовательского профиля
Благо, повреждение системного файла рабочего стола не относится к проблеме повреждения системных файлов ядра Windows 10. Как упоминалось, это повреждение в части только нашего пользовательского профиля, т.е. нашей учётной записи. И, соответственно, для решения проблемы нам нужно создать новый профиль, т.е. новую учётную запись. Это меньшее зло, чем переустановка Windows 10, нам не нужно будет устанавливать заново драйверы и программы. Но всё равно многие из наших настроек мы потеряем. Заново придётся устанавливать наши UWP-приложения, настраивать персонализацию, почтовый клиент, календарь, браузер и прочие программы, которые работают с отдельными профильными настройками для каждого из пользователей операционной системы. Ну и также нам нужно будет переместить на другой раздел диска все наши личные файлы, хранящиеся в профильных папках типа «Загрузки», «Видео», «Музыка» и т.д.
В общем, разбираемся с вопросом сохранения важных профильных данных и настроек, затем приступаем к созданию нового профиля. Идём в системные параметры. Кстати, если их невозможно будет открыть привычным образом, открываем клавишами Win+I. Идём в раздел учёных записей, в подразделе «Семья и другие пользователи» жмём добавление нового пользователя.
Вы можете со старта создать себе новую учётную запись с другим именем. Но если вы хотите использовать то же имя, что и было, вам нужно создать прежде временную учётную запись, потом с неё удалить старую и создать новую с таким же именем. Существование двух учётных записей с одним и тем же именем в системе невозможно. Мы так и поступим. Создаём временную учётную запись, и создаём её локального типа, потому далее указываем, что у нас нет данных входа аккаунта Microsoft.
Добавляем пользователя без аккаунта Microsoft.
Вводим имя локального пользователя, любое имя. Никаких паролей для временной учётной записи, естественно, не задаём.
Жмём «Далее».
Далее нам нужно поменять тип учётной записи, что мы только что создали.
Тип меняем на администратора.
Полностью выходим из системы.
Заходим во временную учётную запись.
Ожидаем, пока она настроится. Принимаем параметры конфиденциальности.
В среде нового профиля системы снова запускаем системные параметры и идём туда же, где мы создавали учётную запись. И теперь удаляем нашу старую учётную запись с повреждённым рабочим столом.
После этого точно так, как создавали временную учётную запись, создаём запись со своим именем, задаём ей тип администратора. Далее выполняем выход из временной учётной записи, заходим в запись со своим именем. И уже из неё удаляем временную учётную запись.
system32 сканер
Security Task Manager показывает все запущенные сервисы Windows, включая внедренные скрытые приложения (например, мониторинг клавиатуры или браузера, авто вход). Уникальный рейтинг надежности указывает на вероятность того, что процесс потенциально может быть вредоносной программой-шпионом, кейлоггером или трояном.
Бесплатный aнтивирус находит и удаляет неактивные программы-шпионы, рекламу, трояны, кейлоггеры, вредоносные и следящие программы с вашего жесткого диска. Идеальное дополнение к Security Task Manager.
Reimage бесплатное сканирование, очистка, восстановление и оптимизация вашей системы.
Другие процессы
smc.exe zamguard64.sys hplaserjetservice.exe system32.exe mfemms.exe conduitengin0.dll winvdedrv6.sys rzwizardservice.exe ucagent.exe hpaudioswitchlc.vbs fatraymon.exe
Исправить Desktop недоступен в Windows 10
Проблема с недоступным рабочим местом обычно возникает из-за поврежденных системных файлов. Однако перезагрузка компьютера должна устранить проблему, но если вы не можете исправить ошибку, следуйте дальнейшим решениям.
1. Создать новую учетную запись пользователя
Шаг 1. Запустите командную командную строку от имени администратора. Нажмите Win + R и введите в поле cmd, после чего нажмите Ctrl + Shift + Enter. Если нажать сразу кнопку OK, то cmd запуститься в обычном режиме, но если вы нажмете сочетание кнопок Ctrl + Shift + Enet, Вы запустите её от имени администратора.
Шаг 2. Введите control userpasswords2 команду и нажмите Enter.
Шаг 3. Нажмите в новом окне «Добавить», чтобы создать учетную запись пользователя. Далее вставьте новый идентификатор электронной почты и код доступа в соответствии с инструкциями на экране. Вы можете добавить локального пользователя или учетную запись Microsoft и назначить ей права администратора, если хотите. Когда вы закончите создание нового пользователя, перезагрузите компьютер и на этот раз войдите в новую учетную запись пользователя. Это наиболее вероятное и простое решение, чтобы сохранить файлы и не переустанавливать windows.
2. Обновить Windows через установочную флешку
Шаг 2. Подключите установочную флешку к компьютеру и включите свой компьютер до черного проблемного экрана. Далее нажмите Win + R, введите taskmgr и нажмите Ctrl + Shift + Enter, чтобы открыть диспетчер задач с правами администратора. В диспетчере задач нажмите на вкладку «Файл» > «Запустить новую задачу». В открывшемся диалоговом окне нажмите «Обзор» и перейдите на ранее созданный диск USB. Внутри будет файл setup.exe. Выберите его для запуска. Далее следуйте инструкциям на экране и будьте осторожны и внимательны, не пропустите пункт с сохранением файлов.
3. Перезапуск процесса explorer (Проводник)
Шаг 1. Откройте диспетчер задач, нажав Ctrl + Alt + Del и нажмите снизу подробнее, если у Вас есть такое. Во вкладке «Процессы» найдите процесс под именем Проводник (в Windows 7 он называется explorer.exe). Нажмите на нем правой кнопкой мыши и выберите «Снять задачу».
Шаг 2. Далее нажмите сверху на опцию Файл и выберите Запустить новую задачу. В появившимся окошке напишите explorer.exe, поставьте галочку Создать задачу с правами администратора и нажмите OK. В некоторых случаях, пользователи описывает, что проделовали запуск процесса несколько раз, чтобы исправить ошибку.
4. Вставить папку Dekstop
Шаг 1. Откройте «этот компьютер», если не можете с помощью курсора мышки, то нажмите на клавиатуре Win + E. Перейдите C:\User и включите Скрытые элементы нажав на вкладку Вид. Далее Вы увидите папку Default, зайдите в нее и скопируйте папку Dekstop, нажав правой кнопкой мыши по ней, если мышка не работает, то нажмите на клавиатуре кнопку контекстного меню, с правой стороны между AltCtrl и Ctrl.
Шаг 2. После того как Вы скопировали папку Dekstop, перейдите по следующему пути C:\Windows\System32\config\systemprofile и вставьте папку Dekstop в каталог systemprofile. Перезагрузите компьютер или ноутбук, именно перезагрузите, а не выключить и включить.
5. Выполнить чистую установку windows 10
Если ошибка «C:\windows\system32\config\systemprofile\desktop недоступен» появляется после первого проделанного пункта, то имеет смысл установить windows 10 с нуля. Windows 10 вы можете скачать с официального сайта Майкрософт и записать сразу, как ISO образ на флешку для установки или воспользоваться программами для создания загрузочной флешки.
6. Переустановить загрузочные файлы
Возможная причина недоступности рабочего стола — это поврежденные загрузочные файлы. Таким образом, Вы можете восстановить их с помощью командной строки из среды восстановления. Здесь вы найдете идеальный способ — как восстановить главную загрузочную запись (MBR). Если обнаружу еще способы решения новой ошибки в windows 10, то обязательно сообщу вам. Успехов!
Смотрите еще:
- Ошибка 0x8000ffff при восстановлении системы Windows 10
- Ошибка DistributedCOM Код события 10016 Windows 10
- Ошибка 0x80242006 обновления в Windows 10
- Ошибка 0x80070643: Не удалось установить обновления Windows 10
- Ошибка 0x80070091: Папка не пуста
Загрузка комментариев
PCI Express Config Space
Немного отвлечёмся на один нюанс про PCIE Config Space. С этим адресным пространством не всё так просто — со времён шины PCI для доступа к её конфигурационному пространству используется метод с использованием I/O портов 0xCF8 / 0xCFC. Он применён и в нашем драйвере AsrDrv101:
Чтение и запись PCI Config Space
Но через этот метод доступны только 0x100 байт конфигурационного пространства, в то время как в стандарте PCI Express размер Config Space у устройств может быть достигать 0x1000 байт! И полноценно вычитать их можно только обращением к PCI Extended Config Space, которая замаплена где-то в адресном пространстве, обычно чуть пониже BIOS:
Адресное пространство современного x86 компа, 0-4 ГБ
На чипсетах Intel (ну, в их большинстве) указатель на эту область адресного пространства можно взять из конфига PCI устройства 0:0:0 по смещению 0x60, подробнее описано в даташитах:
У AMD я такого не нашёл (наверняка есть, плохо искал), но сам факт неуниверсальности пнул меня в сторону поиска другого решения. Погуглив стандарты, я обнаружил, что указатель на эту область передаётся системе через ACPI таблицу MCFG
А сами ACPI таблицы можно найти через запись RSDP, поискав её сигнатуру по адресам 0xE0000-0xFFFFF, а затем распарсив табличку RSDT. Отлично, здесь нам и пригодится функционал поиска по памяти. Получаем нечто такое:
На всякий случай оставляем вариант для чипсетов Intel
Всё, теперь осталось при необходимости заменить чтение PCI Express Config Space через драйвер на чтение через память. Теперь-то разгуляемся!