Як я можу відновитись після помилки "очікування ремонту" в SFC?


10

Я намагаюся виправити проблему з реєстром та службами 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>

Але я перезавантажувався кілька разів з моменту появи цього повідомлення, і я навіть намагався запустити команду в безпечному режимі та в консольному режимі, але все одно отримую те саме повідомлення. Як я можу його позбутися?

У папці winxs є цей файл: C: \ Windows \ winxs \ cleanup.xml

Це його вміст:

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

Може це щось? Це причина? Чи безпечно видалити цей файл?

Оновлення

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

Я запустив explor.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. Це має значення? ... Я спробую перезавантажити.


Проблема вирішена, виконавши ремонтну установку .
Самір

У мене те саме питання, але у мене немає cleanup.xmlфайлу, тому я не думаю, що це причина.
BlueRaja - Danny Pflughoeft

@BlueRaja Як я пам’ятаю, це було щось пов’язане з очищенням, але, можливо, вам не знадобиться мати цей файл, щоб знати, що у вас є ця проблема. Подивіться на другу відповідь. Трюк реєстру може працювати для вас. Якщо я пам'ятаю правильно, я зробив установку на ремонт. Тому мені не вдалося це спробувати.
Самір

Відповіді:


12

У мене така ж проблема в Windows 7. Нарешті я sfcзапустив за допомогою наступних команд з консолі ремонту (чомусь він призначений D:моєму головному диску, а не C:)

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

(Однак sfcтепер мені кажуть

Захист ресурсів Windows виявив пошкоджені файли, але не зміг виправити деякі з них.

тому це не вирішило мої проблеми із запуском )


Це насправді не відповідає на питання. Якщо у вас інше питання, ви можете задати його, натиснувши Задати питання . Ви також можете додати щедрості, щоб привернути більше уваги до цього питання.
CharlieRB

Це не дає відповіді на запитання. Щоб критикувати або вимагати роз'яснення у автора, залиште коментар під їх дописом.
Рамхаунд

1
@CharlieRB і Ramhound: так? Так, це абсолютно відповідає на питання. Питання "Як змусити SFC запускатися, коли він видає цю помилку?" Я запропонував рішення, яке використав, щоб змусити SFC працювати, коли зі мною трапилось те саме. Насправді це не вирішило моєї основної проблеми, але це дотично до питання, саме тому я лише згадував про це наприкінці (і надав посилання на іншу тему, щоб допомогти іншим, як я)
BlueRaja - Danny Pflughoeft

@BlueRaja - Ти маєш проблеми, але це не стосується питання автора. Іншими словами, друга частина відповіді є якоюсь невідповідною до проблеми самміга. Як посилання на ваше власне питання має відношення до того, як ви видаляєте pending.xml(це не так).
Ramhound

1
@Ramhound: Так, я це вже сказав. Однак, оскільки в Інтернеті, можливо, є інші, з моїм тим же номером, які знайдуть цю сторінку через Googling, як і я, я додав додаткову пов’язану інформацію, щоб вказати їх у правильному напрямку (що є надзвичайно поширеною люб’язністю на цьому сайті) . Я не розумію, як ви могли з цим помилитися. Незважаючи на те, я зараз це скористався дужкою, тому немає жодного способу заплутати це як необхідну частину відповіді.
BlueRaja - Danny Pflughoeft

4

Ця команда повинна це зробити.

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

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


Коли я запускаю цю команду із запиту на ремонт, я просто отримую Error 0x80029c4a - The request is not supported:(
BlueRaja - Danny Pflughoeft

Яка версія Windows це?
Самір

Програма Windows 7 Professional Edition (отримана на законних підставах через MSDN)
BlueRaja - Danny Pflughoeft

Я не надто впевнений, що це те саме питання. Я використовував Windows Vista. Як я пам'ятаю, моя первісна проблема була зі службою Windows Audio. Це не було з тих причин, яких я зараз не можу згадати. Тож у мене не було звуку. Я намагався її відремонтувати, але це створило нову проблему. Це питання описує цю нову проблему. Тож я не знаю, що призвело вас до цієї проблеми. Усі рішення, знайдені на цьому веб-сайті, знаходяться на принципі "як є". Не слідкуйте за кожним кроком, не адаптуючи їх до вашої конкретної проблеми.
Самір

@sammyg - для цієї конкретної команди потрібне певне оновлення Windows 7. Можливо, було б корисно вказати, що це таке, оскільки через 2 роки відсутність цієї інформації призвело до плутанини.
Рамхаунд

0

Подивіться в реєстр, SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingякщо ви бачите ключ, який називається RebootPending. Це місце, де Windows також перевіряє, чи є перезавантаження в очікуванні.


У HKLM (місцева машина)? ...
Самір

Так, у мене є HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPendingі воно містить лише рядкове значення за замовчуванням, і воно не встановлено для нічого. Я повинен встановити його на 0 або щось таке? А може, вилучити ключ?
Самір

"Неможливо видалити RebootPending: Помилка під час видалення ключа."
Самір

1
візьміть право власності на ключ: winaero.com/comment.php?comment.news.210 і тепер видаліть його.
magicandre1981

Дякую! Я завантажу цей інструмент reg, я впевнений, що стане в нагоді колись. Тому, мабуть, добре мати його в панелі інструментів.
Самір

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.