नए डिस्क पर संस्थापन को ले जाएँ


10

मेरे पास वर्तमान में इन विभाजनों के साथ एक HD है:

/dev/sdb1    /
/dev/sdb2    swap
/dev/sdb3    /home

मैं अपने /विभाजन के लिए एक ssd खरीदने के बारे में सोच रहा हूँ ।

अब मेरा सवाल है: क्या मेरे वर्तमान कॉन्फ़िगरेशन को नए एक (दो डिस्क, / होम अवशेष) पर स्थानांतरित करना / परिवर्तित करना संभव है? चल रहे सिस्टम के भीतर से?

जवाबों:


11

मैं उपयोग करने के खिलाफ सलाह देता हूं dd। यह सिर्फ सेक्टर कॉपी द्वारा एक डंब सेक्टर करता है, जिसका अर्थ है कि यदि गंतव्य विभाजन छोटा है, तो यह विफल हो जाएगा, और खाली स्थान की नकल करने में बहुत समय बर्बाद होता है, और यदि गंतव्य विभाजन बड़ा है, तो अतिरिक्त स्थान तब तक उपलब्ध नहीं होगा जब तक कि आप नहीं चलते। resize2fsफाइलसिस्टम का विस्तार करने के लिए।

लाइव सीडी से ऐसा करना सबसे अच्छा है क्योंकि यदि आप फ़ाइलों को कॉपी करते हैं जबकि वे संशोधित किए जा रहे हैं, तो आप भ्रष्ट परिणामों के साथ समाप्त हो जाएंगे।

Ssd को फॉर्मेट करें और नए sdd पार्टीशन और मूल रूट विभाजन दोनों को प्राप्त करें, फिर बस चलाएं sudo cp -ax /media/old-partition/* /media/new-partition, जहां पुराने-विभाजन और नए-विभाजन को उनके वास्तविक माउंट पॉइंट्स से बदल दिया जाता है। यह स्वामित्व, अनुमतियों और टाइमस्टैम्प को संरक्षित करते हुए हर फ़ाइल को कॉपी करेगा।

फिर sudo grub-install --root-directory=/media/new-partition /dev/SSD_DEVICEनए-विभाजन और SSD_DEVICE के लिए सही मानों को प्रतिस्थापित करने के बाद चलाएं। यह ग्रब स्थापित करेगा, डिस्क को बूट करने योग्य बनाता है।

एक बार जब आप रिबूट करते हैं (यह सुनिश्चित करते हुए कि आपका बायोस पुराने ड्राइव के बजाय sdd से बूट करने के लिए कॉन्फ़िगर किया गया है), सुनिश्चित करें कि आप ssd से चल रहे हैं dfऔर / या के आउटपुट की जांच करके पुराने ड्राइव से नहीं mount, और आपको होना चाहिए पुराने विभाजन को उड़ाने के लिए अच्छा है।

ओह, और आप पुराने /etc/fstabएसएसपी विभाजन के यूयूआईडी को पुराने के बजाय मैच करने के लिए रूट विभाजन के यूयूआईडी को कॉपी और अपडेट करने के बाद नए विभाजन पर फ़ाइल को संपादित करना चाहेंगे । आप उस UUID को चलाकर पा सकते हैं sudo blkid

संपादित करें: ऊपर कॉपी में जोड़ा / *, लेकिन 6 से अधिक वर्ण होने के लिए संपादित करने की आवश्यकता है। अब यह १०१ अक्षर है!


1
मुझे लगता है कि काम किया?
मार्टिन यूडिंग

2
मुझे ऊपर विधि का उपयोग करके ग्रब स्थापित करने में समस्याएं थीं। आखिरकार मैंने वही किया जो इस धागे से पता चलता है: askubuntu.com/a/3409/8152 दूसरी डिस्क पर ग्रब को सेटअप और इंस्टॉल करने के लिए। बाकी जवाब ने बहुत काम किया।
म्लाडेन जाबलानोविक

1

यह आदेश:

dd if=/dev/sdb1 of=DEVICE_PATH_OF_SSD_DRIVE

/विभाजन को SSD ड्राइव पर क्लोन करने के लिए काम करना चाहिए ।

EDIT: यह केवल तभी काम करेगा जब आपका विभाजन ड्राइव के समान आकार का हो। वे एक ही आकार नहीं कर रहे हैं, तो आप उपयोग कर सकते हैं Partimage :

partimage -z0 -d save /dev/sdb1 clone.partimg
partimage restore DEVICE_PATH_OF_SSD_DRIVE clone.partimg
rm clone.partimg

इस विधि के लिए एक चेतावनी यह है कि आपको अपनी छवि के लिए पर्याप्त ड्राइव की आवश्यकता है जिसमें सभी सामग्री हो /। यदि आपके पास १० जीबी मुफ्त है तो आपको ठीक होना चाहिए। अन्यथा, आप छवि को संपीड़ित करने के -z1बजाय उपयोग कर सकते हैं -z0। अधिक से अधिक संपीड़न के लिए, उपयोग करें -z2। इसके अलावा, partimage ext4 फ़ाइल सिस्टम का समर्थन नहीं करता है

एक बार जब आप ऐसा कर लेते हैं, तो आपको एसएसडी माउंट करना चाहिए और जांचना चाहिए कि क्या आपका डेटा ठीक से कॉपी किया गया है:

$ mkdir /tmp/ssd
$ sudo mount -t ext4 DEVICE_PATH_OF_SSD_DRIVE /tmp/ssd
$ ls /tmp/ssd
bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

ext4उस फ़ाइल सिस्टम से बदलें, जिसका आपने उपयोग किया है /

आपको इस ड्राइव पर GRUB बूटलोडर को स्थापित करने की आवश्यकता होगी:

sudo grub-install DEVICE_PATH_OF_SSD_DRIVE

फिर आपको उस /etc/fstabफ़ाइल को /dev/sdb1अपने SSD ड्राइव के डिवाइस पथ के साथ बदलने के लिए संपादित करना होगा जो प्रवेश करती है /। ( sudo $EDITOR /etc/fstab)

कृपया इन निर्देशों का पालन करने से पहले इस उत्तर का कुछ उल्टा होने तक इंतजार करें। मैं इन चीजों का विशेषज्ञ नहीं हूं इसलिए मुझे कुछ महत्वपूर्ण जानकारी याद आ गई होगी। जो भी इसमें कोई खामियां देखता है, कृपया उन्हें समझाते हुए एक टिप्पणी जोड़ें। आपको ऐसी सावधानी बरतनी चाहिए क्योंकि अगर कुछ गलत होता है, तो यह आपके कंप्यूटर को बेकार कर सकता है।


(-1) यह समाधान अधिक खतरनाक है । खासकर अगर उपकरणों का आकार मेल नहीं खाता है।
राफेल बोस्सेक

यदि आप dd का उपयोग करते हैं तो यह स्रोत ड्राइव के UUID की भी नकल करेगा।
माइकल

0

पहले पढ़ें कि कैसे माइग्रेट करें, क्या एक ओएस को एक हार्ड ड्राइव से दूसरे में स्थानांतरित करने का एक आसान तरीका है?

अपने SSD से बूट करें और निम्न लाइन को /etc/fstabइसमें जोड़ें (यह केवल एक बाइंड है):

/media/slowhd/home /home none rw,bind 0 0

mount -aपरिवर्तनों को सक्रिय बनाने के लिए शुरू करें ।

युक्ति : ऐसा न करें mount /dev/yourhd /homeक्योंकि आप अपने पुराने HD पर आगे की निर्देशिकाओं को स्थानांतरित करने के लिए लचीलापन ढीला करते हैं ।

LVM (लॉजिकल वॉल्यूम मैनेजर) का उपयोग करने के लिए एक अधिक तकनीकी समाधान होगा ।

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