Soluții
Your Linux desktop is frozen, but your work isn’t lost
Even when a Linux desktop appears frozen, most of the time, the operating system is running just fine. The graphical interface is just another program that runs on top of the Linux system, so even if it crashes, you can restore your desktop session.
[mai mult...]Cum remediem erorile: WHEA_UNCORRECTABLE_ERROR, CRITICAL_PROCESS_DIED in Windows Server
Aceste două erori de tip Blue Screen of Death (BSOD)—WHEA_UNCORRECTABLE_ERROR (0x00000124) și CRITICAL_PROCESS_DIED (0x000000EF)—reprezintă alerte critice în Windows Server.
Când apar împreună sau consecutiv pe un server, scenariul cel mai probabil indică o instabilitate hardware (procesor, memorie, stocare) care destabilizează sistemul până în punctul în care procese de bază ale Windows-ului (cum ar fi csrss.exe, wininit.exe sau smss.exe) crapă instantaneu.
1. Analiza celor două erori
-
WHEA_UNCORRECTABLE_ERROR: Windows Hardware Error Architecture. Este o eroare pur hardware. Înseamnă că procesorul (CPU) sau placa de bază a detectat o eroare fizică fatală (de tensiune, magistrală sau cache) pe care sistemul de operare nu o poate corecta prin software.
-
CRITICAL_PROCESS_DIED: Înseamnă că un serviciu de sistem critic, a cărui oprire forțează oprirea Windows-ului, s-a terminat brusc. Pe servere, acest lucru se întâmplă adesea când controlerul de stocare (SAS/RAID) pierde conexiunea cu discurile pe care este instalat sistemul, blocând citirea/scrierea fișierelor de sistem.
2. Plan de Acțiune Pas cu Pas
Pasul 1: Inspectarea Hardware-ului prin IDRAC / ILO / IMM
Înainte de a modifica ceva în software, verificați logurile de management ale serverului fizic (Dell iDRAC, HPE iLO, Lenovo XClarity):
-
Accesați consola web de management a serverului.
-
Navigați la System Event Log (SEL) sau Hardware Logs.
-
Căutați erori legate de:
-
CPU Machine Check Exception (MCE) — confirmă o problemă de procesor sau socket.
-
Uncorrectable ECC Memory Error — indică o plăcuță RAM defectă.
-
PCIe Bus Error — o placă de rețea, un controller RAID sau un GPU dă semne de oboseală.
-
Drive Predictive Failure / Controller cache error.
-
Pasul 2: Analiza Fișierelor Minidump
Dacă serverul apucă să scrie dump-ul pe disc înainte de repornire:
-
Descărcați WinDbg (Windows Debugger) pe o stație de lucru.
-
Copiați fișierul
C:\Windows\Minidump\xxxxx.dmpsauC:\Windows\MEMORY.DMPde pe server. -
Deschideți fișierul în WinDbg și rulați comanda:
!analyze -v
4. Căutați secțiunea **MODULE_NAME** și **IMAGE_NAME**.
* Dacă indică un driver (ex: `megasas35.sys`, `iastorac.sys`, `ntoskrnl.exe`), aveți vinovatul direct (controller stocare sau kernel destabilizat de hardware).
* Pentru WHEA, rulați `!whea` în debugger pentru a vedea exact registrul CPU sau componenta PCIe raportată defectă.
---
## 3. Metode de Rezolvare Tehnice
### Soluția A: Verificarea și Remedierea Subsistemului de Stocare (Țintește *Critical Process Died*)
Dacă controllerul RAID pierde temporar comunicarea cu discurile din cauza unui firmware instabil sau a unei baterii de cache defecte (BBU), procesele critice mor deoarece nu mai pot citi din `C:\Windows`.
1. **Actualizați Firmware-ul unităților:** Faceți update la firmware-ul controllerului RAID și la SSD-uri/HDD-uri folosind utilitarul oficial al producătorului (ex: *Dell Lifecycle Controller*).
2. **Verificați cablurile și conexiunile:** Într-un mediu controlat (mentenanță), opriți serverul, scoateți și reintroduceți discurile în backplane, și verificați cablurile SAS interne.
3. **Dezactivați Link State Power Management (dacă e cazul):** În Power Options pe Windows Server, setați planul pe **High Performance** și asigurați-vă că PCIe Link State Power Management este pe **Off**.
### Soluția B: Remedierea Instabilității CPU și RAM (Țintește *WHEA*)
1. **Resetare setări BIOS/UEFI:** Intrați în BIOS-ul serverului și asigurați-vă că nu există profile de overclocking activate (rare pe servere, dar posibile prin funcții de tip „Performance Mode” agresive) sau setări greșite de tensiune. Setați profilul pe **Custom** sau **Standard Reliable Performance**.
2. **Testare RAM extinsă:** Programați o fereastră de mentenanță și rulați un test de memorie bare-metal (cum ar fi *MemTest86+* sau utilitarul de diagnostic nativ al serverului HPE/Dell) timp de câteva ore.
3. **Microcode Update:** Asigurați-vă că BIOS-ul serverului este la ultima versiune. Update-urile de BIOS aduc patch-uri de microcod pentru procesoarele Intel/AMD care rezolvă erorile matematice interne ce generează WHEA.
### Soluția C: Verificarea Integrității Fișierelor de Sistem (OS Level)
Dacă hardware-ul este 100% intact în loguri, dar fișierele de sistem au fost corupte în timpul unui update sau din cauza unei opriri bruște de curent:
1. Deschideți **Command Prompt** ca Administrator și executați comanda DISM pentru a repara imaginea de sistem:
```cmd
DISM /Online /Cleanup-Image /RestoreHealth
-
Rulați System File Checker pentru a înlocui fișierele critice corupte:
DOS
sfc /scannow
3. Verificați starea discului logici pentru corupții ale sistemului de fișiere NTFS/ReFS:
```cmd
chkdsk C: /f /r
(Notă: Va necesita repornirea serverului și poate dura mult în funcție de mărimea volumului).
Delayed mesaj de eroare când încercați să accesați un folder partajat care nu mai există în Windows
Această problemă este una clasică de rețea în sistemele de operare Windows și apare deoarece subsistemul de rețea (MUP – Multiple UNC Provider) și serviciul Workstation (LanmanWorkstation) încearcă în mod repetat să interogheze calea UNC care nu mai este disponibilă, așteptând ca protocolul SMB (Server Message Block) să atingă pragul de timeout înainte de a returna eroarea către utilizator sau aplicație.
Iată o soluție IT detaliată, structurată pe pași de diagnosticare și metode de rezolvare (prin Registry, curățare cache și automatizare).
1. Diagnosticarea Cauzei Rădăcină
Când accesați un folder partajat care a fost șters sau serverul gazdă este oprit, Windows nu renunță instantaneu. El trece prin următoarele etape:
-
Rezoluția de nume: Încearcă să rezolve numele serverului prin DNS, LLMNR și NetBIOS.
-
Negocierea SMB: Încearcă să deschidă o sesiune TCP pe portul 445.
-
MUP Cache Timeout: Windows reține rutele UNC valide și invalide într-un cache local. Până când acest cache nu expiră sau nu este forțat să renunțe, sistemul va părea “înghețat” (de obicei între 30 de secunde și 2 minute).
2. Soluții Tehnice de Rezolvare
Metoda A: Curățarea conexiunilor persistente și a mapărilor “fantomă”
De multe ori, Windows reține folderul în lista de scurtături (Quick Access), în Network Locations sau ca drive mapat care nu a fost deconectat corect.
-
Deschideți Command Prompt (cmd) cu drepturi de Administrator.
-
Rulați următoarea comandă pentru a vedea conexiunile active/缓存:
net use
3. Dacă folderul sau litera de drive aferentă apare în listă, ștergeți-o forțat:
```cmd
net use * /delete /yes
(Notă: Această comandă va șterge toate mapările curente; dacă doriți doar una specifică, înlocuiți * cu litera drive-ului, ex: net use Z: /delete).
4. Curățați cache-ul de rezoluție de nume:
DOS
ipconfig /flushdns
nbtstat -R
Metoda B: Optimizarea Timpului de Timeout prin Windows Registry
Putem scurta perioada în care Windows insistă să caute un folder partajat inactiv modificând valorile de timeout din regiștri.
-
Apăsați
Win + R, tastațiregeditși apăsați Enter. -
Navigați către următoarea cale:
Plaintext
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
3. În panoul din dreapta, verificați dacă există următoarele valori **DWORD (32-bit)**. Dacă nu există, dați click dreapta -> *New* -> *DWORD (32-bit) Value* și numiți-le exact așa:
* **`KeepConn`** -> Această valoare determină cât timp o conexiune inactivă rămâne deschisă. Setați-o pe **Hexadecimal** și puneți valoarea `5` (reprezintă 5 secunde).
* **`ExtendedSessTimeout`** -> Timpul de așteptare pentru răspunsul SMB. Setați-o pe **Decimal** și puneți valoarea `10` (10 secunde, reducând-o de la valoarea standard de 45-60s).
4. Navigați apoi la cheia responsabilă de MUP (Multiple UNC Provider):
```text
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Mup\Parameters
-
Creați sau modificați valoarea DWORD:
-
UnknownNameTimeout-> Setați-o pe Decimal cu valoarea5. Aceasta spune sistemului că dacă un nume UNC nu este găsit, să rețină că este invalid doar pentru 5 secunde, prevenind blocajele lungi la reîncercare.
-
-
Reporniți calculatorul pentru ca modificările să aibă efect.
Metoda C: Curățarea Istoricului din File Explorer
Dacă folderul partajat buclucaș se află în istoricul Explorer-ului, Windows va încerca să-i verifice starea în fundal de fiecare dată când deschideți „This PC” sau File Explorer, provocând acel delay.
-
Deschideți File Explorer.
-
Dați click pe cele trei puncte (…) din bara de sus (sau View -> Options în funcție de versiunea de Windows) și selectați Options.
-
În tab-ul General, mergeți la secțiunea Privacy.
-
Faceți click pe butonul Clear de lângă Clear File Explorer history.
-
Debifați (opțional, pentru a preveni reapariția) opțiunile:
-
Show recently used files
-
Show frequently used folders
-
-
Apăsați Apply și OK.
Metoda D: Eliminarea Credențialelor Stocate
Dacă ați avut drepturi de acces salvate pentru acel folder partajat, Windows va încerca să trimită credențialele serverului vechi, așteptând confirmarea autentificării.
-
Apăsați tasta Windows și tastați Credential Manager
-
Selectați Windows Credentials
-
Căutați în listă adresa IP sau numele serverului care găzduia folderul șters
-
Expandați intrarea respectivă și dați click pe Remove.
3. Plan de prevenție pentru Administratorii de Rețea
Dacă gestionați o rețea de calculatoare (Active Domain) și problema apare la mai mulți utilizatori din cauza unui server vechi de fișiere dezafectat:
-
Dezactivare prin GPO: Modificați scripturile de Logon sau Politica de Group Policy Preferences (GPP) care mapau acel folder. Schimbați acțiunea resursei din rețea pe Delete în loc de Update sau Create.
-
Implementare DFS (Distributed File System): Pe viitor, folosiți căi DFS (ex:
\\domeniu\partajare\folder). -
Dacă folderul fizic se mută sau dispare, administratorul modifică doar ținta (target-ul) în serverul DFS, iar utilizatorul final primește eroarea instantaneu sau este redirecționat fără delay-uri în rețea.
Remediere: VBA runtime error 1004
Eroarea VBA Runtime Error 1004 apare cel mai des în Excel, când o macrocomandă încearcă să facă o acțiune pe care Excel nu o poate executa: selectare greșită, sheet inexistent, fișier blocat, range invalid, workbook protejat etc.
Cele mai frecvente cauze și remedieri
1. Macro-ul încearcă să selecteze un sheet care nu este activ
Exemplu problematic:
Worksheets("Sheet1").Range("A1").Select
Dacă Sheet1 nu este activ, poate da eroare.
Remediere:
Worksheets("Sheet1").Activate
Worksheets("Sheet1").Range("A1").Select
Sau mai bine, fără Select:
Worksheets("Sheet1").Range("A1").Value = "Test"
2. Numele sheet-ului este greșit
Verifică dacă sheet-ul există exact cu același nume.
Exemplu:
Worksheets("Date").Range("A1").Value = "OK"
Dacă foaia se numește de fapt Data, DATE sau Date cu spațiu la final, apare eroarea.
Remediere:
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Date")
ws.Range("A1").Value = "OK"
3. Range-ul este invalid
Exemplu problematic:
Range("A0").Select
sau:
Range("A1:A").Select
Remediere:
Range("A1").Select
Range("A1:A100").Select
Pentru ultimul rând:
Dim lastRow As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("A1:A" & lastRow).Select
4. Workbook-ul sau sheet-ul este protejat
Dacă foaia este protejată, macro-ul nu poate modifica celule.
Remediere:
Worksheets("Date").Unprotect Password:="parola"
Worksheets("Date").Range("A1").Value = "Test"
Worksheets("Date").Protect Password:="parola"
Dacă nu are parolă:
Worksheets("Date").Unprotect
5. Fișierul este deschis Read-Only
Verifică dacă fișierul Excel este deschis în mod Read-Only sau dacă este pe un share unde nu ai drepturi de scriere.
Remedieri:
- salvează fișierul local;
- verifică drepturile pe folder;
- închide fișierul de pe alte calculatoare;
- verifică dacă nu este blocat de OneDrive / SharePoint / antivirus.
6. Macro-ul folosește ActiveWorkbook în loc de ThisWorkbook
Dacă ai mai multe fișiere Excel deschise, ActiveWorkbook poate indica alt fișier.
Problematic:
ActiveWorkbook.Worksheets("Date").Range("A1").Value = "Test"
Mai sigur:
ThisWorkbook.Worksheets("Date").Range("A1").Value = "Test"
7. Copiere / lipire eșuată
Eroarea 1004 apare des la:
Selection.PasteSpecial Paste:=xlPasteValues
Remediere mai stabilă:
Worksheets("Sursa").Range("A1:A10").Copy
Worksheets("Destinatie").Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Sau fără clipboard:
Worksheets("Destinatie").Range("A1:A10").Value = _
Worksheets("Sursa").Range("A1:A10").Value
Remediere Java Runtime Environment not found
Eroarea “Java Runtime Environment Not Found” apare când aplicația nu găsește Java instalat sau caută o versiune greșită de Java.
Remediere rapidă pe Windows
1. Verifică dacă Java este instalat
Deschide Command Prompt și scrie:
java -version
Dacă primești mesaj de tip:
'java' is not recognized...
înseamnă că Java nu este instalat sau nu este pus în PATH.
2. Instalează Java
Pentru aplicații obișnuite care cer doar Java Runtime, poți instala Java 8 Runtime de pe pagina oficială Java. Oracle menționează că Java 8 este pentru utilizatorii care au nevoie să ruleze aplicații desktop/laptop bazate pe Java.
Caută:
Java 8 download Windows
sau intră pe pagina oficială Java / Oracle.
Pentru aplicații mai noi, poți instala un JDK/JRE modern, de exemplu Eclipse Temurin, unde poți alege versiunea și tipul de pachet JDK/JRE.
Recomandare practică:
Pentru aplicații vechi: Java 8, 32-bit sau 64-bit în funcție de aplicație.
Pentru aplicații noi: Java 17 sau Java 21.
3. Verifică dacă aplicația cere Java 32-bit sau 64-bit
Asta este foarte important.
Dacă aplicația este veche, de multe ori cere Java 32-bit, chiar dacă Windows-ul este 64-bit.
Instalări tipice:
Java 64-bit:
C:\Program Files\Java\
Java 32-bit:
C:\Program Files (x86)\Java\
Dacă aplicația caută Java 32-bit și tu ai instalat doar 64-bit, eroarea poate continua.
4. Setează JAVA_HOME
După instalare, verifică unde este instalat Java. Exemplu:
C:\Program Files\Java\jre1.8.0_491
sau:
C:\Program Files\Eclipse Adoptium\jdk-17...
Apoi:
Start → search: Environment Variables → Edit the system environment variables
Intră la:
Environment Variables
La System variables, adaugă:
Variable name: JAVA_HOME
Variable value: C:\Program Files\Java\jre1.8.0_491
sau calea unde ai Java instalat.
Apoi la variabila Path, adaugă:
%JAVA_HOME%\bin
Închide și redeschide aplicația.
5. Testează din nou
În Command Prompt:
java -version
Ar trebui să apară ceva de genul:
java version "1.8.0_491"
sau versiunea instalată.
6. Dacă eroarea apare într-o aplicație veche
Instalează ambele variante, dacă nu știi ce cere aplicația:
Java 8 32-bit
Java 8 64-bit
Apoi repornește PC-ul.
[mai mult...]