हाइबरनेशन फिर से शुरू करना लिनक्स कर्नेल पर विफल रहता है 4.9.0, डेबियन 9


9

मैंने हाल ही में अपने कर्नेल को 3.16.4 (डेबियन जेसी) से 4.9.0 (डेबियन खिंचाव) में अपग्रेड किया है। सब कुछ ठीक था, जब तक कि मैंने "हाइबरनेट" (डिस्क को निलंबित) करने की कोशिश नहीं की।

जब मैं LXDE में हाइबरनेट विकल्प का उपयोग करता हूं, तो यह हाइबरनेट दिखाई देता है। मैं डिस्क स्पिंडल टिकिंग और डेटा लिख ​​सकता हूं। लेकिन समस्या तब दिखाई देती है जब हाइबरनेशन से फिर से शुरू होता है। कर्नेल सफलतापूर्वक स्वैप से छवि को पुनर्स्थापित करता है, लेकिन फिर जमा देता है और रिबूट करता है, जिसमें सभी काम खो जाते हैं। मुझे इंटरनेट पर कहीं भी जवाब नहीं मिला। लोग बस /etc/initramfs-tools/conf.d/resume की स्थापना नहीं करने के आसपास कुछ गलतियों को हल कर रहे हैं या कर्नेल पैरामीटर सेट कर चुके हैं, या गलत तरीके से / etc / fstab में प्रवेश कर रहे हैं। मेरे पास ये सही हैं। /Etc/initramfs-tools/conf.d/resume में सही UUID, सही fstab और फिर से शुरू कर्नेल पैरामेटर सेट न करें।

  • मैंने विस्तारित विभाजन के बाहर स्वैप विभाजन को प्राथमिक में स्थानांतरित कर दिया। UUID को सहेजा गया और नए स्वैप में लागू किया गया।

  • यह प्रणाली "छवि 100% बहाल" और फिर "सस्पेंसिंग कन्सोल" तक पहुंचती है, और फिर यह सभी कार्यों को सामान्य रूप से बंद कर देती है और सभी कार्य खो जाते हैं।

  • स्वच्छ स्थापित करने की कोशिश की, लेकिन भाग्य के बिना।

  • केवल i386 (32-बिट x 86) पर होता है, amd64 (64-बिट x 86) को नुकसान नहीं होता है।

डिस्क विभाजन तालिका लेआउट:

NAME   FSTYPE LABEL    UUID                                 MOUNTPOINT
sda                                                         
├─sda1 ext4   HDD      <ROOT-UUID> /
└─sda2 swap   HDD-SWAP <SW-UUID> [SWAP]
sr0

नवीनीकरण से पहले sda2 तार्किक (निवासी-अंदर-विस्तारित) था।

fstab:

UUID=<ROOT-UUID> / ext4 errors=remount-ro 0 1
UUID=<SW-UUID> none swap sw 0 0

/etc/initramfs-tools/conf.d/resume

RESUME=UUID=<SW-UUID>

कर्नेल cmdline

BOOT_IMAGE=/boot/vmlinuz-4.9.0-3-686-pae root=UUID=<ROOT-UUID> ro quiet

प्रणाली की जानकारी:

Computer: Compaq CQ60-120ec
Swap Size: 3.5GiB
Processor: AMD Athlon X2 64 QL-66
GPU: Nvidia Geforce 8200M G
Memory: 2G DDR2 667MHz
Desktop Environment: LXDE
Debian Version: 9 (stretch)
Kernel version: 4.9.0-3
Graphics Driver: nvidia legacy 304xxx

(मुझे पता है कि प्रोसेसर 64 बिट है, लेकिन यह मूल रूप से 32 बिट ओएस के साथ आया था, इसलिए मैंने सोचा कि यह 32 बिट था जब तक कि मैंने जांच / खरीद / cpuinfo नहीं की)

जवाबों:


4

मुद्दा हाइबरनेट और के बीच एक संघर्ष की वजह से है kASLR पर x86-32 । यह nasaslr कर्नेल बूट विकल्प के साथ kASLR को अक्षम करके हल किया जा सकता है । x86-64 प्रभावित नहीं है।

Grub के लिए यह संपादन / etc / default / grub द्वारा किया जा सकता है और बूट विकल्पों में nokaslr जोड़कर , उदाहरण के लिए: GRUB_CMDLINE_LINUX_DEFAULT = "शांत nokaslr "

फिर कॉन्फ़िगरेशन को अपडेट करने के लिए अपडेट-ग्रब चलाएँ और इसे आज़माने के लिए रीबूट करें।


मैं वास्तव में एक ही मुद्दा था और ऐसा लगता है कि केवल PAE कर्नेल उस मुद्दे से प्रभावित है। पीएई के बिना एक ही कर्नेल मुद्दों के बिना काम करता है।

मेरे लिए समाधान यह था कि linux-image-686 स्थापित करें और linux-image-686-pae और linux-image-4.9.0-4-686-pa की स्थापना रद्द करें। उन्नयन के कारण समय के साथ सटीक कर्नेल संस्करण बदल सकता है, लेकिन मूल रूप से वर्तमान में चल रहे PAE कर्नेल को PAE के साथ कर्नेल के साथ बदलने की आवश्यकता होती है।

इसका वास्तव में CPU के PAE समर्थन से कोई लेना-देना नहीं है, क्योंकि मेरा CPU / proc / cpuinfo के अनुसार PAE का समर्थन करता है। लेकिन पीएई वैसे भी पुराने नोटबुक्स पर ज्यादा इस्तेमाल का नहीं है।

यह भी कर्नेल 4.9 पीएई के साथ कुछ नहीं करना है क्योंकि डेबियन बैकपोर्ट से कर्नेल 4.13 पीएई के साथ एक ही मुद्दा होता है।


इस उत्कृष्ट उत्तर के लिए और भी बहुत कुछ चाहिए, लेकिन मैं केवल एक ही दे सकता हूं।
पीटर -

हां धन्यवाद मुझे लगा कि यह साइट विशेषज्ञों से बाहर है। (अन) सौभाग्य से मुझे लगा कि amd64 संस्करण बिना किसी समस्या के चलता है इसलिए मुझे लगा कि वे ६ version६ संस्करण को बनाए रखना बंद कर देते हैं, लेकिन मुझे नहीं पता था कि पीएई के बिना ६ version६ संस्करण हैं। मुझे उम्मीद है कि डेबियन इसे ठीक कर देगी, अन्यथा लोग शिकायत करेंगे।
Enginecrafter77

3

शायद /etc/uswsusp.conf'रिज्यूमे डिवाइस' के लिए एक बदली हुई प्रविष्टि चाहता है, अगर इसका उपयोग नहीं किया जाता है, तो मेराबे बस /etcएक जगह को बदलने के लिए सभी फाइलों में अपने पुराने यूयूआईडी को इकट्ठा करने की कोशिश करता है। इसके अलावा एक update-initramfsआवश्यक होगा, मैं कहूंगा।


यदि फ़ाइल सही थी, तो इसमें से किसी ने भी बेकार और जाँच करने की कोशिश नहीं की, लेकिन कोई भाग्य नहीं था। और / आदि में कोई भी कॉन्फ़िगरेशन फ़ाइल में मेरा पुराना UUID नहीं है।
Enginecrafter77

2

मुझे वही त्रुटि मिल रही थी। नवीनतम netinst iso, यानी debian-9.1.0-amd64-netinst.iso के साथ इसे फिर से स्थापित करना। बग निश्चित रूप से (कम से कम इस वास्तुकला के लिए) प्रतीत होता है।


हां मैं सहमत हूं, यह amd64 (यानी x64) में तय किया गया है, लेकिन बग अभी भी वहां i386 (उर्फ 686 या x86) में है
Enginecrafter77

1

मैंने बेकार को हटा दिया और हाइबरनेशन फिर से एक आकर्षण की तरह काम करता है। BTW मुझे लगता है कि जेसी से पहले ही यह मामला था जब मैं एनवीडिया ड्राइवर का उपयोग कर रहा था, मैंने बेकार का उपयोग करके परीक्षण किया और हाइबरनेशन काम करने के लिए इसे हटा दिया था।


मेरे पास 32-बिट कंप्यूटर के परीक्षण पर बेकार स्थापित नहीं है, लेकिन हाइबरनेशन अभी भी काम नहीं करता है।
Enginecrafter77

बहुत बुरा। क्या आपने एनवीडिया चालक को हटाने और नोव्यू का उपयोग करने की कोशिश की है?
एलेन

हां मैंने डेबियन 9 इंस्टॉलेशन (32 बिट) को पूरी तरह से साफ करने की कोशिश की, लेकिन मुद्दा अभी भी है। यह कंप्यूटर पर इंटेल ग्राफिक्स के साथ भी होता है, इसलिए मुझे लगता है कि इसका जीपीयू से कोई लेना-देना नहीं है।
Enginecrafter77

1

यदि आपके पास एक स्वैप विभाजन है (सही आकार के साथ) और यदि आप "#etc/initramfs-tools/conf.d/resume" को "#blkid" परिणाम के साथ संपादित करते हैं और i386, डेबियन पर एक बग की तुलना में सही ढंग से हाइबरनेट नहीं करेगा i386 4.9 गिरी! कर्नेल को 4.9 से अधिक संस्करण में अपडेट करें या 3.16 कर्नेल पर वापस जाएं।


0

कृपया इस उत्तर की सामान्य प्रकृति का बहाना करें। मैंने पूरे वेब पर समान प्रश्न देखे हैं और सभी के लिए एक उत्तर लिखने का निर्णय लिया है। मैं एक ही समस्या का सामना कर रहा था क्योंकि आप एक Hp2510 पर डेबियन-जेसी को अपग्रेड कर रहे थे। मैंने उबंटू-डेस्कटॉप पर स्विच किया और वहां भी पाया। मैंने बाद में उबंटू और Hp2510 पर अपना परीक्षण किया, ताकि यह पूरी तरह से आपकी स्थिति पर लागू न हो।

नए लिनक्स सिस्टम से अपडेट किए गए कुछ पुराने कंप्यूटर बूट समस्याओं का अनुभव करते हैं। वे बूट नहीं कर सकते हैं या उन्हें बूट करने में तीन मिनट तक का समय लग सकता है। संयोग से, वे या तो हाइबरनेट करने में विफल होते हैं या हाइबरनेट और डीहर्नेट करने में इतना लंबा समय लेते हैं कि क्षमता बेकार है। अक्सर ऐसा नहीं होता है क्योंकि पुराने कंप्यूटर केवल धीमे होते हैं, लेकिन 4.8 लिनक्स कर्नेल में पेश किए गए बदलाव के कारण, एक बहुत ही सामान्य इंटेल चिपसेट के साथ एक समस्या पैदा होती है, जिसमें svideo आउटपुट शामिल है। इस कर्नेल के साथ शुरू होने पर, इस चिपसेट वाला कोई भी कंप्यूटर बूट समस्याओं का अनुभव करेगा जब तक कि लिनक्स कमांड लाइन तर्क नहीं देता"video=SVIDEO-1:d"GRUB_CMDLINE_LINUX में शामिल है। यह 64-बिट और 32-बिट दोनों बूट समय को काफी कम कर देगा लेकिन केवल 64-बिट के लिए हाइबरनेट समस्याओं को ठीक करता है। कोई 32-बिट सिस्टम इस बिंदु के बाद हाइबरनेट का समर्थन नहीं करता है। इसके अलावा, सभी 4.8 और 4.9 कर्नेल संस्करणों के लिए बूट समय खराब है (4.8.rc1-7 को छोड़कर)। यह अंत में 4.10 में हल किया गया है। गुठली 4.8 और 4.9 बस से बचा जाना चाहिए (वे वैसे भी अप्रचलित हैं)।

यदि आप सबसे तेज़ बूट समय चाहते हैं, तो प्री-4.8 कर्नेल का उपयोग करें। मैं उबंटू-डेस्कटॉप 15.04 का उपयोग कर्नेल के साथ 4.7.10 पर अपडेट करूंगा। 32-प्रणाली में हाइबरनेशन प्राप्त करने का यह एकमात्र तरीका है। 64-बिट सिस्टम 32-बिट की तुलना में 7% धीमा है, लेकिन यह अभी भी किसी भी बाद के संस्करण की तुलना में तेज है। यदि आप वर्तमान में समर्थित 32-बिट सिस्टम चाहते हैं और हाइबरनेशन के लिए तैयार हैं, तो ऐसे किसी भी उपयोग का उपयोग करें जिसे या तो जारी किया गया है या 4.10 या बाद के कर्नेल में अपडेट किया गया है। कोई भी 64-बिट संस्करण वीडियो के साथ 4.8 के बाद काम करता है, लेकिन सर्वश्रेष्ठ प्रदर्शन के लिए 4.8 और 4.9 से बचें।

वीडियो फिक्स जोड़ने के लिए करते हैं sudo nano /etc/default/grub। नैनो बंद करने के बाद sudo update-grub। जब तक GRUB_CMDLINE_LINUX_DEFAULT, जो GRUB_CMDLINE_LINUX के बाद डाला जाता है, रिक्त है, "video=SVIDEO-1:d"अंतिम लिनक्स कमांड लाइन तर्क नहीं होगा, जो कुछ लोगों का कहना है कि आवश्यक है। यह वास्तव में कहीं भी हो सकता है।

आप हमेशा टर्मिनल (या ट्टी) में पीएम-हाइबरनेट कमांड के साथ हाइबरनेट को लागू कर सकते हैं, लेकिन यह एक उपलब्ध जीयूआई विकल्प है जिसके लिए आपको /etc/polkit-1/localauthority/50-local.d/ com.ubuntu.enable-hibernate.pklaनिम्न फ़ाइल को नीति फ़ाइल (स्पष्ट रूप से विशिष्ट-विशिष्ट) बनाने या जोड़ने की आवश्यकता है :

[Re-enable hibernate by default for login1]
    Identity=unix-user:*
    Action=org.freedesktop.login1.hibernate
    ResultActive=yes
[Re-enable hibernate for multiple users by default in logind]
    Identity=unix-user:*
    Action=org.freedesktop.login1.hibernate-multiple-sessions
    ResultActive=yes

0

कई बार समस्या ग्रब या यूयूआईडी में नहीं होती है। यह तब भी होता है जब आप स्टोरेज स्पेस से बाहर होते हैं। इस प्रकार कोई लिखने की जगह नहीं बचेगी और इस तरह हाइबरनेशन से फिर से शुरू हो जाएगा।

जब आपको वह त्रुटि मिलती है, तो आप टर्मिनल पर क्लिक alt+ f2/f3/f7या ctrl+alt+ f2/f3/f7ओपन कर सकते हैं । टर्मिनल का उपयोग करके अपने खाते या रूट पर लॉगिन करें।

फिर sudo df -hस्टोरेज स्पेस पर जांच के लिए कमांड चलाएं । मेरे मामले में मेरे पास /dev/sda1सूची में ड्राइव पर मुफ्त स्थान पर मेरी इतनी जगह नहीं थी ।

यदि आप अंतरिक्ष से बाहर हैं, तो कृपया कुछ महत्वपूर्ण स्थान प्राप्त करने के लिए कुछ फ़ाइलों को हटाने का प्रयास करें।

उसके बाद आप पर क्लिक कर सकते हैं alt+f1या ctrl+alt+f1लॉगिन गुई के प्रकट होने या टाइप करने की प्रतीक्षा कर सकते हैंreboot in the terminal to reboot


ठीक है, आपके प्रयास के लिए धन्यवाद, लेकिन यह मुद्दा पहले ही हल हो चुका है। समस्या 4.9.0 i386 + PAE कर्नेल के साथ है। बाद में मुझे पता चला कि मेरा पीसी 64 बिट सॉफ़्टवेयर चलाने में सक्षम था (हालाँकि पीसी हमेशा उस दिन से 32 बिट चल रहा था जो मुझे मिला), और 64 बिट कर्नेल ने इस मुद्दे को हल किया।
Enginecrafter77

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