मैं कैसे जांच / देव / xvda1 कर सकता हूं?


60

EC2 (Ubuntu) उदाहरण के लिए लॉगिन पर, मैं देखता हूं

*** /dev/xvda1 should be checked for errors ***

मैं नहीं कर सकता fsck /dev/xvda1क्योंकि यह मुहिम शुरू की है, और sudo umount /dev/xvda1विफल रहता है क्योंकि यह उपयोग में है। lsofदिखाता है

jbd2/xvda  172               root  cwd       DIR              202,1     4096          2 /
jbd2/xvda  172               root  rtd       DIR              202,1     4096          2 /
jbd2/xvda  172               root  txt   unknown                                        /proc/172/exe

और kill -SIGKILL 172अप्रभावी है।

क्या करें?


क्या आप fstab और रिबूट में "noauto" को सेट / देव / xvda1 कर सकते हैं?
नेल्स टॉड्टमैन

उबंटू के लिए, askubuntu.com/a/548772/184435
danorton

जवाबों:


51

इन दिनों अधिकांश लिनक्स बूट समय पर एक मजबूर fsck प्रदर्शन करना चाहिए जब फ़ाइल / संदंश प्रणाली पर मौजूद हो। यदि आप VM को रिबूट करने के लिए स्वतंत्र हैं, तो दौड़ें

touch /forcefsck

फिर अपनी सुविधानुसार रिबूट करें


95

हमारे ec2 ubuntu उदाहरण के लिए, उपरोक्त जवाब पूरी तरह से काम नहीं किया।

उबंटू में, डिफ़ॉल्ट रूप से, आरसीएस फ़ाइल में चेक सक्षम नहीं है । इसलिए

  1. RcS फ़ाइल sudo vi / etc / default / rcS संपादित करें

लकीर के नीचे

#FSCKFIX=no

जोड़ना

FSCKFIX=yes
  1. Fstab फ़ाइल संपादित करें। सुडो vi / etc / fstab

/ के लिए रिकॉर्ड देखें और यदि अंतिम अंक '0' है तो इसे '1' में बदल दें। अंतिम क्षेत्र fsckorder है और इसका उपयोग डिस्क की जाँच के क्रम को तय करने के लिए fsck द्वारा किया जाता है। यदि मान '0' है तो डिस्क को छोड़ दिया गया है

उदाहरण के लिए,

LABEL=cloudimg-rootfs   /        ext4   defaults,discard        0 0

सेवा

LABEL=cloudimg-rootfs   /        ext4   defaults,discard        0 1 
  1. / Forcefsck फ़ाइल बनाएँ

    सुडो टच / फोर्सफेक

Ec2 कंसोल से रिबूट।

Fsckorder value को '1' से '0' में / etc / fstab पर FSCKFIX=yesवापस लाएँ। rcS फ़ाइल को मूल स्थिति में वापस लाने के लिए लाइन हटाएं ।

आशा है ये मदद करेगा।


5
इसने मेरे लिए काम किया। बस "टच / फ़ोर्सफ़स्क" करने से यह हल नहीं होता है, मुझे FSCKFIX भी सक्षम करना पड़ा।
फ्लोरिन आंद्रेई

1
मुझे भी; सिर्फ sudo touch /forcefsckरिबूट करने से पहले उबंटू 14.04 सिस्टम पर काम नहीं किया, लेकिन यह जवाब दिया।
तैमू लीस्टी

मुझे एक और कदम - एक संशोधन / / etc / fstab यहाँ वर्णित के रूप में करना था: nathanpfry.com/ ... यह अजीब है क्योंकि पिछली बार जब मेरे पास ऐसा हुआ था, तो मैंने आपके उत्तर का उपयोग किया था और यह उसी तरह काम किया है।
चाइल्डोफॉन्ग

2
धन्यवाद, इसने मेरे लिए AWS से एक ec2 उदाहरण पर इसे हल किया। मुझे कंसोल से रिबूट नहीं करना पड़ा, sudo rebootआपके परिवर्तनों के साथ एक सरल ने इसे हल किया।
राल्फ

यह मेरे स्थानीय कंप्यूटर पर भी समस्या को ठीक करता है। मेरा मानना ​​है कि इसे सर्वश्रेष्ठ के रूप में चिह्नित किया जाना चाहिए।
अरदा

7

चूंकि आप लाइव डिस्क में बूट नहीं कर सकते हैं, यह थोड़ा अजीब लग सकता है, लेकिन मुझे लगता है कि यह काम करेगा)

ऊँचा स्तर:

  • नए (दूसरे) उदाहरण में बूट करें।
  • पुराने उदाहरण से नए (वर्तमान) में संग्रहण संलग्न करें।
  • दौड़ो fsck
  • नए (वर्तमान) से संग्रहण अलग करें और इसे पुराने उदाहरण में पुन: भेजें।

0

मैं सिर्फ 3 चरण नीचे करता हूं और समाधान जारी करता हूं।

  1. "FSCKFIX = yes" को / etc / default / rcS में जोड़ें
  2. सुडो टच / फोर्सफेक
  3. सुडो रीबूट

सबको शुक्रीया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.