मैंने हाल ही में Ubuntu 12.10 स्थापित किया है और इसे बूट करने के लिए एक पासफ़्रेज़ की आवश्यकता है (मैंने इसे एक एन्क्रिप्टेड फ़ाइल सिस्टम के साथ स्थापित किया है)।
क्या मुझे एक मानक अनएन्क्रिप्टेड फ़ाइल सिस्टम में बदलने के लिए पुनः इंस्टॉल करना होगा?
मैंने हाल ही में Ubuntu 12.10 स्थापित किया है और इसे बूट करने के लिए एक पासफ़्रेज़ की आवश्यकता है (मैंने इसे एक एन्क्रिप्टेड फ़ाइल सिस्टम के साथ स्थापित किया है)।
क्या मुझे एक मानक अनएन्क्रिप्टेड फ़ाइल सिस्टम में बदलने के लिए पुनः इंस्टॉल करना होगा?
जवाबों:
यदि उबंटू बूट के दौरान एन्क्रिप्शन पासफ़्रेज़ के लिए पूछता है (यानी लॉगिन स्क्रीन प्रदर्शित होने से पहले पाठ कंसोल पर), तो यह इंगित करता है कि एक पूर्ण डिस्क एन्क्रिप्शन विधि का उपयोग किया गया था। (ऐसा करने का एक से अधिक तरीका है, लेकिन मैं उत्तर को सामान्य रखूंगा।) एन्क्रिप्शन फ़ाइल सिस्टम और भौतिक हार्ड ड्राइव के बीच एक अतिरिक्त सॉफ़्टवेयर परत द्वारा संभाला जाता है, न कि फ़ाइल सिस्टम।
इसे पूर्ववत करने के लिए कोई सरल विधि या उपकरण नहीं है। लिनक्स सिस्टम कैसे काम करता है, इसके बारे में कुछ ज्ञान के साथ। आपको संपूर्ण फ़ाइल सिस्टम (या सभी फ़ाइलें) को किसी अन्य पार्टीशन (पर्याप्त खाली स्थान के साथ) या बाहरी HDD में ले जाना होगा। फिर, एन्क्रिप्टेड कंटेनर को हटा दें, और एन्क्रिप्शन के बिना फ़ाइल सिस्टम को फिर से बनाएं। अंत में, सुनिश्चित करें कि नया फाइल सिस्टम बूट लोडर द्वारा ठीक से पहचाना गया है और mount -aरिबूट करने से पहले।
यदि संभव हो, तो इस समय लेने और त्रुटि-प्रक्रिया से बचने के लिए सबसे अच्छा है। बस एक ताजा स्थापित करें। नए उपयोगकर्ताओं के लिए, यह सबसे तेज और सबसे सुरक्षित विकल्प है।
पुनश्च: संभावना है कि आप एन्क्रिप्शन पासफ़्रेज़ को बदल सकते हैं, संभवतः एक रिक्त स्ट्रिंग पर। फिर डिक्रिप्ट करने के लिए केवल एंटर दबाना होगा। हो सकता है कि आप आगे और अब (अब बेकार) पासफ्रेज़ के लिए सुपरप्रेस कर सकें। हालाँकि, यह एन्क्रिप्शन को अक्षम नहीं करता है। डेटा को अभी भी एन्क्रिप्ट किया जाएगा, हालांकि एन्क्रिप्शन बेकार हो जाएगा क्योंकि कुंजी को तुच्छ रूप से अनुमान लगाया जा सकता है।
ddऔर अंतर्निहित ड्राइवर तब तक नहीं लिखते हैं जब तक कि वे प्रत्येक ब्लॉक को पढ़ना समाप्त नहीं करते हैं (यह सुनिश्चित करने के लिए शायद झंडे और सेटिंग्स हैं) 2. रीड / राइट ब्लॉक एन्क्रिप्शन ब्लॉकों के किनारों को ओवरलैप नहीं करते हैं (जांच की जा सकती है, कुछ गणित शामिल हो सकती है) 3. डिक्रिप्शन के लिए आवश्यक महत्वपूर्ण हेडर जानकारी को पूरा होने से पहले ओवरराइट नहीं किया गया है (अंतर्निहित एन्क्रिप्शन प्रारूप की जांच करें, शायद एंड-टू-स्टार्ट से प्रक्रिया)। मुझे लगता है कि यह संभव है, लेकिन अधिक सावधान सेटअप और विश्लेषण की आवश्यकता होगी।
नीचे यह मेरा समाधान है कि काम किया है। ध्यान रखें कि मैं लिनक्स विशेषज्ञ नहीं हूं, इसलिए यह सबसे अच्छा समाधान नहीं हो सकता है। वैसे भी बेहतर नहीं मिल सका।
नोट : जब भी मैं कहता हूं, मेरा मतलब है
/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition
लाइव सीडी से बूट करें। मैंने Ubuntu 13.10 32bit डेस्कटॉप ISO का उपयोग किया है।
अपना विभाजन माउंट करें:
sudo cryptsetup luksOpen /dev/sda5 crypt1
गंतव्य विभाजन के लिए अपने स्रोत डेटा की प्रतिलिपि बनाएँ और did PID को pid वेरिएबल में सहेजें:
sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!
यह USR1 सिग्नल और dd परिणाम स्थिति के साथ प्रत्येक दूसरी dd प्रक्रिया को पिंग करेगा:
while sudo kill -USR $pid; do sleep 1; done
अगर आपको 'मेथड मेथड' पसंद नहीं है, तो आप वॉच का उपयोग कर सकते हैं। अलग टर्मिनल विंडो खोलें और PID प्राप्त करें:
pgrep -l '^dd$' | awk '{ print $1 }'
अपनी प्रक्रिया आईडी से बदलें:
watch kill -USR1 <pid>
आपको अपने dd टर्मिनल में प्रत्येक 2s में आउटपुट देखना चाहिए।
जब यह पूरा हो जाए तो आप अपने गैर-एनक्रिप्टेड विभाजन को यह देखने के लिए माउंट कर सकते हैं कि क्या यह ठीक है:
sudo mount /dev/sda3 /mnt
उसके बाद अपने विभाजन को अनमाउंट करें:
sudo umount /dev/sda3
रिलीज़ क्रिप्ट विभाजन:
sudo cryptsetup luksClose /dev/sda5
दौड़ लगाओ। अपने LUKS विभाजन (विस्तारित और तार्किक दोनों) को हटा दें। अपने / dev / sda3 का आकार बदलें और बाएँ ले जाएँ। स्वैप विभाजन बनाएँ।
नोट: अपने / dev / sda3 को छोड़ कर आगे बढ़ने में लंबा समय लग सकता है। मेरे लिए इसने 120GB पार्टीशन और SSD ड्राइव पर 30min लिया। यदि आपके पास 500GB + HDD कुछ घंटों के इंतजार के लिए तैयार है। आप अपने / dev / sda3 को स्थानांतरित करने के बजाय अपने विभाजन से पहले स्वैप बनाना चाहते हैं।
अपने स्वैप विभाजन पर एक नया स्वैप फ़ाइल सिस्टम बनाएँ:
sudo mkswap /dev/sda2
और कहीं UUID स्टोर करें।
अपना रूट विभाजन UUID प्राप्त करें:
sudo blkid /dev/sda3
Fstab संपादित करें:
sudo nano /etc/fstab
ओवरलेफ़्स और टैम्पफ़ लाइनों को हटाएं या टिप्पणी करें।
ब्लकिड परिणाम के साथ लाइन की जगह जोड़ें:
UUID=<uuid_root> / ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0
फ़ाइल को हटाएं:
rm /etc/crypttab
"In cryrametup: evms_activate उपलब्ध नहीं है" जैसी त्रुटियों से बचने के लिए अपने initramfs को अपडेट करें:
sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all
यह मेरे लिए काम कर रहा है, हालांकि इस बात की संभावना है कि कदम दर कदम आपके लिए काम न करें। इससे पहले कि मैं अद्यतन- initramfs विधि का पता लगाऊं मैं कर्नेल को फिर से स्थापित कर रहा था कुछ बार ग्रब को संशोधित भी किया गया था। हालांकि यह आपके लिए एक मामला नहीं होना चाहिए। याद रखें कि उपरोक्त निर्देश आपके डेटा को हटा सकते हैं, इसलिए सावधान रहें और आगे बढ़ें , इससे आगे बढ़ें ।
बस अगर आपके पास कर्नेल की परेशानी है (क्रोकेटेड और / बूट माउंटेड):
uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic
बेशक linux-image-3.XY-ZZ को अपनी कर्नेल तारीख से बिना नाम बदलें।
या GRUB (चेरोट के बाहर):
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)
अधिक जानकारी: https://help.ubuntu.com/community/Boot-Repair
सौभाग्य
/etc/initramfs-tools/conf.d/resumeमैन्युअल रूप से स्वैप विभाजन के यूयूआईडी को बदलना होगा और मैं फाइल सिस्टम सामग्री की प्रतिलिपि बनाने की सलाह दूंगा cp -aया rsync -aएसएसडी के लिए सामान्य रूप से तेज हो जाएगा।
ddपूरे विभाजन की प्रतियों का उपयोग करते हुए , यहां तक कि ब्लॉक जिन्हें खाली होना चाहिए, जो एसएसडी को अनावश्यक लिखते हैं (और कुछ पर यह प्रदर्शन लेखन को लगभग सभी कोशिकाओं को परेशान करता है)। कुछ साल पहले मैंने और कुछ अन्य ने यह भी पाया कि ddTRIM (EXT4 त्याग विकल्प) के साथ नकल करने और सक्रिय करने के कारण TRIM उन ब्लॉकों को हटा देगा जो यह सोचते हैं कि खाली हैं और कुछ घंटों के बाद टूटी स्थापना के साथ आपको छोड़ देते हैं।
यदि यह एन्क्रिप्शन रखना ठीक है, लेकिन पासफ़्रेज़ प्रॉम्प्ट को बंद करने के लिए, एक बहुत सरल तरीका "पासवर्ड" जैसे एक तुच्छ पासवर्ड सेट करना है और फिर इनट्रेमर्फ्स में उस तुच्छ पासवर्ड को क्लीयरटेक्स में सेव करना है। LUKS एन्क्रिप्शन पासवर्ड को अक्षम करें ।
अनिवार्य रूप से, एक हुक स्क्रिप्ट जोड़ें, जो बदले में इनट्राम्राम्स में एक "कीस्क्रिप्ट" जोड़ता है। आमतौर पर इन लिपियों का उपयोग Bletooth, USB स्टिक आदि से पासवर्ड प्राप्त करने के लिए किया जाता है, लेकिन इस स्थिति में, इसे केवल तुच्छ पासवर्ड प्रिंट करें।