Di chuyển Cài đặt sang đĩa mới


10

Tôi hiện có một hd với các phân vùng này:

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

Tôi đang suy nghĩ về việc mua một ssd cho /phân vùng của tôi .

Bây giờ câu hỏi của tôi là: Có thể di chuyển / chuyển đổi cấu hình hiện tại của tôi sang cấu hình mới (hai đĩa, / home) không? Có sẵn từ bên trong hệ thống đang chạy?

Câu trả lời:


11

Tôi khuyên bạn không nên sử dụng dd. Nó chỉ thực hiện một khu vực câm theo bản sao của khu vực, điều đó có nghĩa là nó sẽ thất bại nếu phân vùng đích nhỏ hơn và lãng phí nhiều thời gian sao chép không gian trống và nếu phân vùng đích lớn hơn, không gian bổ sung sẽ không có sẵn cho đến khi bạn chạy resize2fsđể mở rộng hệ thống tập tin.

Tốt nhất là làm điều này từ một đĩa CD trực tiếp bởi vì nếu bạn sao chép các tệp trong khi chúng đang được sửa đổi, bạn sẽ có kết quả bị hỏng.

Định dạng ssd và nhận cả phân vùng ssd mới và phân vùng gốc ban đầu được gắn, sau đó chỉ cần chạy sudo cp -ax /media/old-partition/* /media/new-partition, trong đó phân vùng cũ và phân vùng mới được thay thế bằng các điểm gắn kết thực tế của chúng. Điều đó sẽ sao chép mọi tập tin qua, duy trì quyền sở hữu, quyền và dấu thời gian.

Sau đó chạy sudo grub-install --root-directory=/media/new-partition /dev/SSD_DEVICE, sau khi thay thế các giá trị chính xác cho phân vùng mới và SSD_DEVICE. Điều đó sẽ cài đặt grub, làm cho đĩa có khả năng khởi động.

Khi bạn khởi động lại (đảm bảo bios của bạn được cấu hình để khởi động từ ssd thay vì ổ đĩa cũ), hãy đảm bảo rằng bạn đang chạy từ ssd chứ không phải từ ổ đĩa cũ bằng cách kiểm tra đầu ra của dfvà / hoặc mount, và bạn nên tốt để thổi bay các phân vùng cũ.

Ồ, và bạn sẽ muốn chỉnh sửa /etc/fstabtệp trên phân vùng mới sau khi sao chép và cập nhật UUID của phân vùng gốc để khớp với UUID của phân vùng SSD mới thay vì phân vùng cũ. Bạn có thể tìm thấy UUID đó bằng cách chạy sudo blkid.

Chỉnh sửa: đã thêm / * trong bản sao ở trên, nhưng cần chỉnh sửa để có nhiều hơn 6 ký tự. Bây giờ là 101 ký tự!


1
Tôi cho rằng đã làm việc?
Martin Uting

2
Tôi gặp vấn đề khi cài đặt grub bằng phương pháp trên. Cuối cùng, tôi đã thực hiện những gì chủ đề này gợi ý: askubfox.com/a/3409/8152 để thiết lập và cài đặt grub vào đĩa khác. Phần còn lại của câu trả lời làm việc tuyệt vời.
Mladen Jablanović

1

Lệnh này:

dd if=/dev/sdb1 of=DEVICE_PATH_OF_SSD_DRIVE

nên hoạt động để nhân bản /phân vùng vào ổ SSD.

EDIT: điều này sẽ chỉ hoạt động nếu phân vùng của bạn có cùng kích thước với ổ đĩa. Nếu chúng không cùng kích thước, bạn có thể sử dụng partimage :

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

Một lưu ý cho phương pháp này là bạn cần có đủ dung lượng trên ổ đĩa của mình cho một hình ảnh chứa tất cả nội dung của /. Bạn sẽ ổn nếu bạn có> 10GB miễn phí. Nếu không, bạn có thể sử dụng -z1thay vì -z0nén hình ảnh. Để nén thậm chí lớn hơn, sử dụng -z2. Ngoài ra, partimage không hỗ trợ hệ thống tệp ext4 .

Khi bạn đã thực hiện điều đó, bạn nên gắn SSD và kiểm tra xem dữ liệu của bạn đã được sao chép đúng chưa:

$ 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

Thay thế ext4bằng hệ thống tập tin bạn đã sử dụng /.

Bạn có thể sẽ cần phải cài đặt bộ tải khởi động GRUB trên ổ đĩa này:

sudo grub-install DEVICE_PATH_OF_SSD_DRIVE

Sau đó, bạn sẽ cần chỉnh sửa /etc/fstabtệp của mình để thay thế /dev/sdb1bằng đường dẫn thiết bị của ổ SSD trong mục nhập gắn kết /. ( sudo $EDITOR /etc/fstab)

Vui lòng đợi cho đến khi câu trả lời này có một vài upvote trước khi làm theo các hướng dẫn này. Tôi không phải là một chuyên gia về những điều này vì vậy tôi có thể đã bỏ lỡ một số thông tin quan trọng. Bất cứ ai nhìn thấy bất kỳ sai sót trong việc này, xin vui lòng thêm một nhận xét giải thích chúng. Bạn nên thực hiện các biện pháp phòng ngừa như vậy bởi vì nếu có sự cố xảy ra, nó có thể khiến máy tính của bạn không thể khởi động được.


(-1) Giải pháp này nguy hiểm hơn . Đặc biệt là nếu kích thước của các thiết bị không phù hợp.
Raphael Bossek

Nó cũng sẽ sao chép UUID của ổ đĩa nguồn nếu bạn sử dụng dd.
Michael

0

Đọc trước cách di chuyển, Có cách nào dễ dàng để chuyển HĐH từ ổ cứng này sang ổ cứng khác không? .

Khởi động từ ổ SSD của bạn và thêm dòng sau vào /etc/fstab(nó chỉ là một liên kết):

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

Bắt đầu mount -athực hiện các thay đổi hoạt động.

Mẹo : Đừng mount /dev/yourhd /homevì bạn mất linh hoạt để chuyển các thư mục khác sang hd .

Một giải pháp kỹ thuật hơn sẽ là sử dụng LVM (trình quản lý âm lượng hợp lý) .

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.