ย้ายการติดตั้ง Linux ทั้งหมดไปยังไดรฟ์อื่น


55

ฉันมี Ubuntu 14.04 พร้อมแพ็คเกจจำนวนมากและสิ่งที่เกี่ยวข้องกับงานที่ฉันมีความสุขมาก มันถูกติดตั้งบนไดรฟ์ SSD หลักของฉันซึ่งเป็น 120GB หนึ่งตัว (ฉันเลือก "/" เมื่อฉันติดตั้ง Ubuntu ดังนั้นฉันเชื่อว่าทุกอย่างควรอยู่ในไดรฟ์นี้) มันแสดงให้เห็นเป็น / dev / sda

ตอนนี้ฉันได้เพิ่ม SSD อีกตัวในคอมพิวเตอร์ของฉันซึ่งเป็น 240Gb ฉันไม่มีสื่อบันทึกข้อมูลอื่น ๆ ในขณะนี้ (เช่นฮาร์ดไดรฟ์ภายนอก)

เนื่องจากไดรฟ์ 240GB ใหม่มีความจุที่ชัดเจนกว่าและเร็วกว่า (รุ่นใหม่กว่า 120GB ของฉัน) ฉันต้องการย้าย Linux ไปยังไดรฟ์ใหม่นี้ ไดรฟ์ใหม่นี้แสดงเป็น / dev / sdb และในขณะนี้ยังไม่ได้ฟอร์แมตหรืออะไร (ฉันได้แกะกล่องและใส่ลงในเครื่อง PC ทันที: P)

ฉันจะย้ายการติดตั้ง linux ไปยังไดรฟ์ใหม่ได้อย่างไร

ฉันสามารถเปลี่ยนสายเคเบิล SATA เพื่อให้ไดรฟ์ใหม่แสดงเป็น / dev / sda หากจำเป็น

นี่คือผลลัพธ์ของ "fdisk -l" หากช่วยได้:

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00076d7a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   226064383   113031168   83  Linux
/dev/sda2       226066430   234440703     4187137    5  Extended
Partition 2 does not start on physical sector boundary.
/dev/sda5       226066432   234440703     4187136   82  Linux swap / Solaris

Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

4
ดูเหมือนว่าคุณกำลังวางแผนที่จะใช้ทั้งสองอย่างตอนนี้ ถ้าเป็นเช่นนั้นคุณควรพิจารณาใช้ตัวใหม่ที่ใหญ่กว่า/homeแทนทั้งระบบ มันควรจะเป็นการเปลี่ยนแปลงที่ง่ายขึ้น (เพียงแค่เลื่อนทุกอย่างไปและเพิ่มบรรทัดเดียวไปที่ / etcs / fstab) และไฟล์ขนาดใหญ่ส่วนใหญ่มีแนวโน้มที่จะเข้าสู่โฮมไดเร็กตอรี่ของคุณ (และบนดิสก์ขนาดใหญ่)
Kevin

เป็นไปได้ที่ซ้ำกันของวิธีย้าย Ubuntu ไปยัง SSD
David Foerster

คำตอบ:


35

คุณสามารถใช้CLONEZILLAเพื่อจุดประสงค์นี้

Clonezilla เป็นพาร์ติชั่นฟรีและเครื่องมือสร้างภาพ / การโคลนดิสก์ซึ่งสามารถใช้เพื่อสำรองข้อมูลทั้งหมดของคุณ (ทั้งดิสก์หรือพาร์ติชั่น) ด้วยวิธีการบีบอัดสูง นี่เร็วกว่าการติดตั้งระบบปฏิบัติการเกือบทุกครั้ง

  • ดาวน์โหลดISO Clonezilla เสถียร หรือดาวน์โหลดโดยตรง clonezilla-live-2.4.6-25-amd64.iso

  • ทำให้บูต (สด) USB ใช้Tuxboot 7.0

  • บูตจากสื่อบันทึก Clonezilla ที่สร้างขึ้น

  • ตอนนี้คุณมีตัวเลือกมากมาย:

    1. สร้างภาพเพียง '/' (ส่วนที่บันทึก) และโคลนไปยังพาร์ติชันของ SDD อื่น ๆ ของคุณ
    2. สร้างอิมเมจของดิสก์แบบเต็ม (บันทึกแล้ว) และโคลนไปยัง SSD ใหม่ของคุณ

ป้อนคำอธิบายรูปภาพที่นี่

ในกรณีของคุณคุณสามารถใช้ตัวเลือก "อุปกรณ์อุปกรณ์" ด้วย แต่ฉันไม่คุ้นเคยกับมัน

คุณสามารถค้นหาคำแนะนำโดยละเอียดเกี่ยวกับ Clonezilla ได้ที่นี่: http://clonezilla.org


1
ฉันขอแนะนำให้คุณดูวิดีโอแนะนำการใช้งานทั้งสองนี้ก่อน: youtube.com/watch?v=41tTudaQb0Iและyoutube.com/watch?v=LS6VhLDw-io
Severus Tux

1
นี่ก็เป็นตัวเลือกที่ดี แต่ฉันขี้เกียจเกินไปที่จะสร้างแท่ง clonezilla ;-)
Pilot6

ฉันพบว่า clonezilla ไม่ได้คัดลอก mbr ดังนั้นภาพดิสก์ทั้งหมดและการทำงานกับ gparted ควรทำเคล็ดลับ
adampski

1
ว้าว! ดีใจที่ได้ยินสิ่งนี้ ;-) เวลาบูตเป็นเพราะ UUID ที่เปลี่ยนไปคือ UUID ใหม่และเก่าของพาร์ติชั่นสำคัญ (home, Swap) ของคุณได้ถูกลบ เพื่อแก้ไขปัญหานี้โปรดทำตามคำแนะนำที่ระบุไว้พร้อมกับการเปลี่ยนแปลงที่เหมาะสม : askubuntu.com/a/737340/497359หากคุณพบปัญหาใด ๆ โปรดแสดงความคิดเห็น
Severus Tux

1
@adampski: นี่น่าจะเป็นบั๊กใน Clonezilla 2.4.5 คุณสามารถใช้ Clonezilla 2.4.2 หรือ Clonezilla 2.4.2 Server Edition (DRBL) จนกว่าจะได้รับการแก้ไข :)
cl-netbox

40

สามารถทำได้สองสามวิธี แต่วิธีที่ง่ายที่สุดคือการคัดลอกไฟล์ทั้งหมดจากไดรฟ์เก่าไปยังไฟล์ใหม่

  1. สร้างพาร์ติชัน ext4 และพาร์ติชันสลับบนไดรฟ์ใหม่

  2. บูตจาก LiveUSB

  3. เมานต์พาร์ติชัน Ubuntu เก่ากับไดเรกทอรีบางส่วนเมานต์ใหม่ไปยังไดเรกทอรีอื่น

  4. คัดลอกไฟล์ทั้งหมดจากไฟล์เก่าไปยังไฟล์ใหม่โดยใช้cp -aคำสั่ง

  5. ติดตั้งด้วงกับไดรฟ์ใหม่

  6. อัปเดต/etc/fstabด้วย UUID ใหม่

หากบางสิ่งไม่ชัดเจนฉันสามารถเพิ่มคำอธิบายได้


1
+1 - อาจเป็นไปได้ที่จะหลีกเลี่ยงการบูตจาก LiveUSB และทำทุกอย่างในขณะที่บูตจากไดรฟ์ดั้งเดิมทำการเปลี่ยนแปลงทั้งหมดเริ่มต้นใหม่ voila
Sergey

1
@ Étienne: อย่าคัดลอกไดเรกทอรีเหล่านั้น (เช่น/dev) เพียงแค่สร้างไดรฟ์ที่ว่างเปล่าบนไดรฟ์ปลายทางและตั้งเจ้าของ / สิทธิ์เดียวกันกับพวกเขาในไดรฟ์ต้นทาง
Sergey

10
ฉันใช้: sudo rsync -a / /mnt/linux/ --exclude sys --exclude proc --exclude dev --exclude tmp --exclude media --exclude mnt --exclude run แล้ว sudo mkdir sys proc dev tmp media mnt run
Étienne

1
@ Étienneคุณช่วยแก้ไข --exclude-comment ของคุณได้ไหม หากคุณทำตามที่คุณเขียนไว้ / var / tmp ก็ถูกแยกออกเช่นกัน (ดูเหมือนฉัน) หลังจากโคลนนี่เป็นระบบที่พลาดไม่ได้โดย systemd-resolve.service ทำให้การแก้ปัญหาชื่อไม่ทำงาน ... ฉันคิดว่ามันควรจะ be --exclude / tmp --exclude / proc เป็นต้นขอบคุณ
swe

1
@ มีฉันไม่ควรแสดงความคิดเห็นโปรดเสนอให้แก้ไขคำตอบเดิม
Étienne

20

ในกรณีที่คุณมีเวลาและต้องการความปลอดภัย:

$ dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync

คำอธิบายของคำสั่ง:

  • ifคืออินพุตofปลายทาง
  • bsกำหนดขนาดบล็อก มันคือขนาดของ chunks dd ที่จะอ่านและเขียนขนาด chunk ที่สูงกว่ามักจะหมายถึงประสิทธิภาพที่สูงขึ้น แต่ยังมีความเสียหายของข้อมูลมากขึ้นถ้าดิสก์อินพุตมีข้อผิดพลาดดูที่นี่: archwiki on dd
  • noerror ยังคงอยู่ในข้อผิดพลาด r / w
  • sync ซิงโครไนซ์ออฟเซ็ตหากเกิดข้อผิดพลาด

สิ่งนี้จะสร้างอิมเมจดิสก์ sda ของคุณและเขียนลงบน sdb (รูปแบบพาร์ติชั่นเดียวกันเป็นต้น) แน่นอนว่าสิ่งนี้จะเขียนทั้ง 120GB เป็นไฟล์ไม่เชื่อเรื่องพระเจ้า ปลอดภัยมาก แต่ไม่ใช่วิธีที่เร็วที่สุดหากคุณใช้เพียงส่วนเล็ก ๆ ของดิสก์ อย่างไรก็ตามหากดิสก์อินพุตค่อนข้างเต็มอาจจะเร็วกว่า

แต่:

  • หลังจากนั้นคุณอาจต้องการปรับขนาดพาร์ติชันมิฉะนั้นคุณจะไม่สามารถใช้ประโยชน์จากพื้นที่พิเศษได้
  • ไม่ว่าในกรณีใด ๆ ก็อาจจำเป็นต้องแก้ไขไฟล์ / etc / fstab
    นี่เป็นกรณีที่ Hardware-ID ถูกใช้เพื่อรับรู้ดิสก์

2
ddคำสั่งของคุณจะทำงานตลอดไป พิจารณาเพิ่มbs=1Mเข้าไปในมัน
Dmitry Grigoryev

Afaik blocksize ไม่จำเป็นต้องเป็น 1M สำหรับ SSD แต่ฉันจะค้นหาข้อมูลนี้และอัปเดต
larkey

ข้อ จำกัด ไม่ได้อยู่ในเทคโนโลยี SSD แต่เป็นbsค่าเริ่มต้นซึ่งคือ 512 ไบต์
Dmitry Grigoryev

1
คำตอบที่ขยายด้วย bs ขอบคุณสำหรับ heads-up
larkey

1
ขอบคุณสำหรับคำตอบโดยละเอียด ... ฉันเรียนรู้บางสิ่ง! แต่ฉันตัดสินใจไปกับ clonezilla และปรับขนาดพาร์ติชันภายหลัง
Saeid87

5

วิธีที่ฉันทำเมื่อเปลี่ยนเป็น HDD ใหม่คือ:

  • สร้างเลย์เอาต์พาร์ติชั่นที่ฉันต้องการในไดรฟ์ใหม่
  • บูตจาก Live CD / USB หรือติดตั้งช่วยเหลือ ฯลฯ
  • ติดตั้งพาร์ติชันฮาร์ดดิสก์เก่าที่จะคัดลอกไปพูด /mnt/a
  • ระบุพาร์ติชันฮาร์ดดิสก์ใหม่เพื่อรับไฟล์พูด /mnt/b
  • cp -aหรือใช้ tar เพื่อคัดลอกไฟล์จาก/mnt/aไปยัง/mnt/b
  • ติดตั้งบูตโหลดเดอร์ (lilo หรือด้วง) บนดิสก์ใหม่¹
  • อัปเดต/etc/fstab(คุณอาจต้องการใช้blkidเพื่อระบุ UUID ใหม่)
  • รีบูตและทดสอบว่าทุกอย่างเรียบร้อยดี

Note¹:

ตรวจสอบฮาร์ดดิสก์และพาร์ติชันทั้งหมดโดยใช้คำสั่งต่อไปนี้:

sudo fdisk -l 

ตอนนี้จดพาร์ติชันที่ติดตั้ง Ubuntu ซึ่งจะมีลักษณะดังนี้: /dev/sda1

เมานต์พาร์ติชันที่คุณต้องการติดตั้ง GRUB 2 (พาร์ติชันฮาร์ดดิสก์) และระบบไฟล์จะปรากฏใน Nautilus ตอนนี้เราต้องติดตั้งพาร์ติชั่นฮาร์ดดิสก์ที่ถูกต้องเพื่อทำการเปลี่ยนแปลงกับฮาร์ดดิสก์จริง MBR เพื่อที่เราจะต้อง:

sudo mount /dev/sda1 /mnt
mount

ตอนนี้เมาท์พาร์ติชันไปยังตำแหน่งอื่น

sudo mount /dev/sda1 /mnt/boot

สร้างลิงค์ที่ไม่สามารถแตกได้จาก/devโฟลเดอร์บนภาพสดที่คุณบูตจากไปยัง/devโฟลเดอร์ในพาร์ติชันที่คุณกำหนดให้/mnt

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

ตอนนี้เราต้องเปลี่ยนรูทจากไลฟ์ซีดีรูท (/) เป็นรูทของพาร์ติชั่นที่เมาท์

sudo chroot /mnt

ตอนนี้คุณอยู่ในรูทเชลล์ใหม่ซึ่งพาร์ติชันที่เมาท์เป็นรูทใหม่ คุณสามารถตรวจสอบการพิมพ์lsนี้ เนื่องจากเราอยู่ในพาร์ติชั่นที่ติดตั้งอยู่ตอนนี้เราสามารถไปข้างหน้าและติดตั้ง GRUB 2 ได้:

sudo grub-install /dev/sda 

การติดตั้งควรเสร็จในตอนนี้โดยไม่มีข้อผิดพลาด

ออกจาก CHROOT shell ของคุณโดยพิมพ์exitหรือกดCtrl+ D ซึ่งนำคุณกลับไปที่ Live CD / USB Shell

ถอนติดตั้งพาร์ติชั่นที่เราติดตั้งก่อนเพื่อให้รีบูตใหม่ทั้งหมด:

sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt

และรีบูตหลังจากลบ Live CD หรือ USB Stick เพื่อบู๊ตจากฮาร์ดดิสก์:

sudo reboot

แหล่ง


@ baobab33: คุณได้รับอนุญาตให้คัดลอกคำแนะนำวางไว้ที่นี่ในไซต์นี้จากนั้นจึงระบุแอตทริบิวต์ คุณไม่ได้รับอนุญาตให้เพียงลิงก์ไปยังแหล่งข้อมูลภายนอก โปรดอัปเดตแหล่งที่มาด้วยการแก้ไขข้างต้น
Fabby

4

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

มีเมนูให้เพื่อช่วยคุณเลือกพาร์ติชันที่ถูกต้องเพื่อโคลน โคลนจากพาร์ติชั่นคือพาร์ติชั่นที่บูทปัจจุบันของคุณ.

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

สคริปต์เต็มสามารถพบได้ที่นี่: สคริปต์ทุบตีเพื่อโคลน Ubuntu ไปยังพาร์ติชันใหม่สำหรับการทดสอบการอัพเกรด 18.04 LTSและนี่คือหน้าจอที่มีลักษณะ:

โคลน ubuntu.png


0

ฉันตัดสินใจทำการทดลองที่เกี่ยวข้องกับโพสต์นี้

ฉันได้รับ Lenovo ThinkCentre มันมี SSD ขนาด 256 GB และ HDD 1 TB (แบบสปินเนอร์ - เร็ว แต่ไม่เร็วเท่า SSD)

เมื่อฉันติดตั้ง Linux Mint 19.2 (LM19.2) มันจะติดตั้งลงในไดรฟ์ 1 TB SSD ไม่สามารถกู้คืนได้และฉันซื้อ Kingston 240 GB SSD ตัวใหม่

ฉันกำลังจะติดตั้ง LM19.2 บน SSD ใหม่ แต่ดูเหมือนว่าจะต้องมีวิธีถ่ายโอนอิมเมจ LM19.2 ที่พัฒนาแล้วของฉันจากไดรฟ์ 1 TB ไปยัง SSD ใหม่

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

  1. ฉันใช้ GParted เพื่อสร้างตารางพาร์ติชันและพาร์ติชันบน SSD ที่เป็นประเภทเดียวกับที่อยู่บน HDD 1 TB
  2. ฉันทำสแน็ปช็อต TimeShift (เครื่องมือใหม่ใน Ubuntu / Linux Mint) ทุกอย่างบน LM19.2 1 TB HDD
  3. ฉันกู้คืนสแน็ปช็อตนั้นไปยัง SSD
  4. เมื่อขั้นตอนข้างต้นเสร็จสมบูรณ์ (คุณสามารถทำ 1 ในแบบคู่ขนานกับ 2 และ 3) ฉันเริ่มระบบใหม่เพื่อให้แน่ใจว่าจะเลือก SSD
  5. สิ่งเดียวที่แปลกในระหว่างการรีบู๊ตคือหน้าจอด้วงเริ่มต้นถามว่าฉันต้องการบูตกับ Ubuntu หรือไม่ ฉันคิดว่านี่เป็นเรื่องแปลกสำหรับการฟื้นฟู TimeShift และมันก็เป็นเช่นนั้น
  6. การสตาร์ทอัพครั้งต่อมาจะบู๊ตด้วย LM19.2 ตามปกติ
  7. ฉันจะแก้ไขคำตอบนี้เมื่อฉันตรวจสอบแล้วว่าฉันสามารถทำสิ่งนี้ได้ด้วยไดรฟ์ใหม่ที่ห้อยอยู่นอกพีซี (และดูเหมือนว่าจะใช้ได้) เพราะนี่หมายความว่าฉันสามารถทำซ้ำเครื่อง LM ได้อย่างรวดเร็ว เพื่อฮาร์ดแวร์ใหม่

ความเร็วในการบูตเพียงอย่างเดียวทำให้ขั้นตอนง่าย ๆ เหล่านี้คุ้มค่ากับความพยายาม แม้แต่การโอนย้าย Dropbox ก็ดีฉันแค่ต้องการให้ฉันเข้าสู่ระบบอีกครั้งและใช้เวลาเต็มในการสร้างดัชนีไฟล์ แต่มันก็ใช้งานได้ดี

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