Как скопировать файл в папку system32 в windows 7

Обновлено: 04.07.2024

Сообщество программистов
Общение, помощь, обмен опытом

Другие разделы портала

Переход к вопросу:

Статистика за сегодня:

Вопросы: 0
Ответы: 0
Мини-форумы: 0

Лучшие эксперты

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

  1. >
  2. var
  3. Form1: TForm1;
  4. SysPath : String;
  5. implementation
  6. procedure TForm1.FormCreate(Sender: TObject);
  7. var
  8. SysDir:PAnsiChar;
  9. Res:Integer;
  10. begin
  11. SysPath := SysDir;
  12. end;
  13. procedure TForm1.Button1Click(Sender: TObject);
  14. const
  15. f : String = 'test.exe';
  16. var
  17. s: String;
  18. begin
  19. s := SysPath+'\'+f;
  20. if CopyFile(PChar(f),PChar(s), True) then
  21. else
  22. end;
  23. end.
  24. >

Мини-форум вопроса

Kyran29: Забуть в W7 скопировать что-либо в системные папки. Там мелкомягкие что-то сильно намудрили.

поддерживаю. Для 64 битной винды каталог с именем system42 - скорее всего рудимент.
Поэтому берите функцию, которая возвратит Вам C:\Windows и добавьте просто system32. Либо расскажите, зачем туда копируете файлы.

Поддерживаю, какать в /bin - некошерно. А не туда может из-за а) виртуализации UAC б) исполнения в 32битной подсистеме.

виконання програми розпочинається з того самого мiсця, де призупинилося.

Цитата (Вадим К):

поддерживаю. Для 64 битной винды каталог с именем system42 - скорее всего рудимент

Цитата (Мережников Андрей):

Мало ли как можно обозвать каталог, в который установлена операционка?
Не совсем. Этот каталог (system32) жестко прописан во многих местах.
А в Висте, из за некоторых ошибок, пришлось даже делать, что бы системных диском всегда был диск С.

Проблема в следующем
- у Вас 64битная система, а делфи делает 32 битные приложения.
- Вы не до конца понимает, как работают 32битные приложения в 64битной среде.
- туда лучше ничего не копировать. В свой паспорт человек же сам не вписывает ничего.

Вадим К:
Я с Вами согласен туда луче ни чего не копировать для этого существуют специальные каталоги. Вопрос возник случайно, как-то попробовал скопировать файл в каталог System32 и получил выше изложенный результат. И теперь этот вопрос не дает мне покоя. Вроде каталог есть, найти его мы можем, а файл туда не копируется.
Выше Вы предлагали воспользоваться функцией, которая возвратит C:\Windows и просто добавить system32 – пробовал ситуация та же. Даже если просто указать путь ‘C:\Windows\System32\’ через строковую переменную результат не меняется.
Вот функция GetSpecialPath возвращает путь до каталога System32 и путь до каталога SysWOW64 но после копирования файла по первому адресу файл оказывается во втором каталоге.

Цитата:

Вопрос в том что копируем файл сюда - C:\Windows\System32\ , а оказывается он здесь - C:\Windows\SysWOW64\ Суть копирования: Мы создаём файл в новом месте, но с тем же именем. Затем в новый файл записывается точная копия данных из исходного файла. Для создания файла, мы в конечном счете обращаемся к некоей функции ядра, одним из параметров которой является путь к файлу. Так неужели этой функции так сложно заменить в пути к файлу (строке то бишь) System32 на SysWOW64. На вопрос как это может быть, я думаю был убедительным.

Цитата:

А вот это отдельный вопрос. Думаю, на это были какаие-то свои причины у разработчиков семёрки.

Цитата (Вадим К):

Не совсем. Этот каталог (system32) жестко прописан во многих местах

Для восстановления работоспособности Windows существует масса способов – точки отката, бэкап, бэкап и откат её реестра, восстановление целостности её файлов, переустановка Microsoft Visual C++ и прочих системных компонентов. Но только предварительно сделанный бэкап системы можно считать панацеей, универсальным «лекарством» от всех возможных проблем. Как быть, если нужно восстановить системные файлы, а у нас ни бэкапа нет, ни инструмент восстановления системных файлов не работает?

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

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

Уведомление

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

Sfc - scannow

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

Что для этого необходимо? Нам понадобится установочный ISO нужной версии Windows. Открываем его архиватором 7-Zip.

Установочный ISO

Открываем папку «sources», далее – «install».

7-Zip

Внутри файла «install» выбираем папку с тем или иным порядковым номером. Порядковые номера – это индексы редакций Windows. Если, например, в нашем случае нужно восстановить файл diskmgmt.msc , нам без разницы редакция, эта системная утилита есть в любой редакции Windows. Поэтому мы просто выберем редакцию Pro , она идёт под номером 4.

Редакция Windows

Но если файл нужного системного компонента есть только в определённой редакции, например, только в Pro, то необходимо указывать индекс конкретно этой редакции. А узнать индексы редакций в составе дистрибутива можно с помощью командной строки. Нужно подключить установочный ISO для отображения в системе и прописать в команде Dism путь к файлу install на борту этого ISO , вот так:

Dism /Get-WimInfo /WimFile:J:\sources\install.wim

Здесь вместо буквы J каждый должен подставить свою букву диска подключённого ISO . И если файл install имеет формат не «.wim», а «.esd», то, соответственно, в конце команды необходимо указать этот формат. В ответ на эту команду получим справку о соответствии индексам редакций Windows.

CMD - Dism

Определившись с редакцией, распаковываем нужный системный каталог. В нашем случае необходимо заменить файл утилиты diskmgmt.msc , следовательно, мы распаковываем каталог «Windows» . Кликаем его и жмём «Extract».

Extract

Указываем путь распаковки.

И после распаковки ищем файл утилиты diskmgmt.msc .

Файл утилиты

При поиске обнаружилось несколько дубликатов diskmgmt.msc – в оригинальном месте хранения файла, в хранилище системных ресурсов (т.е. в папке WinSxS) , в других системных подкаталогах. Мы берём файл, находящийся по исходному его пути хранения, в папке «System32» . Копируем его.

Копируем его

И помещаем этот файл в папку «System32» внутри каталога «Windows» на диске С текущей системы.

Проводник

Подтверждаем вставку или замену файла.

Подтверждаем вставку

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

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

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

Добавлено через 21 минуту
Понял в чём проблема, нужно запустить cmd от Админа.

Только вот вопрос, как это сделать через "Пуск=> Выполнить"?

Эти права не подходят.

Добавлено через 1 минуту
Нужно запустить cmd от имени админа не прибегая к ручному запуску. (ПКМ открыть от имени админа). Так как запуск команды удалённый в Bat файле

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Создать на диске "С" папку, и скопировать в эту папку файл с диска "С" (TASM)
Создать на диске С:\ папку и скопировать в эту папку файл из диска С:\. Имена файла и папки.

Как скопировать файл в папку "Temp" на поточном диске ?
Как скопировать файл в папку "Temp" на поточном диске copy ("file.txt","/temp/file.txt") Папка.

Загружено "C:\Windows\System32\atig6txx.dll". Невозможно найти или открыть PDB-файл
Пытаюсь установить OpenCV 3.2.0 на VisualStudio 2017, на 7 винде. Сборка прошла успешна, но при.

Решение

Спасибо огромное. [Решено]

P.S. Сразу не понял, подумал что программу дополнительную надо, решил вопрос "вшитием" программы через MoleBox А можно пояснить этот старый вопрос?
Под админом системы Win 7 SP1 64bit запускаю: nircmdc.exe runassystem far.exe - запускает FAR и судя по сброшенным настройкам - от системного пользователя.
В FAR делаю копирование файла hosts из C:\ в C:\Windows\System32\Drivers\etc\ - Доступ запрещён
Простое создание файла типа echo 1 >C:\Windows\System32\drivers\etc\hosts работает даже без nircmd и runassystem. Хочется запускать FAR с доступом на все каталоги.
Антивирусов, защитников и прочих запрещалок, естественно, в системе не работает.
На etc права стоят Все = полные, владелец=Администраторы.
Где лочится доступ на etc и его невидимость в оболочке, хотя в explorer каталог виден? команда идет в одном сценарии, вероятно нельзя просто вот так навсегда farу дать права. Собственно я не в курсе как для far все будет, но для вызванной сессии cmd с помощью этой команды можно права дать именно в этой сессии, сделать подобное на следующей строке (без nircmd) уже не получиться, надеюсь понятно объяснил.

Сиюминутный смысл как раз в том, что на копирование в C:\Windows\System32\Drivers\etc\ есть ограничение у Win 7 - не знаю где. Создание-добавление файлов идёт нормально. То ли в политиках зарыто по умолчанию, то ли системными процессами контролируется. В инете намёков не нашёл, из местных кото-то знает?

Повышение прав для FAR - это в идеале и на перспективу, привык из оболочки все файловые операции делать без ограничений доступа. Но видимо права для того каталога не помогают: запуск FAR от имени system вопроса не решает, равно как и полные права на каталоге.

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

№1 Восстановление системных файлов в операционной системе Windows XP! Когда известно, какие системные файлы необходимо восстанавливать.

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

Процесс восстановления системных файлов в операционной системе Windows заключается в копировании с установочного диска «Windows XP» необходимых системных файлов. В папке «I386» дистрибутива Windows располагаются все системные файлы операционной системы. Они записаны в сжатом виде и имеют расширение типа «.dl_» «.ex_» и так далее. То есть последний символ заменен подчеркиванием.

Теперь перейдем к самому важному этапу. Как распаковать системные файлы с установочного диска Windows, на примере восстановления файла «C:\Windows\System32\userinit.exe», довольно часто именно этот файл подменяется вирусами вымогателями, баннерами, блокирующими Windows. Процесс восстановления системных файлов с установочного диска ничем не не отличается и для других файлов. Главное обладать информацией в какой из папок должен располагаться тот или иной необходимый нам файл.

Загружаемся с диска «ERD Commander». Выбираем загрузку «ERD Commander 5.0 for Windows XP». В появившемся окне в конце загрузки выбираем путь к установленной ОС Windows и нажимаем «ОК».

Открываем «Мой Компьютер». Вставляем установочный компакт-диск Windows. Из папки «I386» копируем необходимые системные файлы с расширением «dl_» или «ex_» в папку, где они должны находиться в установленной системе. В нашем случае это файл «USERINIT.EX_». Копируем «USERINIT.EX_» из папки «I386» в папку «C:\Windows\System32\». Для этого щелкаем правой кнопкой по файлу «USERINIT.EX_» и в контекстном меню выбираем «Copy to».

В появившемся окне нужно выбрать путь «C:\Windows\System32» и нажать «ОК».

После того как системный файл будет скопирован в необходимую нам папку, необходимо его распаковать. Распаковка системных файлов с расширением «dl_» или «ex_» с установочного диска Windows выполняется с помощью команды «expand».

Синтаксис команды: «expand [файл-источник] [целевой файл]»

Чтобы выполнить команду, необходимо запустить командную строку. В меню «Пуск (Start)» выбираем пункт «Выполнить (Run)». В появившемся окне вводим команду «cmd» и нажимаем «Enter». В окне командной строки вводим команду распаковки нашего файла: «expand»

  1. «c:\windows\system32\userinit.ex_»
  2. «c:\windows\system32\userinit.exe»

и нажимаем «Enter».

Выполнится распаковка, о чем свидетельствует текст: «c:\windows\system32\userinit.ex_: 11863 bytes expanded to 26624 bytes». Восстановление системного файла прошло успешно. Теперь можно перезагружать компьютер.

Вот и все! Все остальные системные файлы в операционной системе Windows XP, восстанавливаются также

№2 Как восстановить поврежденные системные файлы в операционной системе Windows 7?

Теперь рассмотрим процесс восстановления системных файлов в Windows 7. Он отличается от восстановления системных файлов в Windows XP.

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

Следующие что мы делаем, это запускаем набор средств восстановления «MSDaRT».

Далее, выбираем пункт меню «Средство проверки системных файлов»

Для продолжения работы мастера нажимаем «Далее»

Выбираем пункт «Сканировать и запрашивать перед исправлением» и нажимаем «Далее»

Запустится процесс поиска поврежденных и удаленных системных файлов «Windows 7». Он может занять некое время (от 5 дл 30 минут). После того как Операционная Система будет просканирована, появится список поврежденных или удаленных файлов. Ставим галочки на файлах, которые хотим восстановить и нажимаем «Далее».

Запустится процесс восстановления системных файлов «Windows 7», после чего появится окно с результатами восстановления. Нажимаем «Далее» и в следующем окне «Готово».

Теперь закрываем инструменты восстановления системы «Windows 7 (MSDaRT)», нажав кнопку «Закрыть» и нажимаем кнопку «Перезагрузить» для перезагрузки.

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

Если вы восстанавливаете системные файлы после удаления баннера, выбирайте для восстановления системные файлы из приведенной ниже таблицы.

Системные файлы Windows и папки, в которых они должны находиться

Ниже приведены некоторые системные файлы Windows и папки, в которых они должны находиться. Имейте ввиду, если вы нашли соответствующий файл, и он находится в другой папке, скорей всего, что это вирус. (за исключением папки: c:\windows\system32\dllcache).

Читайте также: