9

Я пытаюсь решить проблему с реестром и службами Windows. Я попытался запустить команду SFC, но это сообщение об ошибке я получаю?

C:\Windows>sfc /scannow

Beginning system scan.  This process will take some time.    

There is a system repair pending which requires reboot to complete.  Restart
Windows and run sfc again.

C:\Windows>

Но с момента появления этого сообщения я несколько раз перезагружался, и я даже пытался запустить команду в безопасном режиме и в режиме консоли, но все равно получаю одно и то же сообщение. Как мне от этого избавиться?

Этот файл находится в папке winsxs: C:\Windows\winsxs\cleanup.xml

Это его содержание:

<?xml version='1.0' encoding='utf-16'?>
<PendingTransaction >
    <POQ postAction="NoReboot">
        <DeleteFile path="\??\D:\$$DeleteMe.CbsMsg.dll.01c85bd2f5893b40.0000"/>
    </POQ>
</PendingTransaction>

Может ли это быть что-то? Это причина? Безопасно ли удалять этот файл?

Обновить

Я попытался переименовать его, но операция не удалась.

Я запустил файл explorer.exe с повышенными правами и перешел к месту. Я получил запрос подтверждения UAC, а затем ошибку ниже.

Destination Folder Access Denied
You need permission to perform this action

Как переименовать или удалить этот файл? Нужно ли использовать cmd или быть в безопасном режиме, чтобы сделать это?

Обновление 2

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

C:\Windows\winsxs>ren cleanup.xml cleanup.xml.old
Access is denied.

C:\Windows\winsxs>takeown /f "cleanup.xml"

SUCCESS: The file (or folder): "C:\Windows\winsxs\cleanup.xml" now owned by user
 "mycomputername\username".

C:\Windows\winsxs>ren cleanup.xml cleanup.xml.old
Access is denied.

C:\Windows\winsxs>

Я также дал следующую команду.

C:\Windows\system32>icacls "C:\Windows\winsxs\cleanup.xml" /grant username:F
processed file: C:\Windows\winsxs\cleanup.xml
Successfully processed 1 files; Failed processing 0 files

C:\Windows\system32>cd ..\winsxs

C:\Windows\winsxs>ren cleanup.xml cleanup.xml.old
Access is denied.

C:\Windows\winsxs>

Это все еще не позволит мне переименовать его. Я дал эти две последние команды в обычном режиме Windows. Это имеет значение?... Попробую перезагрузить.

4 ответа4

10

У меня такая же проблема в Windows 7. Я наконец заставил sfc запускаться с помощью следующих команд из консоли восстановления (по какой-то причине он назначил D: моему основному диску, а не C:

del d:\windows\winsxs\pending.xml
del x:\windows\winsxs\pending.xml
sfc /scannow /offbootdir=D:\ offwindir=D:\Windows

(Тем не менее, sfc теперь говорит мне

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

так что это не исправило мои проблемы с запуском)

4

Эта команда должна сделать это.

dism.exe /image:C:\ /cleanup-image /revertpendingactions

Но это работает только в Windows 7 или новее. У меня нет инструмента dism.exe в Windows Vista. Я просто подумал, что поделюсь этим с теми, кто находит этот вопрос и у кого есть Windows 7. Я, конечно, не смог проверить это сам, но этот парень говорит, что ему удалось удалить это надоедливое сообщение об ошибке из мира. Так что стоит попробовать.

0

Найдите в реестре SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing если вы видите ключ с именем RebootPending . Это место, где Windows также проверяет, есть ли ожидающая перезагрузка.

-1

Это сработало для меня:

sfc /SCANNOW /OFFBOOTDIR=c:\ /OFFWINDIR=d:\Windows

Источник: http://blog.crosbydrive.com/?p=339

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .