SFC'de "onarım beklemede" hatasını nasıl kurtarabilirim?


10

Windows kayıt defteri ve hizmetleriyle ilgili bir sorunu gidermeye çalışıyorum. Sfc komutunu çalıştırmayı denedim ama bu aldığım hata mesajı?

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>

Ancak bu mesaj ilk göründüğünden beri birkaç kez yeniden başlattım ve komutu güvenli modda ve konsol modunda çalıştırmayı bile denedim, ancak yine de aynı mesajı alıyorum. Ondan nasıl kurtulurum?

Winsxs klasöründe bu dosya var: C: \ Windows \ winsxs \ cleanup.xml

Bu onun içeriği:

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

Bu bir şey olabilir mi? Sebep bu mu? Bu dosyayı silmek güvenli mi?

Güncelleme

Yeniden adlandırmayı denedim ama işlem başarısız oldu.

Explorer ayrıcalıkları yükseltilmiş koştu ve konuma gitti. UAC onay istemini ve ardından aşağıdaki hatayı aldım.

Destination Folder Access Denied
You need permission to perform this action

Bu dosyayı nasıl yeniden adlandırabilir veya silebilirim? Bunu yapmak için cmd kullanmam veya güvenli modda olmam gerekir mi?

Güncelleme 2

Komut istemiyle güvenli moda başladım ve dosyanın sahipliğini alıp yeniden adlandırmayı denedim. Yeniden adlandırma başarısız oldu.

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>

Ben de aşağıdaki komutu verdim.

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>

Yine de yeniden adlandırmama izin vermiyor. Bu son iki komutu normal Windows modunda verdim. Önemli mi? ... yeniden başlatmayı deneyeceğim.


Bir onarım yüklemesi gerçekleştirerek sorun çözüldü .
Samir

Aynı sorunu yaşıyorum, ancak bir dosyam yok cleanup.xml, bu yüzden bunun sebebi olduğunu sanmıyorum.
BlueRaja - Danny Pflughoeft

@BlueRaja Hatırladığım gibi, temizleme ile ilgisi vardı, ancak bu sorunun olduğunu bilmek için bu dosyaya sahip olmanız gerekmeyebilir. İkinci cevaba bir göz atın. Kayıt defteri hilesi sizin için işe yarayabilir. Doğru hatırlıyorsam onarım yüklemesi yaptım. Bu yüzden bunu denemedim.
Samir

Yanıtlar:


12

Windows 7'de de aynı sorunu yaşıyorum. Son sfcolarak onarım konsolundan aşağıdaki komutları kullanarak çalıştırmam gerekiyor (bazı nedenlerden ötürü, bunun D:yerine ana diskime atanmış C:)

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

(Ancak sfcşimdi bana söyler

Windows Kaynak Koruması bozuk dosyalar buldu, ancak bazılarını düzeltemedi.

bu yüzden başlangıç ​​sorunlarımı düzeltmedi )


Bu soruya gerçekten cevap vermiyor. Farklı bir sorunuz varsa Soru Sor'u tıklayarak bunu sorabilirsiniz . Bu soruya daha fazla dikkat çekmek için bir ödül de ekleyebilirsiniz .
CharlieRB

Bu soruya bir cevap vermez. Bir yazardan eleştiri veya açıklama istemek için gönderilerinin altına bir yorum bırakın.
Ramhound

1
@CharlieRB ve Ramhound: ha? Evet, kesinlikle soruyu cevaplıyor. Soru "Bu hatayı verdiğinde SFC'yi çalışmaya nasıl zorlarsınız?" Aynı şeyi başıma geldiğinde SFC'yi zorlamak için kullandığım çözümü sağladım. Aslında altta yatan problemimi çözmedi, ama bu soruya teğet, bu yüzden sadece sonunda bahsettim (ve benim gibi başkalarına yardımcı olmak için başka bir konuya bağlantı
sağladım

@BlueRaja - Sorunlarınız olsa yazarın sorusuyla alakasız. Başka bir deyişle, cevabın ikinci kısmı sammyg problemiyle alakasız. Kendi sorunuza nasıl sildiğinizle nasıl bağlantı kuruyorsunuz pending.xml(sorun değil).
Ramhound

1
@Ramhound: Evet, zaten söyledim. Ancak, aynı sorunla internette başkaları olduğu gibi, bu sayfayı da Google'ı benim gibi bulacağından, onları doğru yönde (bu sitede son derece yaygın bir nezaket) göstermek için ekstra ilgili bilgiler ekledim . Bununla nasıl hata yapabileceğinizi anlamıyorum. Ne olursa olsun, şimdi parantez içine aldım, bu yüzden birisinin cevabın gerekli bir parçası olarak karıştırması mümkün değil.
BlueRaja - Danny Pflughoeft

4

Bu komutun yapması gerekiyor.

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

Ancak bu yalnızca Windows 7 veya daha yeni sürümlerde çalışır. Windows Vista'da dism.exe aracım yok . Ben sadece bu soruyu bulan ve Windows 7 olanlarla paylaşacağımı düşündüm. Elbette bunu kendim test edemedim, ama bu adam bu sinir bozucu hata mesajını dünyadan kaldırabildiğini söylüyor. Bu yüzden denemeye değer olabilir.


Onarım komutundan bu komutu çalıştırdığımda, sadece şunu alıyorum Error 0x80029c4a - The request is not supported:(
BlueRaja - Danny Pflughoeft

Windows'un hangi sürümü?
Samir

Windows 7 Professional Edition (MSDN aracılığıyla yasal olarak edinilmiştir)
BlueRaja - Danny Pflughoeft

Bunun aynı sorun olduğundan emin değilim. Windows Vista kullanıyordum. Hatırladığım gibi, orijinal sorunum Windows Audio hizmetindeydi. Şimdi hatırlayamıyorum nedenlerle başlamıyordu. Yani sesim yoktu. Onarmaya çalışıyordum, ama bu bana yeni bir sorun verdi. Bu soru yeni sorunu açıklamaktadır. Sizi bu soruna neyin yol açtığını bilmiyorum. Bu sitede bulunan tüm çözümler "olduğu gibi" esasına dayanmaktadır. Her adımı kendi özel probleminize uyarlamadan çizgisel olarak takip etmeyin.
Samir

@sammyg - Bu özel komut, belirli bir Windows 7 güncellemesi gerektirir. Hangisinin olduğunu belirtmek yararlı olabilir, çünkü bu bilginin eksikliği 2 yıl sonra karışıklığa neden olmuştur.
Ramhound

0

SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingadlı bir anahtar görürseniz kayıt defterine bakın RebootPending. Burası, Windows'un bekleyen bir yeniden başlatma olup olmadığını da kontrol ettiği yerdir.


HKLM'de (yerel makine)? ...
Samir

Evet, var HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPendingve sadece varsayılan dize değerini içeriyor ve hiçbir şeye ayarlanmamış. 0'a ayarlamam gerekir mi? Ya da anahtarı çıkarır mısınız?
Samir

"RebootPending silinemiyor: Anahtar silinirken hata oluştu."
Samir

1
anahtarın sahipliğini alın: winaero.com/comment.php?comment.news.210 ve şimdi silin.
magicandre1981

Teşekkürler! Bu reg aracını indireceğim, eminim bazen kullanışlı olacaktır. Bu yüzden araç kutusunda bulundurmak iyi olabilir.
Samir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.