ฉันจะย้าย (คัดลอก) ระบบ Ubuntu ทั้งหมดของฉันไปยังฮาร์ดดิสก์อื่นได้อย่างไร


57

HDD ที่ฉันติดตั้ง Ubuntu ของฉันกำลังจะล้มเหลว ฉันจะไม่สูญเสียข้อมูลการกำหนดค่าและแอพไป 3 ปี ฉันกำลังมองหาวิธีที่จะย้ายระบบทั้งหมด (รวม SWAP เพราะฉันไม่แน่ใจว่าฉันสามารถเชื่อมโยงระบบไปยังพาร์ติชัน SWAP ใหม่) ไปยัง HDD อื่นได้หรือไม่ แต่ไม่ใช่ HDD ที่สมบูรณ์ <เฉพาะพาร์ติชั่นที่มี Ubuntu ไปยังพาร์ติชันบน HDD ที่แตกต่างกัน โดยทั่วไปฉันต้องการทำสิ่งที่ฉันสามารถทำได้กับ Norton Ghost สำหรับการติดตั้ง Windows ของฉัน ฉันคิดถึงการใช้ Clonezilla แต่ฉันคิดว่าฉันจะมีปัญหากับด้วง (โดยเฉพาะอย่างยิ่งพยายามบูตจาก UUID ที่แตกต่างจากที่อยู่ในไฟล์ conf) คุณรู้วิธีนี้สามารถทำได้?

PS, ไดเรกทอรีบ้านของฉันถูกเข้ารหัส แต่นั่นไม่ใช่ปัญหาจริงๆเพราะฉันสามารถแก้ไขได้

แก้ไข: เปลี่ยนคำอธิบายเพื่อให้ชัดเจนขึ้น

คำตอบ:


30

จริงๆแล้วฉันใช้ Gparted จาก Live CD ฉันคัดลอกพาร์ติชั่นแล้ววางลงในพื้นที่ที่ไม่ได้ปันส่วนบน HDD ตัวอื่น จากนั้นฉันใช้ blkid เพื่อตรวจสอบ UUID และแก้ไขไฟล์ fstab ทำงานเหมือนจับใจ!


5
หากคุณต้องการย้ายพาร์ติชั่นภายในระบบเดียวกันไม่ว่าจะด้วยเหตุผลใด (เช่นต้องการพื้นที่เพิ่ม) คุณจะต้องเปลี่ยน UUID ของพาร์ติชั่นใหม่ก่อนที่จะทำการเปลี่ยน fstab เนื่องจากมันจะมี UUID เหมือนกับต้นฉบับ (ดูaskubuntu com / คำถาม / 1,09938 / change-hdds-uuid )
Greg Kramida

นี่คือเหตุผลเพราะฉันรัก linux
deFreitas

หากคุณกำลังเปลี่ยนไดรฟ์บูตเครื่องเก่าด้วยไดรฟ์ใหม่คุณจะต้องติดตั้งด้วงไว้ด้วย หากคุณกำลังเพิ่มไดรฟ์ใหม่หรือเปลี่ยนไดรฟ์ข้อมูลคุณไม่จำเป็นต้องทำเช่นนี้
ดาวิดซี

9

ฉันเพิ่งใช้ usb stick + ubuntu live

ฉันถ่ายโอนอูบุนตู 13.10 จาก hdd ที่ใหญ่กว่าไปเป็น ssd ที่เล็กลงและ clonezilla "พูดว่า" ไม่สามารถทำได้ด้วยวิธีนี้เนื่องจากพาร์ติชันเป้าหมายมีขนาดเล็กกว่าพาร์ติชันต้นทาง

ดังนั้นฉันจึงเริ่มต้นอูบุนตูไลฟ์ติดตั้ง hdd ทั้งสอง (ดิสก์ใหม่ถูกแบ่งพาร์ติชันก่อนหน้านี้อย่าลืมสลับ;)) และเพียง:

cd /media/ubuntu/old-hdd-uuid/

แล้ว:

sudo cp -R --preserve=all bin/ boot/ cdrom/ dev/ etc/ home/ lib/ lib32/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ /media/ubuntu/new-hdd-uuid/

ด้านบนคุณจะเห็นว่ามันเป็นเพียงการคัดลอกไดเรกทอรีทั้งหมดจากหนึ่ง hdd ไปยังอีกเรียกซ้ำด้วยสิทธิ์ทั้งหมดและสิ่งที่เก็บรักษาไว้

cd /media/ubuntu/new-hdd-uuid/

ฉันต้องสร้าง symlink สองอันในไดเรกทอรีรากของดิสก์ใหม่:

sudo ln -s boot/vmlinuz-x.xx.x-xx-generic vmlinuz
sudo ln -s boot/initrd.img-x.xx.x-xx-generic initrd.img

และขั้นตอนต่อไปคือการติดตั้งด้วงดังนั้น:

sudo grub-install --boot-directory=boot/ /dev/sdxy

โดยที่ x - อุปกรณ์, y - หมายเลขพาร์ติชัน (หากไม่แน่ใจให้ใช้ cfdisk หรือ fdisk เพื่อพิมพ์ตารางพาร์ทิชัน ... )

และขั้นตอนสุดท้ายคือการเปลี่ยน uuid ของ hdd ใหม่เป็น uuid จาก hdd เก่า (เป็นวิธีที่ง่ายที่สุดในการหลอกการตั้งค่า grub, fstab หรืออื่น ๆ โดยไม่ต้องค้นหาและแก้ไขการกำหนดค่า)

sudo tune2fs /dev/sdxy -U OLD-UUID

UUID ใหม่จะแสดงหลังจากการประกอบอุปกรณ์ใหม่ ดังนั้นตอนนี้เริ่มต้นใหม่และถ้าทุกอย่างโอเค Ubuntu ของคุณควรเริ่ม


4

คุณสามารถทำได้โดยใช้ dd สำหรับข้อมูลที่สมบูรณ์ตรวจสอบเว็บไซต์

โคลนฮาร์ดไดรฟ์โดยใช้ Ubuntu Live CD

คำเตือน ddเป็นเครื่องมือระดับต่ำที่ทรงพลังมากและแม้แต่ตัวพิมพ์เล็ก ๆ เพียงตัวเดียวก็เพียงพอที่จะล้างดิสก์ทั้งหมด โปรดใช้ความระมัดระวังอย่างมากและพยายามใช้เครื่องมือระดับสูงกว่านี้หากเป็นไปได้
โปรดทราบด้วยว่าวิธีนี้จะใช้งานได้หากดิสก์เป้าหมายของคุณมีขนาดเท่ากันหรือใหญ่กว่า


การโคลนฮาร์ดไดรฟ์เป็นงานบำรุงรักษาทั่วไป อย่ากังวลกับการเบิร์น CD สำหรับบูตใหม่หรือซื้อซอฟต์แวร์ใหม่ - คุณสามารถทำได้อย่างง่ายดายด้วย Ubuntu Live CD

ไม่เพียง แต่คุณสามารถทำได้ด้วย Ubuntu Live CD ของคุณคุณสามารถทำได้ทันทีไม่ต้องใช้ซอฟต์แวร์เพิ่มเติม! โปรแกรมที่เราจะใช้เรียกว่า dd และมันรวมอยู่ในลีนุกซ์ทุกรุ่น dd เป็นยูทิลิตี้ที่ใช้ในการทำสำเนาในระดับต่ำ - แทนที่จะทำงานกับไฟล์มันทำงานโดยตรงกับข้อมูลดิบบนอุปกรณ์เก็บข้อมูล

คุณยังสามารถใช้:

Clonezilla ซอฟต์แวร์โคลนฮาร์ดไดรฟ์ฟรี Clonezilla ทำงานจากซีดีสดและมีส่วนต่อประสานผู้ใช้ที่เรียบง่าย คุณจะต้องระวังสิ่งที่คุณกำลังทำอยู่ แต่เครื่องมือนี้สามารถทำให้งานของคุณง่ายขึ้นอย่างมากด้วยการแยกย่อยทีละขั้นตอน

คุณสามารถดาวน์โหลด Clonezilla ได้ที่นี่

คำเตือนตรวจสอบให้แน่ใจว่าคุณได้ตรวจสอบข้อ จำกัด ของ Clonzilla ก่อนที่จะเริ่ม

คุณยังพูดถึงว่าคุณใช้ Ghost for windows อยู่แล้วคุณสามารถใช้Ghost for Linux ได้เช่นกัน

ที่มา: http://www.howtogeek.com/howto/19141/clone-a-hard-drive-using-an-ubuntu-live-cd/

ที่มา: http://www.makeuseof.com/tag/2-methods-to-clone-your-linux-hard-drive/


วววววววววววววววววววววววววววววววววววววววววจะจะไม่ เช่นเดียวกับใน sudo dd ของ = / dev / sdb3 ของ = / dev / sda2
boywithaxe

การให้ไดรฟ์ทั้งสองมีขนาดที่แน่นอนเหมือนกัน และคำสั่งอยู่ในกรณีของคุณdd if = / dev / sd3 of = / dev / sd2
Mitch

ขอบคุณอย่างไรก็ตามพาร์ติชันอยู่บนไดรฟ์ฟิสิคัลที่แตกต่างกันสองตัวคือ / dev / sda และ / dev / sdb จะไม่ใช้ sd3 และ sd2 เป็น descriptors คัดลอกภายในไดรฟ์ทางกายภาพหรือไม่
boywithaxe

ไดรฟ์ไม่จำเป็นต้องมีขนาดเท่ากันความต้องการเพียงอย่างเดียวคือไดรฟ์ที่คุณกำลังคัดลอกข้อมูลไปนั้นใหญ่กว่าไดรฟ์ที่ถูกคัดลอก
Bruno Pereira

1
ddrescueจะเป็นตัวเลือกที่ดีกว่าที่นี่เนื่องจากฮาร์ดดิสก์มีข้อผิดพลาด
Ciro Santilli 事件改造中心法轮功六四事件

4

บางปีที่ผ่านมาผมใช้ประสบความสำเร็จเครื่องมือนี้ในการ "โคลน" พาร์ทิชันของฉัน: G4L ทุกอย่างทำงานร่วมกับการแก้ไขหลังการติดตั้งบางอย่างเช่นการปรับขนาดพาร์ติชั่น (ฉันโคลนพาร์ติชั่นบน HD ขนาดต่าง ๆ ) และการติดตั้งด้วง (มันค่อนข้างง่ายคุณต้องมีซีดีสด

คุณสามารถละเว้นการสลับพาร์ติชั่นได้อย่างปลอดภัย (คุณจะสามารถกู้คืนมันได้ในครั้งที่สอง) หรือทำการโคลนนิ่งมันและเปิดใช้งานในภายหลังแก้ไขด้วยตนเอง/etc/fstabหรือจากบรรทัดคำสั่ง

ในสัปดาห์ที่ผ่านมาฉันได้โคลนอีกครั้งด้วย clonezilla และทุกอย่างก็โอเคกับการแก้ไขโพสต์โคลนนิ่งเดียวกัน ดังนั้นไม่ต้องกังวลและให้พวกเขาลองไม่มีอะไรใน HD ดั้งเดิมของคุณจะได้สัมผัส!

แก้ไข:

ฉันพบจดหมายเก่าที่ฉันอธิบายกระบวนการโคลนครั้งแรก ฉันทำหน้าที่ดังต่อไปนี้:

  • แบ่งพาร์ติชัน HD ใหม่ของฉันผ่านทาง USB ตรงกับอันเก่า
  • โคลนพาร์ติชันในโหมด raw ด้วย G4L
  • บูตด้วย Live CD และทำการปรับขนาดพาร์ติชันด้วย resize2fs
  • ตัดการเชื่อมต่อ HD จาก USB และเชื่อมต่อกับ SATA / PATA
  • บูตอีกครั้งด้วย Live CD และติดตั้งดิสก์ใหม่:

    mkdir disk
    mount /dev/sda1 disk        (where sda1 contains boot and root partitions)
    mount /dev/sda2 disk/boot   (if you have a different boot partition) 
    mount --bind /dev/ disk/dev/
    mount -t proc none disk/proc
    chroot disk /bin/bash
    grub-install /dev/sda       (to install GRUB on sda MBR)
    
  • รีสตาร์ทตรวจสอบการแลกเปลี่ยน

  • สนุก

3

@boywithaxe - เกี่ยวกับความคิดเห็นของคุณของมิทช์ คำตอบที่dd if=/dev/sdb3 of=/dev/sda3คุณสามารถแน่นอนเพียงคัดลอกพาร์ทิชันที่เกี่ยวข้องโดยการทำ นั่นคือส่วนที่ง่ายที่สุด ส่วนที่ยุ่งยากที่สุดคือคุณจะต้องติดตั้งพาร์ติชั่นที่คัดลอกใหม่รวมถึงพาร์ติชั่นอื่น ๆ อีกสองสามตัวและติดตั้งด้วง ( grub-install /dev/sda) ( และเพิ่มพาร์ทิชัน swap ก่อนที่คุณจะทำการบูทใหม่ การใช้วิธีนี้ไม่จำเป็นต้องทำresize2fsเช่นกัน

ฉันมีเพียงแค่มีการทำเช่นนี้ตัวเองและฉันใช้การรวมกันของการซ่อมแซม Boot หลังจากอัพเกรด Windows บน Ubuntu 14.04 (Non-RAID)และดอกมะลิ คำตอบ

ดังนั้นหลังจากบูตจาก liveCD:

dd if=/dev/sdb3 of=/dev/sda3

เมื่อทำเสร็จแล้ว

sudo mount /dev/sda3 /mnt 

โดยที่ sda3 มีการบูตและพาร์ทิชันที่คัดลอกล่าสุด)

sudo mount --bind /dev/ /mnt/dev/

sudo mount -t /proc none /mnt/proc

sudo chroot /mnt

sudo grub-install /dev/sda 

โปรดทราบว่านี่คือ sda ไม่ใช่sda3

update-grub

exit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.