cum se utilizează comanda fsck în Linux?
comanda fsck
(file system consistence check) este un utilitar pentru verificarea și repararea unui sistem de fișiere Linux. Sistemele moderne de fișiere cu jurnalizare sunt proiectate astfel încât instrumente precum fsck nu sunt ușor necesare. Cu toate acestea, în câteva cazuri, fsck ar putea fi singura opțiune pentru a repara un sistem de fișiere ‘rău’.
fsck
poate fi rulat pe o partiție care s-au corupt sau în contradicție cu restul filesytem.
motivele pentru care fsck poate fi necesar
- Shutdown necurat – aceasta este cauza majoră a corupției. Din cauza unei ‘shutdown necurat’, sistemul poate să nu reușească chiar să boot-eze în mod corespunzător
- eșec unitate sau corupție
cuprins
medii în care nu ar trebui să utilizați fsck
deoarece comanda funcționează direct cu sectoarele sistemului de fișiere, este important să luați măsurile de precauție necesare aici.
pagina de manual a e2fsck spune:
rețineți că, în general, nu este sigur să rulați e2fsck pe sisteme de fișiere montate. Singura excepție este dacă opțiunea-n este specificată și opțiunile-C, – l sau-L nu sunt specificate. Cu toate acestea, chiar dacă este sigur să faceți acest lucru, rezultatele tipărite de e2fsck nu sunt valide dacă sistemul de fișiere este montat. Dacă e2fsck întreabă dacă ar trebui sau nu să verificați un sistem de fișiere care este montat, singurul răspuns corect este “nu”.
https://www.man7.org/linux/man-pages/man8/e2fsck.8.html
deci, trebuie să faceți fsck
pe o partiție nemontată. Dacă puteți demonta partiția folosind umount
, bine și bine. În caz contrar, trebuie să vă schimbați mediul:
1. Modul de recuperare
(Pentru Ubuntu – Hold SHIFT
în timp ce porniți pentru a intra în GRUB, selectați ‘Opțiuni avansate Pentru Ubuntu’, apoi selectați opțiunea etichetată ‘mod de recuperare’, apoi selectați fsck). În modul de recuperare, partițiile sunt montate.
2. În timp ce utilizați parametrul init=/bin/bash kernel
( țineți apăsat SHIFT
în timp ce porniți pentru a intra în GRUB, apăsați e
pentru a edita parametrii kernel-ului). Acesta oferă o coajă bash de unde fsck
ar putea fi rulat, dar aici, partițiile sunt montate.
cum se utilizează comanda fsck?
cu elementele de bază clare, să trecem la pașii cum ar trebui să utilizați comanda fsck în Linux.
1. Utilizarea de bază a
înainte de a începe să utilizați comanda, asigurați-vă că lucrați la o partiție nemontată. Pentru a demonta o partiție și apoi executați fsck pe ea tip :
$ sudo umount /dev/<partition_name>$ fsck /dev/<partition_name>
este posibil să nu puteți demonta partiția. În acest caz, puteți alege una dintre următoarele metode.
2. Rularea fsck folosind un USB live
acesta este probabil cel mai bun mod de a rula fsck
. Acesta oferă un set bogat de instrumente familiare, cum ar fi fdisk
. Utilizați acest tutorial pentru a crea un live Ubuntu USB. Această parte presupune că rulați Linux de pe un USB Live.
pentru a lista toate partițiile din sistemul dvs., puteți utiliza comanda fdisk
.
$ sudo fdisk -l
notă: partițiile prezentate mai sus (pentru 2 SSD-uri, un NVMe și alte SATA) pot fi diferite de ceea ce aveți pe sistemul dvs. fdisk imprimă și mai multe informații despre partiții. Cu toate acestea, în scopul acestui articol, numele partiției este suficient.
identificați partiția care cauzează probleme, apoi pur și simplu rulați:
$ fsck /dev/<partition_name>
acest lucru ar trebui să rezolve problema.
3. Utilizarea initramfs
o altă modalitate de a utiliza comanda fsck este în modul intramfs. Pentru a intra în initramfs
- țineți apăsată tasta
SHIFT
în timp ce porniți pentru a intra în meniul GRUB. - apăsați
e
pentru a edita intrarea de pornire - Adăugați parametrul kernel ca ‘
break
‘așa cum se arată în captura de ecran de mai jos - apăsați
Ctrl - X
pentru a salva și a ieși
initramfs
oferă un mod ‘mai puțin ademenitoare’ de depanare.
partițiile nu sunt montate în initramfs, deci efectuarea fsck
ar fi sigură. De asemenea, aveți nevoie de numele partiției. Initramfs, cu toate acestea, oferă un minim de utilități. Deci fdisk
nu va fi disponibil. Puteți lista partițiile folosind comanda cat așa cum se arată mai jos:
$ cat /proc/partitions
identificați partiția și apoi executați:
$ fsck /dev/<partition_name>
Notă: este posibil ca fsck utilizând Live USB să nu fie întotdeauna disponibil. Într-un astfel de caz, utilizați metoda initramfs.
cum să verificați dacă fsck este programat sau nu
s-ar putea să doriți să știți când a fost bifată partiția dvs. ultima dată sau când va fi în viitor. În acest caz, executați:
$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
- numărul maxim de monturi este numărul de monturi după care sistemul de fișiere va fi verificat automat de fsck.
- intervalul de verificare este timpul dintre două verificări ale sistemului de fișiere.
aceste două valori sunt suficiente pentru a identifica când comanda fsck a fost executată ultima dată.
diferența dintre fsck și e2fsck
puteți găsi răspunsuri/articole diferite care vă solicită să rulați e2fsck sau fsck.ext4 mai degrabă decât fsck. Ce diferență are dacă rulați oricare dintre aceste instrumente în loc de fsck
?
fsck
este doar o interfață pentru toate comenzile fsck specifice sistemului de fișiere, cum ar fi cele două prezentate mai sus (un înveliș dacă s-ar putea spune). Invocarea fsck
invocă automat sistemul de fișiere corect specific fsck
. Să vedem care sunt toate fsck
în sistemul nostru:
$ ls -l /sbin/fsck*
rularea fsck
pe o partiție ext2/3 / 4 rulează executabilul /sbin/fsck.ext*
respectiv. Aceste executabile, la rândul lor, sunt legături dure către executabilul e2fsck
. Deci, chiar dacă executați fsck
pe o partiție ext4 ar rula în cele din urmă e2fsck
.
concluzie
în acest tutorial am acoperit fsck
care este un instrument util pentru recuperarea sistemelor de fișiere. Pentru a afla mai multe despre comanda fsck
, consultați pagina man.
Leave a Reply