Di chuyển toàn bộ cài đặt Linux sang ổ đĩa khác


55

Tôi có Ubuntu 14.04 với rất nhiều gói và những thứ liên quan đến công việc mà tôi rất hài lòng với nó. Nó được cài đặt trên ổ SSD chính của tôi, ổ cứng 120 GB (tôi đã chọn "/" khi tôi cài đặt Ubuntu, vì vậy tôi tin rằng mọi thứ nên có trên ổ đĩa này). Nó hiện lên dưới dạng / dev / sda

Bây giờ tôi đã thêm một ổ SSD khác vào máy tính của mình, đó là 240Gb. Hiện tại tôi không có phương tiện lưu trữ nào khác (ví dụ như ổ cứng ngoài).

Vì ổ đĩa 240 GB mới rõ ràng có dung lượng lớn hơn và nhanh hơn (thế hệ mới hơn ổ 120 GB của tôi), tôi muốn chuyển Linux của mình sang ổ đĩa mới này. Ổ đĩa mới này hiển thị dưới dạng / dev / sdb và tại thời điểm này nó không được định dạng hoặc bất cứ thứ gì (tôi đã được giải nén và chèn vào PC ngay bây giờ: P)

Làm thế nào tôi có thể di chuyển cài đặt linux của mình sang ổ đĩa mới một cách an toàn?

Tôi có thể thay đổi cáp SATA để ổ đĩa mới hiển thị là / dev / sda nếu cần.

Đây là đầu ra của "fdisk -l" nếu điều đó giúp:

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
Có vẻ như bạn đang dự định sử dụng cả hai ngay bây giờ. Nếu vậy, bạn nên xem xét chỉ sử dụng cái mới hơn, lớn hơn /homethay vì toàn bộ hệ thống. Nó sẽ là một thay đổi dễ dàng hơn (chỉ cần di chuyển mọi thứ và thêm một dòng vào / etcs / fstab), và hầu hết các tệp lớn có thể đi vào thư mục chính của bạn (và cứ thế vào đĩa lớn hơn).
Kevin

Bản sao có thể có của Cách chuyển Ubuntu sang SSD
David Foerster

Câu trả lời:


35

Bạn có thể sử dụng CLONEZILLA cho mục đích này.

Clonezilla là một công cụ sao chép / sao chép đĩa miễn phí và có thể được sử dụng để sao lưu tất cả dữ liệu của bạn (toàn bộ đĩa hoặc phân vùng) theo cách nén cao và sau đó sao chép nó vào đĩa cứng của bạn để đưa nó vào tình trạng chính xác. Điều này nhanh hơn so với việc cài đặt hệ điều hành hầu hết các lần.

  • Tải xuống Clonezilla ổn định ISO hoặc Tải xuống trực tiếp clonezilla-live-2.4.6-25-amd64.iso

  • Tạo USB có thể khởi động (Live) bằng cách sử dụng Tuxboot 7.0 .

  • Khởi động từ phương tiện Clonezilla đã tạo.

  • Bây giờ bạn có nhiều lựa chọn:

    1. Tạo một hình ảnh chỉ '/' (saveparts) và sao chép nó vào bất kỳ phân vùng nào của SDD khác của bạn.
    2. Tạo một hình ảnh của đĩa đầy đủ (bộ lưu trữ) và sao chép nó vào ổ SSD mới của bạn.

nhập mô tả hình ảnh ở đây

Trong trường hợp của bạn, bạn cũng có thể sử dụng tùy chọn "thiết bị-thiết bị", nhưng tôi không quen với nó.

Bạn có thể tìm thấy một hướng dẫn chi tiết về Clonezilla tại đây: http://clonezilla.org


1
Tôi khuyên bạn nên xem hai video hướng dẫn này trước: youtube.com/watch?v=41tTudaQb0Iyoutube.com/watch?v=LS6VhLDw-io
Severus Tux

1
Đây cũng là một lựa chọn tốt. Nhưng tôi quá lười để tạo ra thanh clonezilla ;-)
Pilot6

Tôi thấy clonezilla đã không sao chép qua mbr nên toàn bộ hình ảnh đĩa và một chút hoạt động với gparted nên thực hiện thủ thuật
adampski

1
ồ rất vui khi biết điều này ;-), Thời gian khởi động, Đó là do các UUID đã thay đổi, nghĩa là các UUID mới và các phân vùng cũ của các phân vùng quan trọng của bạn (nhà, Hoán đổi) đã bị chặn. Để khắc phục điều này, xin vui lòng làm theo các hướng dẫn được đưa ra ở đây với các thay đổi phù hợp : askubfox.com/a/737340/497359 Nếu bạn tìm thấy bất kỳ vấn đề, xin vui lòng nhận xét nó.
Severus Thục

1
@adampski: Đây dường như là một lỗi trong Clonezilla 2.4.5. Như một giải pháp thay thế, bạn có thể sử dụng Clonezilla 2.4.2 hoặc Clonezilla 2.4.2 Server Edition (DRBL) cho đến khi nó được sửa. :)
cl-netbox

40

Nó có thể được thực hiện theo một vài cách. Nhưng cách dễ nhất là chỉ sao chép tất cả các tệp từ ổ đĩa cũ sang ổ đĩa mới.

  1. Tạo phân vùng ext4 và phân vùng trao đổi trên ổ đĩa mới.

  2. Khởi động từ LiveUSB.

  3. Gắn phân vùng Ubuntu cũ vào một thư mục nào đó, gắn cái mới vào một thư mục khác.

  4. Sao chép tất cả các tệp từ tệp cũ sang tệp mới bằng cp -alệnh.

  5. Cài đặt grub vào ổ đĩa mới .

  6. Cập nhật /etc/fstabvới UUID mới.

Nếu một cái gì đó không rõ ràng, tôi có thể thêm một số giải thích.


1
+1 - cũng có thể tránh khởi động từ LiveUSB và làm mọi thứ trong khi khởi động từ ổ đĩa gốc, thực hiện tất cả các thay đổi, khởi động lại, voila.
Sergey

1
@ Étienne: Không sao chép các thư mục đó (cũng /dev), chỉ cần tạo các thư mục trống trên ổ đĩa đích và đặt cùng chủ sở hữu / quyền trên chúng như trên ổ đĩa nguồn.
Serge

10
Tôi đã kết thúc bằng cách sử dụng: sudo rsync -a / /mnt/linux/ --exclude sys --exclude proc --exclude dev --exclude tmp --exclude media --exclude mnt --exclude run sau đó sudo mkdir sys proc dev tmp media mnt run
Étienne

1
@ Étienne bạn có thể vui lòng chỉnh sửa --exclude-bình luận của bạn? Nếu bạn làm như bạn đã viết, / var / tmp cũng bị loại trừ (dường như đối với tôi), sau khi bản sao này bị bỏ lỡ bởi systemd-yet.service dẫn đến việc phân giải tên không hoạt động ... Tôi nghĩ rằng nó nên hoạt động be --exclude / tmp --exclude / Proc, v.v ... Cảm ơn
swe

1
@swe Tôi không nên duy trì một bình luận, thay vào đó hãy đề xuất một chỉnh sửa cho câu trả lời ban đầu.
Étienne

20

Trong trường hợp bạn có một chút thời gian và muốn đi an toàn:

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

Giải thích về lệnh:

  • iflà đầu vào, ofđích đến
  • bsđặt kích thước khối. Đó là kích thước của các khối dd sẽ đọc và ghi. Kích thước khối cao hơn thường có nghĩa là hiệu suất cao hơn nhưng cũng bị hỏng dữ liệu hơn nếu đĩa đầu vào có lỗi, xem tại đây: archwiki trên dd
  • noerror tiếp tục trong r / w-lỗi.
  • sync đồng bộ hóa các offset nếu xảy ra lỗi.

Điều này về cơ bản sẽ tạo ra một hình ảnh của đĩa sda của bạn và ghi nó lên sdb (cùng bố cục phân vùng, v.v.) Tất nhiên, điều này sẽ ghi toàn bộ 120GB dưới dạng không tin tưởng tệp. Do đó rất an toàn, nhưng không phải là nhanh nhất, nếu bạn chỉ sử dụng các phần nhỏ của đĩa. Tuy nhiên, nếu đĩa đầu vào khá đầy, nó thậm chí có thể nhanh hơn.

NHƯNG:

  • Sau đó, bạn có thể muốn thay đổi kích thước các phân vùng vì nếu không, bạn không thể tận dụng thêm không gian.
  • Trong mọi trường hợp có thể cần phải chỉnh sửa tệp / etc / fstab.
    Đây là trường hợp nếu ID phần cứng được sử dụng để nhận dạng đĩa.

2
ddLệnh của bạn sẽ chạy mãi mãi. Cân nhắc thêm bs=1Mvào nó
Dmitry Grigoryev

Afaik chặn kích thước không cần 1M trên SSD nhưng tôi sẽ tìm kiếm và cập nhật
larkey

Giới hạn không nằm ở công nghệ SSD, nhưng ở bsgiá trị mặc định là 512 byte.
Dmitry Grigoryev

1
câu trả lời mở rộng với bs, cảm ơn vì đã ngẩng cao đầu
larkey

1
Cảm ơn câu trả lời chi tiết ... Tôi đã học được một số thứ! nhưng tôi đã quyết định đi với clonezilla và thay đổi kích thước các phân vùng sau đó.
Saeid87

5

Cách tôi làm khi chuyển sang ổ cứng mới là:

  • tạo bố cục phân vùng tôi muốn trên ổ đĩa mới
  • khởi động từ Live CD / USB hoặc cài đặt, cứu v.v.
  • gắn (các) phân vùng đĩa cứng cũ sẽ được sao chép vào /mnt/a
  • gắn (các) phân vùng đĩa cứng mới để nhận tệp /mnt/b
  • cp -ahoặc sử dụng tar để sao chép các tập tin từ /mnt/ađến/mnt/b
  • cài đặt bộ nạp khởi động (lilo hoặc grub) trên đĩa mới ¹
  • cập nhật /etc/fstab(bạn có thể muốn sử dụng blkidđể xác định UUID mới)
  • khởi động lại và kiểm tra nếu mọi thứ đều ổn

Lưu ý:

Kiểm tra tất cả các đĩa cứng và phân vùng bằng lệnh sau:

sudo fdisk -l 

Bây giờ hãy lưu ý phân vùng, trên đó Ubuntu được cài đặt sẽ trông như thế nào: /dev/sda1

Gắn kết phân vùng nơi bạn cần cài đặt GRUB 2 (Phân vùng đĩa cứng) và hệ thống tệp xuất hiện trong Nautilus. Bây giờ chúng ta phải gắn phân vùng đĩa cứng chính xác để thay đổi MBR đĩa cứng thực tế. Cho rằng chúng ta cần phải:

sudo mount /dev/sda1 /mnt
mount

Bây giờ gắn kết phân vùng đến một vị trí thay thế

sudo mount /dev/sda1 /mnt/boot

Tạo một liên kết không thể phá vỡ từ /devthư mục trên hình ảnh trực tiếp mà bạn đã khởi động từ /devthư mục trên phân vùng bạn đã gắn kết/mnt

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

Bây giờ chúng ta phải thay đổi gốc từ gốc CD trực tiếp (/) sang gốc của phân vùng được gắn

sudo chroot /mnt

Bây giờ bạn đang ở trong một vỏ gốc mới, trong đó phân vùng được gắn kết là gốc mới. Bạn có thể xác minh cách gõ này ls. Vì hiện tại chúng tôi đang ở trong phân vùng được gắn kết, chúng tôi có thể tiếp tục và cài đặt GRUB 2:

sudo grub-install /dev/sda 

Cài đặt sẽ hoàn tất ngay bây giờ, không có lỗi

Thoát khỏi vỏ CHROOT của bạn, bằng cách nhập exithoặc nhấn Ctrl+ D sẽ đưa bạn trở lại Live CD / USB Shell

Ngắt kết nối các phân vùng chúng tôi đã gắn trước đó để có một khởi động lại sạch:

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

và khởi động lại sau khi gỡ Live CD hoặc USB Stick để khởi động từ Đĩa cứng:

sudo reboot

Nguồn


@ baobab33: Bạn được phép sao chép-dán hướng dẫn ở đây vào trang web này và sau đó thuộc tính. Bạn không được phép chỉ liên kết với nguồn bên ngoài. Xin vui lòng cập nhật nguồn với sửa chữa ở trên.
Fabby

4

Không giống như các câu trả lời khác, điều này cho phép bạn sao chép cài đặt Linux và thêm nó vào menu Grub với các cài đặt hiện tại của bạn còn nguyên vẹn. Ngoài ra, nó tự động sửa đổi /etc/fstabcho bạn và cập nhật grubmenu khởi động.

Một menu được cung cấp để giúp bạn chọn phân vùng chính xác để sao chép. Bản sao từ phân vùng là phân vùng khởi động hiện tại của bạn.

rsyncđược sử dụng cho tốc độ tối ưu nếu bạn chọn đóng lại phân vùng. Điều này có lợi nếu nâng cấp thất bại, bạn chờ sửa lỗi và muốn chạy lại nâng cấp. Tương tự như vậy, bạn có thể đã chọn sai tùy chọn trong quá trình nâng cấp và muốn làm lại.

Tập lệnh đầy đủ có thể được tìm thấy ở đây: Tập lệnh Bash để sao chép Ubuntu sang phân vùng mới để thử nghiệm nâng cấp 18.04 LTS và đây là màn hình trông như sau:

clone-ub Ubuntu.png


0

Tôi quyết định làm một thí nghiệm liên quan đến bài đăng này.

Tôi đã mua một chiếc Lenovo ThinkCentre. Nó có ổ SSD 256 GB và ổ cứng 1 TB (loại spinner - nhanh, nhưng không nhanh bằng ổ SSD).

Khi tôi cài đặt Linux Mint 19.2 (LM19.2), nó đã cài đặt nó trên ổ đĩa 1 TB. SSD cuối cùng không thể phục hồi và tôi đã mua một ổ SSD 240 GB mới của Kingston.

Tôi đã định cài đặt LM19.2 lên ổ SSD mới, nhưng dường như phải có cách chuyển hình ảnh LM19.2 được phát triển tốt của tôi từ ổ 1 TB sang ổ SSD mới.

Tôi tìm thấy bài đăng này, và trong khi có một số lời khuyên chắc chắn ở trên, tôi đã ở trong một chế độ để thử nghiệm. Dưới đây là một tài khoản về những gì tôi đã làm, và nó hoạt động RẤT tốt.

  1. Tôi đã sử dụng GParted để tạo bảng phân vùng và phân vùng trên ổ SSD cùng loại với loại trên ổ cứng 1 TB.
  2. Tôi đã thực hiện ảnh chụp nhanh TimeShift (công cụ mới trong Ubuntu / Linux Mint) của MỌI THỨ trên ổ cứng LM19.2 1 TB.
  3. Tôi đã khôi phục ảnh chụp nhanh đó vào SSD.
  4. Khi các bước trên đã hoàn thành (bạn thậm chí có thể thực hiện 1 song song với 2 và 3), tôi đã khởi động lại, đảm bảo rằng nó sẽ chọn SSD.
  5. Điều duy nhất lạ trong quá trình khởi động lại là màn hình grub INITIAL hỏi tôi có muốn khởi động Ubuntu không. Tôi cho rằng đây là đặc thù của phục hồi TimeShift, và nó đã được.
  6. Các phần khởi động tiếp theo khởi động như LM19.2 thường.
  7. Tôi sẽ chỉnh sửa câu trả lời này sau khi tôi xác minh rằng tôi có thể thực hiện điều này với một ổ đĩa mới treo bên ngoài PC (và dường như điều này rõ ràng sẽ hoạt động), vì điều này có nghĩa là tôi có thể sao chép nhanh chóng bất kỳ máy LM nào của mình đến phần cứng mới.

Chỉ riêng tốc độ khởi động đã làm cho các bước đơn giản này đáng để nỗ lực. Ngay cả Dropbox cũng chuyển tốt - nó chỉ muốn tôi đăng nhập lại và mất toàn bộ thời gian để lập chỉ mục các tệp, nhưng nó hoạt động rất tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.