बूट और रूट विभाजन को किसी अन्य ड्राइव पर कैसे ले जाएं


27

मेरे पास अपने कंप्यूटर पर दो ड्राइव हैं जिनमें निम्नलिखित कॉन्फ़िगरेशन हैं:

Drive 1: 160GB, /home
Drive 2: 40GB, /boot and /

दुर्भाग्य से, ड्राइव 2 मरता हुआ प्रतीत होता है, क्योंकि इसे लिखने की कोशिश मुझे त्रुटियां दे रही है, और स्मार्ट सेटिंग्स की जाँच करने से मामलों की एक उदास स्थिति का पता चलता है।

ड्राइव 1 पर मेरे पास बहुत जगह है, इसलिए मैं जो करना चाहता हूं वह / / और बूट विभाजन को इसमें स्थानांतरित करना है, ड्राइव 2 को सिस्टम से हटा दें, ड्राइव 2 को एक नई ड्राइव से बदलें, फिर प्रक्रिया को उल्टा करें।

मुझे लगता है कि मुझे ग्रब करने के लिए कुछ अपडेट करने की ज़रूरत है, और मुझे कुछ चीजों को स्थानांतरित करने की आवश्यकता है, लेकिन मैं बहुत चकित हूं कि इस पर कैसे जाना चाहिए। चूंकि यह मेरा मुख्य कंप्यूटर है, इसलिए मैं सावधान रहना चाहता हूं कि चीजों को गड़बड़ न करें ताकि मैं बूट न ​​कर सकूं।


जवाबों:


29

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

GRUB का अद्यतन करना इस बात पर निर्भर करता है कि यह GRUB1 है या GRUB2। यदि GRUB1, तो आपको /boot/grub/device.map को संपादित करना होगा

यदि GRUB2, मुझे लगता है कि आपको अपने विभाजन को माउंट करने की आवश्यकता है क्योंकि वे वास्तविक स्थिति में होंगे। उदाहरण के लिए:

sudo mkdir /media/root
sudo mount /dev/sda1 /media/root
sudo mount /dev/sda2 /media/root/boot
sudo mount /dev/sda3 /media/root/home

(वास्तविक विभाजन में जो कुछ भी हो, उसे भरना

फिर / मीडिया / रूट में माउंट / प्रोक और / देव को बांधें:

sudo mount -B /proc /media/root/proc
sudo mount -B /dev /media/root/dev
sudo mount -B /sys /media/root/sys

अब ड्राइव में चुरोट करें ताकि आप GRUB को नए लेआउट के अनुसार खुद को अपडेट करने के लिए मजबूर कर सकें:

sudo chroot /media/root
sudo update-grub

दूसरा कमांड एक शिकायत करेगा (मैं भूल जाता हूं कि यह क्या है ...), लेकिन इसे अनदेखा करना ठीक है।

खराब ड्राइव को हटाकर इसका परीक्षण करें। यदि यह काम नहीं करता है, तो खराब ड्राइव अभी भी सिस्टम को बूट करने में सक्षम होना चाहिए, लेकिन मेरा मानना ​​है कि ये सभी आवश्यक कदम हैं।


3
इन दिनों इसे देखने वाले किसी को भी FYI करें, यह EFI सेटअप पर लागू नहीं होता है। आपको /media/root/boot/efiअन्य चीजों के बीच, माउंट करने की आवश्यकता है ।
wjandrea 7

1
मैं एक sudo grub-install /dev/sdaसे पहले की जरूरत हैsudo update-grub
विलियम मुर्दा

5

यदि आप ड्राइव को तुरंत बदल देते हैं तो आप इसका उपयोग कर सकते हैं dd(कुछ महीने पहले मेरे सर्वर पर इसे आज़माया जा सकता है , और यह एक आकर्षण की तरह काम करता है)।

इसके लिए आपको एक बूट-सीडी की आवश्यकता होगी।

  1. बूट-सीडी शुरू करें
  2. केवल माउंट ड्राइव 1
  3. भागो dd if=/dev/sdb1 of=/media/drive1/backuproot.img- sdb1 अपने मूल ( /) विभाजन किया जा रहा है । यह एक फ़ाइल में पूरे विभाजन को बचाएगा।
    • उसी के लिए /boot
  4. बिजली बंद, डिस्क की जगह, बिजली पर
  5. भागो dd if=/media/drive1/backuproot.img of=/dev/sdb1- इसे वापस लिखो।
    • उसी के लिए /boot

उपरोक्त ठीक उसी आकार के साथ 2 विभाजन बनाएंगे, जैसे पहले थे। आपको ग्रब (चेक मैकोस पोस्ट) को समायोजित करने की आवश्यकता हो सकती है।

यदि आप अपने विभाजन का आकार बदलना चाहते हैं (जैसा मैंने किया):

  1. नई ड्राइव पर 2 विभाजन बनाएँ (के लिए /और /boot; आकार जो भी आप चाहते हैं)
  2. बैकअप छवि माउंट करें: mount /media/drive1/backuproot.img /media/backuproot/
  3. खाली /विभाजन माउंट करें :mount /dev/sdb1 /media/sdb1/
  4. इसकी सामग्री को नए विभाजन में कॉपी करें (मैं इस कमांड के बारे में अनिश्चित हूं, स्वामित्व को संरक्षित करना वास्तव में महत्वपूर्ण है, cp -Rऐसा नहीं करेंगे!) cp -R --preserve=all /media/backuproot/* /media/sdb1
    • उसी के लिए /boot/

यह करना चाहिए।


यह पता चला है कि नया "40 जीबी" ड्राइव जो मैं स्थापित करने की कोशिश कर रहा हूं वह मेरे वर्तमान "40 जीबी" ड्राइव से छोटा है। मेरे पास दोनों जुड़े हुए हैं, और मैं एक लाइवसीडी में बूट हूं। क्या पुराने से नए के लिए सिर्फ dd करने का एक आसान तरीका है, और इसे एक किया हुआ सौदा कहें?
3

दरअसल, मैंने इस प्रश्न को हल कर दिया। वह विभाजन जो बहुत बड़ा था, एक ext4 विभाजन था, इसलिए मैंने एक liveCD बूट किया, और इसे थोड़ा सिकोड़ने के लिए gparted का उपयोग किया।
मिलीलीटर

4

मेरा अंतिम समाधान कई तकनीकों का संयोजन था:

  1. मैंने मरने की ड्राइव और इसके प्रतिस्थापन को एक साथ कंप्यूटर से जोड़ा।
  2. नया ड्राइव पुराने की तुलना में छोटा था, इसलिए मैंने GParted का उपयोग करके पुराने पर विभाजन को सिकोड़ दिया।
  3. ऐसा करने के बाद, मैंने पुराने ड्राइव पर विभाजन की प्रतिलिपि बनाई, और उन्हें नए पर चिपका दिया (GParted का उपयोग करके भी)।
  4. इसके बाद, मैंने नई ड्राइव पर बूट फ्लैग को सही विभाजन में जोड़ा, इसलिए यह प्रभावी रूप से पुरानी ड्राइव का दर्पण था।

यह सब अच्छी तरह से काम किया है, लेकिन मुझे यहाँ निर्देशों के अनुसार grub2 को अपडेट करने की आवश्यकता है

यह सब होने के बाद, चीजें काम करने लगती हैं।

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