Установить программу с заменой файла

При таком исходе событий файл будет удален и система может прийти в непригодность.

Есть выход из этой ситуации — системные файлы можно заменить.

В идеальном случае копии системных файлов можно найти на системном диске в папках:
%systemroot%system32dllcache или %systemdrive%i386

%systemroot% соответсвует в стандартном случае C:Windows для XP/Vista и C:WINNT для Windows 2000, %systemdrive% — имя системного диска

Однако не всегда есть возможность воспользоваться этими папками для подмены зажаренных или удалённых системных файлов.

Одно из решений данной проблемы — замена файлов из аналогичной заведомо здоровой системы. Здесь нужно быть уверенным, что система-донор абсолютно чиста, имеет тот же самый язык и тот же самый установленный сервис пак, что и больная система. Но существует опасность заразить новую систему, если вы недостаточно опытны в этом.

Если же подходящей системы-донора нет или вы боитесь заразить другой компьютер, можно загрузиться с любого Live CD (BartPE, Knoppix) либо в консоли восстановления используя дистрибутив системы. Здесь так же нужно быть уверенным, что дистрибутив имеет тот же язык и тот же сервис пак, что и система.

Как сделать свою замену файлов с эффектами стрельбы


Если дистрибутив сервис пака не имеет или имеет более низкую версию по сравнению с системой, необходимо создать на здоровом компьютере дистрибутив с интегрированным сервис паком. Проще всего это сделать с помощью программы NLite.

Итак у нас уже есть нужный дистрибутив.

Загружаемся в Загружаемся
После входа и появления приглашения к диалогу наберите команду:

X – буква привода в котором находится дистрибутив
Нажмите ВВОД.

Предположим, что Вы должны заменить файл:

Источник: www.safezone.cc

Замена повреждённых или удалённых системных файлов Windows вручную

Для восстановления работоспособности 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:sourcesinstall.wim

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

CMD - Dism

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

Extract

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

Путь распаковки

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

Файл утилиты

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

Копируем его

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

Проводник

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

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

Замена системных файлов Android с помощью adb

Способ может быть полезен в том случае, если «уже ничего не помогает», доступа к Root Explorer нет или телефон вообще не может загрузиться. В моем случае, пришлось в «боевом» режиме восстанавливать удалённый по глупости SystemUI.apk. При этом на телефоне что-то делать можно было только в доли секунды между нажатием кнопки «ОК» на предыдущем окне с ошибкой и появлением следующего такого же окна. Перепрошиваться не хотелось, потому пришлось срочно осваивать adb.

Итак, для того, чтобы подключить свой гуглофон к adb, вам нужно:

1) Android SDK для Вашей системы (здесь — на примере GNU/Linux Ubuntu)
2) Android SDK Platform-tools (устанавливаются выбором соответствующей галочки в Android SDK)
3) В «Параметры — Программы — Отладка» должна стоять галочка на «Отладка по USB»
4) Подключить телефон к USB
5) В моём случае пришлось сделать еще две вещи:
указать ID производителя телефона idVendor (его можно найти здесь):
#echo SUBSYSTEM==»usb», SYSFS= , MODE=»0666″ > /etc/udev/rules.d/51-android.rules
#chmod a+r /etc/udev/rules.d/51-android.rules
где 0bb4 заменяем на код своего производителя, после чего перезапустить adb
#adb kill-server
#adb start-server

Читайте также:
Как посмотреть работающие программы на телефоне

Итак, все установлено и подключено, вы добавили путь к platform-tools в переменную $PATH своей операционной системы или перешли в эту папку с помощью команды cd. По команде «adb devices» должен выдавать некий номер и справа от него «device». Это значит, что adb видит телефон и может с ним работать. Если вместо «device» что-то другое или вообще «List of devices attached» — проблема где-то на 4-5 шаге.

Далее вам нужно поместить системный файл, который вы хотите установить, в папку platform-tools. То есть запасная копия системного файла должна быть приготовлена заранее или скопирована с аналогичного телефона.

После этого можно закинуть системный файл в /system/app такой последовательностью команд:

$adb push YourFile.apk /data/Yourfile.apk
$adb remount
$adb shell
$su
#cp -f /data/YourFile.apk /system/app/Yourfile.apk
#chmod 644 /system/app/YourFile.apk
#exit
$exit
$adb reboot
где YourFile.apk — имя вашего системного файла, причем регистр букв имеет значение.
После последней команды Ваш телефон должен перезагрузиться уже с новыми файлами.
Если на команду «adb remount» Вы получаете ответ «remount failed: Operation not permitted», то попробуйте вместо нее после «su» ввести «#mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system».

P.S.: В линуксе, если platform-tools не добавлена в $PATH, вместо «adb» нужно писать «./adb».

В этой статье команды, которые я запускал от имени обычного пользователя обозначены символом $ в начале строки, от имени root — символом #.

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru