Skocz do zawartości

Kasowanie nieusuwalnych plików i folderów


Rekomendowane odpowiedzi

Copyright @picasso fixitpc.pl Powielanie tej pracy zabronione. Artykuł archiwalny, stworzony przeze mnie w roku 2004

 

Kasowanie nieusuwalnych plików i folderów
"Plik w użyciu", "Odmowa dostępu" etc.

 

Kasowanie obiektów "w użyciu":
____Podstawowe kroki
____Wyeliminowanie procesu wiążącego plik lub folder
____Kasowanie - przeniesienie - zmiana nazwy w trakcie bootowania
____XP - Kasowanie plików medialnych AVI, MPG, WMV, PSD

Kasowanie obiektów z wadami nazwy / ścieżki dostępu:
____Nieprawidłowa nazwa pliku lub folderu
____Ścieżka dostępu jest za długa lub zbyt głęboka
____System plików jest uszkodzony

Kasowanie obiektów z brakiem uprawnień (NTFS):
____Brak praw do pliku lub folderu (Vista / 7)
____Brak praw do pliku lub folderu (XP)
____Połączenie przyczyn (brak uprawnień + wady ścieżki)

Odnośnik do komentarza
Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.

flag_medium.pngKasowanie plików "w użyciu"


Na początek rzeczy podstawowe czyli:

  • 1. Zamknij wszystkie aplikacje lub aplikacje związane z tym konkretnym typem plików. Jeśli masz jakiś P2P, upewnij się że te pliki nie figurują w zasobach współdzielonych i akurat nikt ich nie ściąga. Jeśli masz masz otwarty odtwarzacz, w którym te pliki były odtwarzane, zamknij go.
  • 2. Ewentualnie uruchom program związany z danym typem plików i otwórz w nim inny plik z tej serii. To może pomóc zwolnić poprzedni plik.
  • 3. Spróbuj zmienić jego nazwę poprzez podświetlenie go i naciśnięcie klawisza F2] (nie z prawokliku).
  • 4. Spróbuj przenieść plik do innej lokalizacji np. innego folderu i skasować poprzedni folder lub przenieść go bezpośrednio do katalogu głównego na C: i skasować z Exploratora Windows.
  • 5. Spróbuj skasować folder w którym leży zablokowany plik. Jeśli ten plik i jego folder są w obrębie jeszcze jednego folderu to spróbuj od razu kasować ten najwyższy folder.
  • 6. Mały trik: Otwórz Notatnik i z menu wybierz Zapisz jako, przejdź do katalogu, gdzie jest ten trefny plik. Zasejwuj tam pusty plik notatnika o dokładnie takiej samej nazwie jak niekasowalny plik.
  • 7. Zrestartuj komputer

 

.

Odnośnik do komentarza

flag_medium.pngWyeliminowanie procesu wiążącego plik lub folder





Rozpoznanie procesu wiążącego

 

Do diagnostyki, który proces przetrzymuje dany obiekt w szponach, mogą posłużyć następujące (darmowe) programy:

1. Aplikacje z interfejsem graficznym:

Lock Hunter
OpenedFilesView
Process Explorer
Unlocker
WhoLockMe Explorer Extension

v20_newlaf.png

2. Aplikacje konsolowe, czyli obsługiwane z poziomu linii komend, Handle lub Oh.exe (Open Handlers):

Handle
Windows Server 2003 Resource Kit Tools

Pokaz na przykładzie pliku skrzynki odbiorczej INBOX.DBX:

Start > Uruchom > cmd > oh inbox.dbx >C:\Output.txt

Po zakończeniu działania narzędzia linii komend podglądasz wyniki zapisane w pliku C:\Output.txt. Jak widać blokerem jest proces msimn.exe czyli .... Outlook Express:

//
// TIME: 2004-05-07 19:27
// MACHINE: SUPERCOMPUTER
// BUILD: 2600
// OH version: built by: dnsrv_dev(v-smgum)
//
//
000003F4 msimn.exe File 025c \Documents and Settings\Ramesh\Local Settings\Application Data\Identities\{C19958F2-22F3-4C6A-9AE0-12049CE0706F}\Microsoft\Outlook Express\Inbox.dbx

000003F4 msimn.exe Mutant 0260 \BaseNamedObjects\d:_documents and settings_ramesh_local settings_application data_identities_{c19958f2-22f3-4c6a-9ae0-12049ce0706f}_microsoft_outlook express_inbox.dbx_directdbmutex

000003F4 msimn.exe Section 0264 \BaseNamedObjects\d:_documents and settings_ramesh_local settings_application data_identities_{c19958f2-22f3-4c6a-9ae0-12049ce0706f}_microsoft_outlook express_inbox.dbx_directdbshare

000003F4 msimn.exe Section 0268 \BaseNamedObjects\d:_documents and settings_ramesh_local settings_application data_identities_{c19958f2-22f3-4c6a-9ae0-12049ce0706f}_microsoft_outlook express_inbox.dbx_directdbfilemap


 

Próba ograniczenia ilości procesów przez środowiska limitowane lub zewnętrzne

 

TRYB AWARYJNY:




WinRE:




KONSOLA ODZYSKIWANIA:



Będąc w Konsoli wprowadź komendy z gatunku typowo DOSowych (po każdej ENTER):

del lub delete "ścieżka dostępu do pliku" [komenda delete nie ma supportu dla znaku *]

rd lub rmdir "ścieżka dostępu do folderu" [folder musi być w pierwszej kolejności opróżniony]

Uwaga:

Domyślnie konsola pozwala tylko na dostęp do root C:\ i folderu C:\WINDOWS. Jeśli chcesz skasować jakiś plik np. z C:\Program Files lub z innej partycji musisz usunąć ograniczenia konsoli. Jak obejść te ograniczenia jest opisane w linku o Konsoli.




KASOWANIE SPOD DOS (PARTYCJE FAT):

Dla starych Windows. W celu ominięcia problemu związania plików procesami Windowsa można wykorzystać czysty DOS. Do tej operacji jest potrzebny bootdisk Windows 98. Kolekcja takich archaicznych wyrobów jest zlokalizowana na stronie Bootdisk.com. Z poziomu bootdiska można wykorzystać komendę DEL.



.
Odnośnik do komentarza

flag_medium.pngKasowanie - przeniesienie - zmiana nazwy w trakcie bootowania


 

Konfiguracja PendingFileRenameOperations

 

Zmiany nazwy oraz podmiany czy przeniesienia pliku/folderu podczas bootowania możesz dokonać za pomocą natywnego ustawienia wbudowanego w system, tzw. PendingFileRenameOperations.


Start > Uruchom > regedit i w kluczu

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

Utwórz wartość PendingFileRenameOperations typu REG_MULTI_SZ. Ustaw tam parę według schematu:

\??\źródłowa ścieżka dostępu do pliku

!\??\docelowa ścieżka dostępu do pliku


Pierwsza linia pary rozpoczynająca się od znaku \??\ oznacza bieżącą ścieżkę dostępu pliku/folderu i jego obecną nazwę.
Druga linia pary rozpoczynająca się od znaku !\??\ oznacza nową ścieżkę dostępu i nazwę dla pliku/folderu:

Np. poniższa para przenosi plik test.dll z folderu TEMP do folderu system32 podmieniając istniejący plik docelowy:

\??\C:\TEMP\test.dll
!\??\C:\WINDOWS\system32\test.dll

Możesz stworzyć tyle par ile zechcesz. Wpisanie samych ścieżek dostępu do folderu spowoduje zmianę nazwy folderu. Operacja przeniesienia i zmiany nazwy dokona się przy następnym resecie komputera, a wpisy w rejestrze zostaną usunięte.



Stare Windows 9x Tylko krótka notatka. Procedura jest wykonywana via plik C:\WINDOWS\WININIT.INI z sekcją:

[rename]
DocelowaNazwaPliku=ŹródłowaNazwaPliku

Obie nazwy muszą być nazwami skróconymi. By skasować plik, użyj NUL jako wartość dla DocelowaNazwaPliku. System wyegzekwuje WININIT.INI w czasie bootowania. Po ukończeniu tej operacji system go automatycznie przemianuje na WININIT.BAK.


 

Automatyczne programy

 

Można też posłużyć się programami, które wykonają te akcje automatycznie. Jest bardzo dużo aplikacji, które są po prostu nakładkami na procesy PendingFileRenameOperations lub realizują to jako jedną z funkcji, np.: FileASSASSIN, PocketKillbox.
 
 
 
.

Odnośnik do komentarza

flag_medium.pngXP - Kasowanie plików medialnych AVI, MPG, WMV, PSD......


Po pierwsze sprawdź czy te pliki nie figurują w zasobach udostępnionych (np. w aplikacjach P2P) i czy aby ktoś ich przypadkiem nie ściąga lub czy nie masz otwartej aplikacji, w której pliki są w jakiś sposób "czynne" (np. figurują na liście odtwarzania). Po drugie problemem może być generowanie przez Windows podglądu pliku w eksploratorze. Po trzecie wszystko co powiedziane wcześniej ma zastosowanie i w tym przypadku. Niemniej są jeszcze pewne szczególne akcje, które mogą usunąć ten problem tymczasowo lub na stałe:


 

Operacje z linii komend

1. Zamknij programy. Uruchom linię poleceń:

Start > Uruchom > cmd

I poprzez komendę CD przenieś się do ścieżki dostępu gdzie są zlokalizowane te trefne pliki. Czasem już na tym etapie będziesz w stanie usunąć niechciane pliki i foldery za pomocą wykorzystania komend DEL (pliki) lub RMDIR (foldery) np.

RMDIR nazwafolderu /s

Jeśli nazwa folderu zawiera nietypowe/dziwne znaki użyj komendy DIR /X by podejrzeć skróconą nazwę 8+3 (np. PROGRA~1 jako odpowiednik Program Files) i wykorzystaj ją przy kasowaniu z linii komend.

2. Jeśli powyższe akcje okażą się niewystarczające, przeładuj powłokę Windows. Wywołaj Menedżer zadań, w karcie Procesy wyszukaj i zabij explorer.exe. Zostaniesz bez Pulpitu i Paska zadań tylko z 2 oknami menedżera zadań i linii poleceń. W linii komend wpisz DEL nazwa.avi (a jeśli wszystkie pliki danego folderu są przeznaczone na usunięcie: *.avi). Pliki powinny się skasować bez problemu. Po operacji w Menedżerze zadań z menu Plik wybierz Nowe zadanie i uruchom explorer.exe. Pulpit i Pasek zadań wrócą na miejsce.

 

 

Problem z AVI

 

Windows XP ma bug Eksploratora dotyczący plików avi:
- wiązanie plików "tajemniczym procesem" i jako efekt brak możliwości skasowania z komunikatem "w użyciu"
- zużycie procesora 100% w momencie próby operacji na avi
- ostre spowolnienie Windows w chwili dostępu do folderu z dużą ilością plików avi, a w efekcie nawet zamrożenie systemu

Powodem jest tzw. AVI Properties Handler, które "skanuje" plik avi w celu ustalenia różnych jego właściwości. Skutkiem ubocznym, zwłaszcza na uszkodzonych avi, jest totalna blokada. Można łatwo to skorygować za pomocą edycji rejestru:


Start > Uruchom > regedit

HKEY_CLASSES_ROOT\CLSID\{87D62D94-71B3-4b9a-9489-5FE6850DC73E}

I zmień nazwę klucza {87D62D94-71B3-4b9a-9489-5FE6850DC73E} np. poprzez wstawienie znaku minusa przed nazwą frontową: -{87D62D94-71B3-4b9a-9489-5FE6850DC73E} lub go całkowicie skasuj.

Plik, który to zrobi za Ciebie: avifix.reg.



Jeśli ktoś woli wersję graficzną fixa a nie plik rejestru:

Windows XP AVI Fix


Również następujący klucz może powodować problem i trzeba go skasować:

HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Player\RecentFileList

Zrestartuj komputer, by edycje rejestru odniosły zamierzony skutek.


Odnośnik do komentarza

flag_medium.pngNieprawidłowa nazwa pliku lub folderu


Charakterystyczne objawy: obiektów nie można skasować / przemianować / przenieść, ani z Windows Explorer, ani przez linię poleceń. Jest zwracany jeden z trzech błędów: "Access is denied" / "Odmowa dostępu", "Cannot read from the source file or disk" / "Nie można odczytać z pliku źródłowego lub dysku", "The system cannot find the file specified" / "System nie może znaleźć określonego pliku". Obiekt wygląda jak pusty, jest pokazywany jako zerobajtowy, choć może posiadać bardzo konkretną wagę większą niż zero.



ŚCIEŻKA DOSTĘPU LUB PLIK ZAWIERA ZAREZERWOWANĄ NAZWĘ

W związku z faktem, że aplikacje kontrolują zasady tworzenia nazw plików, zdarza iż są tworzone nazwy nielegalne lub zarezerwowane do innych celów np. AUX, CON, LPT1, i PRN przypisane urządzeniom. Takich plików / folderów nie jesteśmy w stanie skasować, bo są "zastrzeżone". Sposobem na ich skasowanie może być linia komend:

Start > Uruchom > cmd

FAT: Na partycji tego typu możliwe jest skasowanie wprost z linii komend MS-DOS przy wykorzystaniu tradycyjnych komend ze znakiem wieloznacznym * np:

DEL PR?.* lub DEL LPT?.*

NTFS: Powyższe komendy nie działają na partycjach NTFS. W takim przypadku obejściem problemu jest dodanie specjalnego syntaxu \\?\ umożliwiającego ominięcie sprawdzania nazw zastrzeżonych:

dla pliku:

DEL "\\?\ścieżka dostępu do pliku"

dla folderu:

RD "\\?\ścieżka dostępu do folderu"



NAZWA PLIKU ZAWIERA NIETYPOWE SPACJE LUB KROPKI

Problemem mogą być pliki / foldery, które mają w nazwie dziwaczną kombinację spacji lub kropek. W skład wadliwych kombinacji wchodzą: spacja lub kropka są umieszczone po rozszerzeniu / na końcu nazwy, nazwa składa się wyłącznie ze spacji, nazwa ma mnóstwo kropek. Przy próbie otwierania takiego obiektu nazwa jest automatycznie konwertowana na bazie usunięcia znaków końcowych. Załóżmy, że mamy folder, w którym są zlokalizowane 2 pliki o nieomal identycznych nazwach (różnicą jest jedynie owa spacja na końcu). Próba otwarcia drugiego pliku spowoduje otwarcie pierwszego. Z kolei próba otwarcia pliku o nazwie złożonej wyłącznie ze spacji spowoduje otwarcie folderu, w którym się on znajduje. Sposobem kasacji jest ten sam trik co wyżej przez syntax obchodzący weryfikację nazewniczą, a całość ścieżki ujęta przez cudzysłów:

DEL "\\?\ścieżka dostępu do pliku"
RD "\\?\ścieżka dostępu do folderu"

Przykład:

C:\>G:

G:\>DIR G:\StreamRipper
Volume in drive G is Music
Volume Serial Number is B865-A87A

Directory of G:\StreamRipper
..-- French Kiss FM --....-- Forum on http---forum.frenchkissfm.com --.
0 File(s) 0 bytes
3 Dir(s) 19 357 044 736 bytes free

G:\>RD /S /Q "\\?\G:\StreamRipper\..-- French Kiss FM --....-- Forum on http---forum.frenchkissfm.com --."

G:\>




PLIK LUB FOLDER ZAWIERA W SOBIE ZNAK ASCII

Problemem na Windowsach, ale tylko na partycji FAT, jest skuteczne zablokowanie plików i folderów poprzez wprowadzenie w ich nazwach nielegalnego znaku poprzez wybrane kody ASCII. Obiekty tracą właściwości, są pokazywane jako zerobajtowe, a operacje na nich zwracają "błąd systemu plików (1026)". Takie nieakceptowalne znaki mogą zostać wprowadzone poprzez nieudolne zabawy z tablicą znaków charmap.exe lub przez zewnętrzną aplikację. Metody radzenia sobie z problemem:

1. Zmiana nazwy i/lub kasacja spod DOS: przy użyciu poleceń REN (zmiana nazwy) lub DELTREE (usunięcie całego folderu wraz z zawartością). Wprowadzana nazwa musi być wklepana przy wykorzystaniu sekwencji ASCII. W szukaniu numeru dla znaku pomoże tablica ASCII Codes. Wpisz numer w DOS trzymając wciśnięty lewy Alt i posługując się numpadem (klawiaturą numeryczną po prawej stronie). Klawisz numlock też musisz mieć włączony.

2. Użycie scandiska: Jeśli zawiedzie próba z DOS, pewną opcją jest uruchomienie ScanDiska. Niemniej w jego opcjach należy odznaczyć opcję Automatycznie naprawiaj błędy, bo nic nie zostanie naprawione. Podczas skanowania, gdy ScanDisk dojdzie do miejsca na dysku z tym plikiem/folderem, wykryje błąd i zapyta co zrobić. Należy wybrać Usuń uszkodzony folder/plik a nie Usuń błąd.


 

Pomocne programy

 

Automatyczna pomoc do w/w problemów. Dwa programy, które są mocno specjalizowane w usuwaniu plików o błędach składni nazewniczej.

Directory Fixer

Program darmowy, który wykonuje w trybie batch akcję z syntaxem omijającym sprawdzanie poprawności ścieżki. Jest obsługiwany z linii poleceń. Program rozpakowujemy i umieszczamy w katalogu system32, by polecenia nie musiały zawierać pełnej ścieżki do DirectoryFixer. Następnie uruchamiamy linię komend Start > Uruchom > cmd i wpisujemy directoryfixer NazwaFolderu. Pod NazwaFolderu wstawiamy pełną ścieżkę do folderu z wadliwą nazwą (dokładnie musi być wpisana!), lub folderu nadrzędnego, w którym znajduje się lewy obiekt. Wpisujemy z klawiatury dużymi literami YES i zatwierdzamy przez enter. Aplikacja rekursywnie przeanalizuje folder, i o ile potrafi, zamieni nazwy błędne na prawidłowe. Po zmianie nazwy obiekt zostaje odblokowany i można go otworzyć, albo skasować.

directoryfixer.gif


Delete FXP Files

Program komercyjny, ale darmowa wersja niezarejestrowana dopuszcza 5 operacji kasacji. Program wielokrotnie sprawdził się do usuwania błędnych nazewniczo obiektów, których nie dał rady skasować żaden inny program, ani nawet Directory Fixer. Program umożliwa wykonanie kasacji wadliwego pliku / folderu. W wersji nie-demo mamy jeszcze dodatkowe wspomaganie procesu usuwania: kasowanie na restarcie, oraz przejmowanie uprawnień. Ta kombinatoryka adresuje złożenie przyczyn, kiedy to błędnie nazwany plik jest dodatkowo zablokowany procesem, a nawet brakiem uprawnień, a tych dodatkowych blokerów nie da się usunąć standardową procedurą, ponieważ zła nazwa czyni obiekt niewidzialnym.

deletefxp.gif



Odnośnik do komentarza

flag_medium.pngŚcieżka dostępu jest za długa lub zbyt głęboka


Tajemnica niemożności skasowania pliku/folderu może kryć się w długości ścieżki dostępu. System plików na dysku twardym określa maksymalną liczbę dopuszczalnych znaków w ścieżce dostępu na podstawie parametru MAX_PATH. Pliki/foldery docelowe istniejące głębiej niż wynika to z wartości parametru MAX_PATH mogą stać się kompletnie niedostępnymi. Zarówno FAT jak i NTFS są zwykle limitowane do 256 znaków w ścieżce dostępu (litera dysku + foldery + nazwa pliku). Na systemie NTFS ścieżka dostępu teoretycznie może zawierać 32000 znaków, ale domyślny sposób w jaki Windows dostaje się do plików narzuca tylko 256 znaków. Objawem zbyt długiej lub zbyt głębokiej ścieżki dostępu może być:

Komunikat wg wariacji:

"Cannot delete folder - path too Deep Can't access this folder.
Path is too long"

"Can't Access This Folder. Path Is Too Long"

Brak komunikatu ale martwica pliku/folderu:

Nie możemy go skopiować, przenieść ani skasować. Nie pojawia się żaden komunikat tylko po prostu ten element kompletnie nie reaguje. Nie posiada żadnych właściwości. Jest to niebezpieczne, bo postaje ukryta strefa, która służyć może jako schowek dla malware. Rozmaite narzędzia odczytujące informacje z partycji (typu antywirusy / narzędzia kopii zapasowych etc.) mogą nie być w stanie dotrzeć do tego pliku i go po prostu ominą. Zwykle pomagało mi przeniesienie folderu, w którym był felerny plik o kilka poziomów wyżej a sam plik wtedy "odzyskiwał" swoje właściwości i był jak najbardziej kasowalny. Niekiedy nazwa pliku/folderu jest samoistnie konwertowana na skróconą nazwę z takim charakterystycznym wężykiem "~" a sam plik/folder jest na śmietnik.

W celu ominięcia problemu można się posłużyć następującymi metodami:

Wykorzystanie skróconej nazwy w schemacie 8+3
 

Najłatwiejszym sposobem od którego zaczynamy jest wykorzystanie automatycznie wygenerowanej nazwy w formacie 8+3 np. odpowiednikiem Program Files jest PROGRA~1. Na partycjach NTFS równoległe tworzenie nazw 8+3 jest domyślnie włączona. By podpatrzyć owe skrócone nazwy wykorzystujemy linię komend:

Start >>> Run (Uruchom) >>> cmd i wpisujemy komendę:

DIR /X "ścieżka dostępu do pliku/folderu"

Jeśli ścieżka w formacie 8.3 również jest zbyt długa lub obsługa nazw typu 8.3 została wyłączona na NTFS wykorzystujemy trik poniżej.

 

Ponowne włączenie 8+3 na NTFS odbywa się za pomocą edycji rejestru:

Start >>> Run (Uruchom) >>> regedit

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

Edytujemy wartość NtfsDisable8dot3NameCreation poprzez podmianę liczby 1 na 0.

 

 

Skrócenie ścieżki dostępu poprzez zmianę nazwy lub lokalizacji

Następnym prostym sposobem jest ręczne skrócenie nazw. Często wystarczy zmiana nazwy folderu, w którym się znajduje plik. Jeśli i to nie da pożądanych rezultatów, należy rozpocząć zmianę nazwy "od samej góry" czyli od katalogu głównego. Jeśli i to nie da efektu należy obliczyć "głębokość" ścieżki dostępu. Jeśli plik znajduje się głębiej niż w 128 folderach należy przenieść jego folder lub folder wyżej jak najbardziej w górę.


 

Pomocne programy:

Path Scanner

Darmowa aplikacja umożliwiająca przeskanowanie ścieżek dostępu pod kątem ich długości i punktująca krytyczne miejsca niebezpiecznie zbliżające się do granicy lub ją przekraczające. Możliwa korekta ścieżek a nawet kasacja. Również generowanie raportu.

pathscan.png


Odnośnik do komentarza

flag_medium.pngSystem plików jest uszkodzony


Następną przyczyną niemożności skasowania plików lub folderów może być uszkodzony plik/folder lub system plików: FAT (tabela alokacji plików ) bądź też MFT (główna tabela plików). Źródłem takich uszkodzeń jest zwykle niepoprawne działanie plików, wadliwy soft lub hard czy też "bad sectory" dysku. Jednym z objawów może być komunikat, zwykle proszący o korektę:

:\ jest niedostępny
Plik lub katalog jest uszkodzony i nieczytelny.
Uruchom narzędzie Chkdsk.


Rozwiązaniem jest naprawienie pliku/folderu lub systemu plików poprzez wykorzystanie Checkdiska:

Start >>> Run (Uruchom) >>> chkdsk /f LiteraDysku:

Narzędzie checkdisk uruchomione bez przełącznika /f tylko zaalarmuje o napotkanym błędzie, ale go nie skoryguje. Natomiast przełącznik /f powoduje korektę napotkanych błędów. Prawdopodobnie wyświetli się wtedy komunikat w stylu:

10 lost allocation units found in 3 chains.
Convert lost chains to files?


Jeśli wybierzesz N (Nie), to zagubione resztki nie zapiszą się na dysku. Jeśli wybierzesz Y (Tak), to zostaną one zapisane byś sobie mógł je potem obejrzeć i ewentualnie ratować. Lądują one w katalogu głównym w postaci specjalnych przemianowanych obiektów:

naprawiony plik: File.chk
naprawiony folder: Found.

to to po prostu cyfry np. Found.001, File0001.chk

Jeśli nie masz kopii zapasowych danych, to raczej nie stosuj przełącznika /f, gdyż checkdisk napotykając uszkodzenie "naprawi" je ale:

Uwaga:

"Naprawa" może bardzo różnie wyglądać i jej skutkiem może być częściowa utrata danych. W swoim pojęciu Checkdisk naprawia uszkodzenia np. poprzez wyczyszczenie zawartości lub "obcięcie" danych, w pojęciu użytkownika wymazuje.




 
Odnośnik do komentarza

flag_medium.pngBrak praw do pliku lub folderu NTFS





Na platformach postawionych na systemie plików NTFS blokada pliku lub folderu może tkwić w ustawionych prawach do ich korzystania - lista kontroli dostępu (ACL, Access Control List). Manipulacje na takim pliku/folderze kończą się błędem Access Denied / Odmowa dostępu, a sam plik/folder jest wyświetlany fałszywie jako zerobajtowy. Przykładem może tu służyć ukryty folder funkcji Przywracania systemu czyli System Volume Information, który mając w sobie nawet i kilka GB ma we Właściwościach 0 bajtów, a próba otworzenia go kończy się takim oto komunikatem:

restore3.png

Wyjściem z opresji jest przejęcie pliku/folderu na własność i przyznanie sobie prawa do jego skasowania. Domyślnie, pomimo nie przyznanych jednoznacznie praw:
- Administratorzy mają możliwość przejmowania dowolnych plików/folderów na własność.
- Właściciele plików mają możliwość modyfikowania uprawnień do plików/folderów.


 

Edytor zabezpieczeń Exploratora Windows:

 

Akcja wymaga zalogowania na uprawnieniach administracyjnych. Jest wykonywana w karcie Security (Zabezpieczenia) dostępnej we Właściwościach obiektów, którą w pierwszej kolejności należy uwidocznić:


Dla XP Home:

Oficjalnie: kartę widać tylko z poziomu Trybu awaryjnego Windows. Nieoficjalnie: kartę w normalnym trybie uwidacznia rozszerzenie FaJo XP File Security Extension (XP FSE).

button.png




Dla XP Pro:

Należy wyłączyć proste udostępnianie plików, które domyślnie jest włączone, jeśli komputer nie należy do domeny. Przejdź do Mój komputer i z menu górnego wybierz:

Tools (Narzędzia) >>> Folder options (Opcje folderów) >>> View (Widok)

Odhaczykuj Use simple file sharing [Recommended] (Użyj prostego udostępniania plików [Zalecane]).

perm1.png




Przejęcie pliku lub folderu na własność

Teraz z prawego kliku na wybrany plik/folder pobierasz jego Properties (Właściwości). Klikasz już obecną zakładkę Security (Zabezpieczenia) a jeśli pojawi się komunikat ostrzegający potwierdzasz go okejem. Następnie klikasz Advanced (Zaawansowane):

perm2.png

Przechodzisz do zakładki Owner (Właściciel). Z listy kont wybierasz to pod którym jesteś aktualnie zalogowany jako administrator. Chcąć przejąć zawartość folderu zahaczykuj opcję Replace owner on subcontainers and objects (Zamień właściciela dla podkontenerów i obiektów). Pojawi się komunikat o zmianie uprawnień:
 

Nie masz uprawnień do odczytu zawartości katalogu Nazwa twojego pliku/folderu. Czy chcesz zamienić uprawnienia katalogu na uprawnienia dające pełną kontrolę?
Jeśli naciśniesz przycisk Tak, wszystkie uprawnienia zostaną zamienione.

 

Co potwierdzasz TAK a potem OK. Jesteś więc już właścicielem.

perm3.png

Podgląd i zmiana uprawnień do pliku lub folderu

Ponownie przechodzisz do głównej zakładki Security (Zabezpieczenia) i w sekcji Group or user names (Nazwy grupy lub użytkownika) oglądnij konta:

perm7.png

- Jeśli twoje konto tam figuruje wystarczy je tylko kliknąć
- Jeśli twoje konto nie figuruje tam kliknij Add (Dodaj) i w nowo otwartym okienku wpisz dokładną nazwę konta potwiedzając ją okejem:

perm5.png

Po podświetleniu swojego konta na liście w dolnym polu Permissions for.... (Uprawnienia dla....) zaznacz pole wyboru Allow (Zezwalaj).

Plik/folder będzie już twój. Teraz próbuj go kasować.


 

Narzędzie konsolowe Cacls.exe:

 

Jeśli powyższa metoda nie zadziała, to być może problem tkwi w kolejności wpisów kontroli dostępu (ACE, Access Control Entry). Kolejność ta zakłada umieszczanie odmowy dostępu przed prawem dostępu. Niemniej programy mogą te wpisy mieszać. W związku z tym system może mieć problem z odczytaniem takiej nietypowej listy. Rozwiązaniem jest użycie narzędzia Cacls.exe.

Start > Uruchom > cmd

cacls "ścieżka dostępu do pliku/folderu" /E /G NazwaKonta:F

Ta komenda daje pełny dostęp (F= Full Control) dla twojego konta. Jeśli potem chcesz z powrotem usunąć pozwolenie wystarczy ponownie wpisać:

cacls "ścieżka dostępu do pliku/folderu" /E /R NazwaKonta

Odnośnik do komentarza

flag_medium.pngPołączenie przyczyn (brak uprawnień + wady ścieżki)


Zdecydowanie najgorszym przypadkiem jest połączenie poprzednio wymienionych powodów niemożności skasowania pliku lub folderu np. kombinacja brak uprawnień do usunięcia pliku + nieprawidłowa nazwa z końcową spacją. Próba skasowania pliku z dziwną nazwą przy wykorzystaniu specjalnej komendy z \\?\ kończy się fiaskiem, bo nie mamy praw by to zrobić. Z kolei przejmując plik na własność i przyznając sobie prawa do niego w istocie te uprawnienia są kierowane do nieprawidłowego lub nieistniejącego obiektu właśnie ze względu na to, że plik ma nietypową i źle rozpoznawaną przez system nazwę. Rozwiązywaniu takich drastycznych przypadków służy narzędzie Microsoftu SunInACL:

button.png

SubInACL potrafi zmieniać status własności i prawa do plików niedostępnych w nietypowy sposób. Instalujemy narzędzie (domyślnie jest to C:\Program Files\Windows Resource Kits\Tools) i uruchamiamy je z linii komend z przełącznikiem /onlyfile:

subinacl /onlyfile "\\?\c:\ścieżka dostępu do pliku" /setowner=NazwaKonta /grant=NazwaKonta=F

To polecenie przyznaje Administratorowi (czyli tobie) prawo własności (setowner) i pełny dostęp do felernego pliku (F=Full Control) dzięki czemu może on wykorzystać trik z del \\?\, by skasować wadliwy plik. Składnia powyżej zakłada sytuację, że mamy tylko jeden komputer. Niemniej zamiast NazwaKonta może tam też się pojawić NazwaKomputera\NazwaKonta jeśli siedzimy w jakiejś sieci.

Np. Mój komputer ma nazwę "STUDIO" a moje konto to "Aretuza". Wpisuję tylko "Aretuza" zamiast "STUDIO\Aretuza", bo i tak działam w obrębie tylko jednego komputera jako jedyny jego użytkownik. Nie mam praw dostępu do problematycznego pliku ze spacją na końcu o nazwie "test.txt " zlokalizowany w C:\Documents and Settings\My Documents.

Start > Uruchom > cmd

Przechodzimy do miejsca gdzie jest zainstalowane to narzędzie za pomocą komendy cd "ścieżka dostępu". Potem po znaku zachęty wklepujemy całą podaną składnię podstawiając pod model już swoje ścieżki dostępu i nazwy kont a finalnie kasujemy plik:

perm6.png

Odnośnik do komentarza
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...