बेकार फ़ाइल का उपयोग करके स्वैप फ़ाइल के साथ हाइबरनेट करें
हालांकि यह स्वैप फ़ाइल के लिए हाइबरनेट करना संभव है और कर्नेल मापदंडों को सेट करके सिस्टम हाइबरनेट के साथ काम करता है। हालाँकि, मैं इसे फिर से शुरू करने के लिए नहीं मिल सकता है बजाय उपयोग करने के लिए बंद कर दिया (यूजरस्पेस सॉफ्टवेयर सस्पेंड) । यहां मैं उबंटू 17.04 / 17.10 पर उपयोग किए गए चरण हैं।
स्वैप फ़ाइल बनाएँ
एक स्वरूपित 4GiB स्वैप फ़ाइल बनाने के लिए कमांड, घुड़सवार और इसमें जोड़ा गया /etc/fstab
:
sudo fallocate -l 4g /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
स्वैप फ़ाइल विभाजन सत्यापित करें
sudo findmnt -no SOURCE,UUID -T /swapfile
> /dev/sda1 11cc33ee-1234-abcd-1234-ddeeff112233
यूजरस्पेस सॉफ्टवेयर सस्पेंड स्थापित करें (बेकार)
sudo apt install uswsusp
बेकार में कॉन्फ़िगर करें
बनाने /etc/uswsusp.conf
और बनाने के लिए initramfs
:
sudo dpkg-reconfigure -pmedium uswsusp
Yes
' एक वैध स्वैप स्थान के बिना जारी रखें? ' (विज़ार्ड ने अभी तक स्वैप फ़ाइल सेट नहीं की है।)
- उस विभाजन का चयन करें, जो स्वैप-फ़ाइल पर रहता है,
findmnt
ऊपर से विवरण के साथ क्रॉस-संदर्भ । ( नोट: नहीं स्वैप फाइल ही )
नोट: मैन्युअल रूप से किए गए किसी भी परिवर्तन के बाद इस कमांड के साथ फिर से जुड़ने की /etc/uswsusp.conf
आवश्यकता होगी initramfs
:
sudo update-initramfs -u
टेस्ट uswusp हाइबरनेट
sudo s2disk
snapshot
स्क्रीन पर हाइबरनेट और फिर से शुरू करने के संदेश होने चाहिए ।
System2 हाइबरनेट के साथ s2disk का उपयोग करें
डिफ़ॉल्ट सिस्टमड के द्वारा यह स्वयं की हाइबरनेट कमांड का उपयोग करेगा ताकि उन्हें ओवरराइड करके uswusp कमांड के साथ प्रतिस्थापित किया जा सके systemd-hibernate.service
:
sudo systemctl edit systemd-hibernate.service
पाठ संपादक में जो निम्न पाठ को खोलता है (रिक्त ExecStart की आवश्यकता है)। फिर सहेजें और बाहर निकलें:
[Service]
ExecStart=
ExecStart=/usr/sbin/s2disk
ExecStartPost=/bin/run-parts -a post /lib/systemd/system-sleep
यह /etc/systemd/system/systemd-hibernate.service.d/override.conf
ओवरराइड विवरण के साथ फाइल बनाएगा ।
टेस्ट सिस्टम हाइबरनेट:
systemctl hibernate
नोट: यह जांचने के लिए कि सिस्टमड override.conf
बनाया गया है, लोड किया गया है और कोई त्रुटि नहीं है, चलाएं:
systemctl status systemd-hibernate.service
संदर्भ:
ExceStart=run-parts -a post /lib/systemd/system-sleep
होना चाहिएExceStartPost=run-parts -a post /lib/systemd/system-sleep