Làm thế nào để sao chép vào một ổ cứng nhỏ hơn?


42

Làm thế nào để sao chép một ổ cứng thành một kích thước nhỏ hơn.

  1. Clonezilla là tuyệt vời nhưng nó không hỗ trợ chức năng như vậy.
  2. Ngoài ra ddvà PartImage không hỗ trợ nhu cầu này.
  3. rsync sẽ không sao chép MBR vì MBR không phải là tệp.

Tôi cần sao chép ổ cứng để không sao lưu, vì vậy rsyncđây không phải là câu trả lời chấp nhận được.

Bất kỳ đề xuất?


2
Chỉ một câu hỏi, tại sao bắt buộc phải là một bản sao? Nếu đó là cho UUID, bạn có phiền thu nhỏ hệ thống tập tin trước khi thực hiện sao chép dd không? Nếu bạn không ngại thu nhỏ, thì chỉ cần chạy resize2fs để đưa hệ thống tập tin xuống nơi nó nhỏ hơn đĩa đích và sau đó dd sao chép nó. Mặt khác chạy resize2fs một lần nữa để mở rộng ra và điền vào đĩa mới.
darkdragn

Câu trả lời:


36

Bạn rõ ràng không thể sao chép một phân vùng lớn hơn sang một phân vùng nhỏ hơn (sử dụng ddvà tương tự) vì đơn giản là không có đủ không gian.

Tuy nhiên, nếu các tệp nằm trên phân vùng lớn hơn cũng phù hợp với phân vùng nhỏ hơn, bạn có thể sử dụng rsyncđể sao chép các tệp đó. Các tùy chọn chính xác để sử dụng tùy thuộc vào trường hợp sử dụng cụ thể của bạn, nhưng chỉ cần sao chép tất cả các tệp sau đây nên làm:

rsync -av /mount/point/of/large/partition/ /mount/point/of/small/partition

Chỉnh sửa: Một lần nữa: Bạn không thể sao chép một phân vùng lớn hơn vào một phân vùng nhỏ hơn . (Nhưng hãy đọc tiếp, vấn đề của bạn có thể được giải quyết chưa.)

Lý do rất đơn giản: phân vùng nguồn của bạn lớn hơn phân vùng mục tiêu của bạn. Bạn mong chờ điều gì? Có nên bỏ một số khối? Những cái nào? Và nên ddbiết như thế nào ? Tất nhiên, bạn có thể sử dụng ddcác tùy chọn bs=count=tùy chọn để chỉ sao chép nhiều khối đầu tiên của phân vùng nguồn sao cho phù hợp với phân vùng mục tiêu của bạn, nhưng bạn sẽ kết thúc với một phân vùng bị hỏng. Đó chắc chắn không phải là những gì bạn muốn.

Vì vậy, vì bạn không thể sao chép một phân vùng lớn hơn vào một phân vùng nhỏ hơn, điều duy nhất bạn có thể làm là trước tiên giảm kích thước của phân vùng nguồn của bạn xuống một kích thước nhỏ hơn hoặc bằng với phân vùng mục tiêu của bạn bằng một cái gì đó giống như gpartednhận thức được chi tiết cụ thể về hệ thống tập tin, sao cho bạn không bị mất dữ liệu. Và chỉ sau đó bạn có thể sử dụng ddđể sao chép phân vùng. Lý tưởng nhất là kích thước mới của phân vùng nguồn của bạn phải bằng kích thước của phân vùng mục tiêu của bạn (và không chỉ nhỏ hơn hoặc bằng ), nếu không, bạn sẽ kết thúc với một không gian chưa được phân bổ trên phân vùng mục tiêu của mình sau khi nhân bản.

Cũng xin lưu ý rằng bạn không nên đơn giản sao chép MBR của ổ đĩa lớn hơn vào MBR của ổ đĩa nhỏ hơn (hoặc ngược lại, đối với vấn đề đó). MBR, có kích thước 512 byte và là phần đầu tiên trong ổ cứng của bạn, chứa thông tin về cách bố trí ổ cứng:

  • 446 byte - Bootstrap.
  • 64 byte - Bảng phân vùng.
  • 2 byte - Chữ ký.

(Lưu ý rằng 446+64+2=512.)

Nếu bạn khăng khăng nhân bản MBR, thì chỉ sao chép 446 byte đầu tiên như vậy:

dd if=/dev/source of=/tmp/mbr.bak bs=512 count=1
dd if=/tmp/mbr.bak of=/dev/target bs=446 count=1

... Thay thế /dev/source/dev/targetbằng tên thiết bị của ổ cứng nguồn và đích, ví dụ, /dev/sda/dev/sdb, tương ứng. ( Thêm thông tin có sẵn ở đây. )

Tuy nhiên, cách thích hợp để làm điều đó là cài đặt lại Grub sạch (hoặc bất cứ thứ gì bạn có trên MBR) trên ổ cứng mới.

Tóm tắt, nếu bạn muốn sao chép một ổ đĩa lớn hơn vào một ổ đĩa nhỏ hơn, hãy tiến hành như sau:

  1. Bố trí một bảng phân vùng trên ổ đĩa đích có nhiều phân vùng như trên ổ đĩa nguồn. Cần có sự tương ứng một-một giữa các phân vùng trên ổ đĩa nguồn của bạn và các phân vùng trên ổ đĩa đích của bạn, ngoại trừ (một số) các phân vùng trên ổ đĩa đích có thể nhỏ hơn các phân vùng tương ứng trên ổ đĩa nguồn. Sử dụng một công cụ như fdiskhoặc cfdiskcho điều đó.

  2. Đối với mỗi phân vùng trên ổ đĩa đích nhỏ hơn phân vùng tương ứng trên ổ đĩa nguồn, hãy giảm kích thước của phân vùng tương ứng này trên ổ đĩa nguồn để khớp với kích thước của phân vùng trên ổ đĩa đích. Sử dụng một công cụ như vậy gparted.

  3. Đối với mỗi phân vùng trên ổ đĩa nguồn, hãy ra lệnh

    dd if=/dev/sdaX of=/dev/sdbY
    

    ... để sao chép phân vùng /dev/sdaXtừ ổ đĩa nguồn sang phân vùng tương ứng /dev/sdbYtrên ổ đĩa đích (dĩ nhiên thay thế tên thiết bị một cách thích hợp.)

  4. Nếu bạn khăng khăng cũng nhân bản MBR, hãy sử dụng hai ddlệnh được viết thêm ở trên trong bài này (những lệnh có /tmp/mbr.baknội dung). Tuy nhiên, hãy nhớ rằng cài đặt lại Grub sạch sẽ tốt hơn.


2
rsync sẽ không sao chép MBR vì MBR không phải là tệp nên rsync không phải để sao chép. Tôi cần sao chép một ổ cứng, không tạo bản sao lưu;)
Maythux

2
Vâng, rsyncthực sự không phải để nhân bản. Đó chính xác là những gì tôi đã nói - đọc bài viết của tôi một cách cẩn thận. ;) Tôi đã chỉnh sửa bài đăng của mình để giải thích cách bạn có thể sao chép tất cả các phân vùng, cũng như MBR. Hy vọng điều này gần với những gì bạn muốn.
Malte Skoruppa

1
Làm thế nào để ai đó thực hiện cài đặt Grub sạch?
Ken Sharp

1
@KenSharp Xem tại đây, ví dụ: help.ubfox.com/community/Grub2/Installing
Malte Skoruppa

1
@gerrit Sử dụng parted/ gpartedcho bước 1 là hoàn toàn tốt. Như thường thấy, có nhiều cách để đạt được mục tiêu. fdisk/ cfdisklà các công cụ "cơ bản" hơn, và trong phần mô tả ở trên, tôi chỉ đơn giản là cố gắng tham khảo công cụ cơ bản nhất sẽ thực hiện công việc.
Malte Skoruppa

14

Không thể nhân bản chính xác như Malte Skoruppa đã đăng. Tuy nhiên clonezilla có thể thực hiện nhiệm vụ này miễn là đĩa lớn hơn không đầy (Malte đã đề cập đến điều này rồi).

Về cơ bản, bạn cần kích hoạt các tùy chọn nâng cao và "bỏ qua" thông báo cảnh báo về một đĩa nhỏ hơn. Xem tài liệu Clonezilla để biết chi tiết với ảnh chụp màn hình. Tôi gặp vấn đề tương tự khi khôi phục bản sao lưu của ổ cứng 160 GB thành ổ SSD 64 GB. Đối với tôi điều này làm việc tốt.

Một giải pháp khác có thể là kết quả mà bạn muốn sẽ khôi phục vào cùng một đĩa có kích thước và phân vùng lại để phù hợp với lược đồ phân vùng mới vào đĩa nhỏ hơn. Xem jsm-techblog.blogspot.de để biết chi tiết cách thực hiện việc này.


@DennisNolte Tùy chọn nâng cao nào cần được bật trong Clonezilla? Đọc tài liệu tôi đoán -k1sẽ tạo bảng phân vùng theo tỷ lệ trong đĩa đích và bật tùy chọn -rđể thay đổi kích thước hệ thống tệp tệp trong phân vùng. Điều này có đúng không?
Sao lưu dự phòng

Tôi không chắc chắn 100% nữa, nhưng đó sẽ là những lựa chọn tôi sẽ thử nếu làm lại điều tương tự, vâng. Tuy nhiên, tôi đã cần 2 hoặc 3 lần thử cho đến khi nó hoạt động chính xác, và thật buồn là tôi không nhớ mình đã thực hiện các bước nào, ngoài việc sử dụng các tùy chọn tiến bộ.
Dennis Nolte

Tôi không thể làm cho nó hoạt động bằng cách sử dụng k1tùy chọn tuy nhiên -icdstùy chọn này phù hợp với tôi. Tôi sẽ đăng một câu trả lời với nhiều chi tiết hơn.
bbodenmiller

Tôi đã thêm chi tiết về cách tôi làm việc này tại Askubfox.com/a/504778/310789 .
bbodenmiller

Clonezilla có thể thực hiện việc này thông qua đĩa để sao chép đĩa, nhưng chỉ trong chế độ Expert (tham số -icds). @ProBackup lưu ý sử dụng -k1, trong trường hợp của tôi, nó tạo ra một segfault (Clonezilla Live 20160627). Thay vào đó, sử dụng Gparted trước (và sau) bản sao để rời khỏi (và lấy lại) càng nhiều không gian chưa được phân bổ khi cần và sau đó sao chép bỏ qua kiểm tra không gian đĩa (-icds). Tôi đã liệt kê các bước để sao chép vào đĩa nhỏ hơn ở đây (bỏ qua các phần Win7 về MBR nếu bạn chỉ có Linux).
chirale

7

Gparted nên làm công việc

  1. Sau khi thay đổi kích thước với gparted, hãy khởi động từ ổ đĩa để cho HĐH có cơ hội sửa bất kỳ lỗi nào trước khi chụp ảnh với Clonezilla.

  2. Sau đó chạy Clonezilla và tạo một bản sao của các phân vùng đĩa cứng cần thiết

Một lựa chọn khác mà tôi thấy tuyệt vời cho tôi: MondoRescure

Mondo Cứu hộ là một giải pháp khắc phục thảm họa GPL.

Nó hỗ trợ băng, đĩa, mạng và CD / DVD làm phương tiện sao lưu, nhiều hệ thống tập tin, LVM, phần mềm và phần cứng Raid.

Một hướng dẫn đơn giản có thể được tìm thấy ở đây

Tôi sẽ đăng một số ảnh chụp màn hình:

BƯỚC 1 BACKUP (SCREENSHOT)

1. Chọn từ danh sách các loại phương tiện sao lưu được hỗ trợ.

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

2.Nếu bạn đang sao lưu lên CD / DVD- + R [W] thì Mondo sẽ hỏi bạn xem ổ ghi CD của bạn có công nghệ BurnProof, có ở trong máy tính xách tay không, hay nói cách khác là lập dị. Nếu bạn đang sao lưu vào một bộ truyền phát băng thì bạn sẽ không thấy thông báo này

3. Bạn muốn nén bao nhiêu? Không, nếu bộ truyền phát băng của bạn có nén phần cứng tích hợp. Tối đa, nếu CPU của bạn nhanh như chớp. Trung bình chỉ nên làm tốt cho hầu hết các tình huống.

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

4.Nếu bạn muốn sao lưu toàn bộ máy tính (không bao gồm / sys, / run và / Proc, tự nhiên cũng như / tmp) thì hãy để mặc định này là / mặc định. Mặt khác, chỉ định các tập hợp con, (ví dụ / usr / local | / home) chắc chắn đặt một đường ống ở giữa mỗi đường dẫn.

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

5.Nếu bạn đang sao lưu toàn bộ máy tính của mình thì bạn có thể muốn loại trừ một số thư mục nhất định, ví dụ / shared / MP3. Vui lòng chỉ định chúng trong hộp thoại 'loại trừ thư mục'. Vui lòng đặt một đường ống ở giữa mỗi đường dẫn, ví dụ / shared / private | / scratch | / nfs | / windows

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

6. Là hạt nhân của bạn lành mạnh? Nói chung, người dùng Red Hat, Mandrake, SuSE, Debian và Slackware nên nói 'có' vì các nhà cung cấp này rất giỏi trong việc sản xuất hạt nhân đáng tin cậy. Nếu bạn đang sử dụng Gentoo hoặc LFS thì hạt nhân của bạn có thể không chuẩn, trong trường hợp đó hãy nói 'không' để sử dụng kernel failafe của Mondo (được cung cấp riêng).

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

7. Nếu bạn muốn xác minh tài liệu lưu trữ sau khi viết chúng lên phương tiện truyền thông, hãy nói 'có' tại đây. Nếu bạn có niềm tin tuyệt đối vào phần cứng và bản phân phối Linux của mình, hãy nói 'không' ... và một chút cầu nguyện.

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

8. Nếu bạn chắc chắn muốn tiếp tục, hãy nói 'có' và tìm việc khác để làm trong khi Mondo sao lưu máy tính của bạn. Nếu bạn nói 'không' thì bạn sẽ bị bỏ rơi một cách kỳ lạ tại dấu nhắc shell. :-)

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

9. Quá trình sao lưu sẽ bắt đầu. Có một số nhiệm vụ dự phòng được thực hiện trước nhưng việc sao lưu về cơ bản đang được tiến hành. Để đơn giản hóa quá trình sao lưu, bạn đã được hỏi một loạt các câu hỏi. Lần tới, nếu bạn thích, bạn có thể gọi mondoarchive bằng nhiều công tắc dòng lệnh khác nhau để kiểm soát hành vi của nó, thay vì trả lời một loạt câu hỏi. Xem trang người đàn ông để biết chi tiết.

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

10.Mondo sẽ tạo một danh mục của tất cả các tệp sẽ được sao lưu. Điều này có thể mất đến năm phút. Danh sách các tệp sẽ được chia thành các bộ, khoảng 4 MB (trước khi nén) các tệp trên mỗi bộ. Điều này thường mất một phút.

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

11.Mondo gọi Mindi. Mindi tạo hình ảnh phương tiện có thể khởi động và hình ảnh đĩa dữ liệu phụ trợ dựa trên hệ thống phân phối và tệp Linux hiện có của bạn. Bằng cách đó, bạn có thể chắc chắn các công cụ của Mondo sẽ tương thích với các hệ thống tệp và nhị phân hiện có của bạn: Công cụ của Mondo là công cụ của bạn. Mindi mất tới năm phút để chạy.

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

12. Cuối cùng, Mondo bắt đầu sao lưu máy tính của bạn. Quá trình này có thể mất vài phút hoặc vài giờ, tùy thuộc vào lượng dữ liệu bạn đang lưu trữ, CPU của bạn nhanh như thế nào, bạn có bao nhiêu RAM, v.v. Nó sẽ sao lưu các tệp thông thường của bạn và sau đó các tệp lớn của bạn (các tệp lớn hơn khoảng 32MB). Nếu bạn đã chọn xác minh bản sao lưu của mình, Mondo cũng sẽ làm điều đó.

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

BƯỚC 2 RESTORE (PHẦN THƯỞNG)

1. Chọn loại phương tiện sao lưu của bạn. Quá trình khôi phục trực tiếp rất giống với những gì bạn sẽ trải nghiệm nếu bạn nhập thứ hai không có tham số sau khi khởi động từ phương tiện Mondo.

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

2.Hit 'OK' khi bạn đã chèn băng / CD. Nếu bạn tạo một bản sao lưu băng, bản thân băng phải là đủ. Nếu bạn đã tạo bản sao lưu CD, CD đầu tiên là đủ. Nếu không, bạn có thể cần phương tiện khởi động.

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

3.Flag các tập tin và thư mục bạn muốn khôi phục. Sử dụng các nút 'Khác' và 'Ít' để mở và đóng các thư mục con.

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

4. Chỉ định vị trí để khôi phục các tập tin. Nói chung, '/' là phù hợp. Nếu bạn không muốn ghi đè lên các phiên bản mới hơn của các tệp bạn đang khôi phục thì chỉ định / tmp / BKP hoặc tương tự như đường dẫn khôi phục.

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

5.Mondorestore sẽ lấy thông tin cấu hình từ phương tiện truyền thông. (Màn hình mẫu dành cho người dùng băng. Người dùng CD sẽ thấy điều gì đó khác biệt.)

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

6.Data sẽ được khôi phục vào đĩa cứng - đầu tiên là các tệp thông thường, sau đó là bất kỳ tệp lớn (32 MB hoặc lớn hơn) trong bộ khôi phục.

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


Xem có vẻ hấp dẫn. Tôi sẽ thử sau đó tôi sẽ cho bạn ăn với kết quả
Maythux

@Maythux phản hồi với kết quả?
Highmastdon

Bạn phải ghi mọi thứ vào đĩa trước?
Ken Sharp

Đối với những người thích nhảy vào và thử mọi thứ để có được mondo hoạt động, bạn cần tải xuống và cài đặt các phiên bản mới nhất của lib-projectbuilder-perl, libmondoresTHER-perl, mindi-busybox, mindi và mondo từ MondoResTHER liên kết ở trên và cài đặt chúng theo thứ tự đó để tránh phụ thuộc không thỏa mãn. Có các gói .deb có sẵn để bạn không phải biên dịch tất cả chúng từ nguồn nếu bạn không muốn.
Anh Cả Geek

Phiên bản hiện tại dường như không có giao diện người dùng của phiên bản (1.5) được liệt kê ở đây và thử nghiệm không thành công đã khởi động cho tôi.
Anh Cả Geek

4

"Nhân bản giả" của một ổ cứng lớn hơn sang ổ cứng nhỏ hơn có thể được thực hiện bằng cách sử dụng Clonezilla. Thực tế, bạn có thể lưu và khôi phục các phân vùng của đĩa. Các bước sau (được phát triển để chuyển từ ổ cứng sang SSD) sẽ đưa bạn đến đó:

  1. Thủ thuật đầu tiên là sử dụng Gparted để thay đổi kích thước các phân vùng trên ổ cứng, thu nhỏ từng phân vùng để giảm dung lượng không sử dụng mà nó chứa. Rõ ràng, các phân vùng phải có kích thước sao cho tổng không gian cần thiết cho tất cả các phân vùng nhỏ hơn dung lượng của SSD.

  2. Sau đó, một người chạy Clonezilla và tạo một bản sao của các phân vùng đĩa cứng riêng lẻ (sử dụng tùy chọn saveparts), lưu trữ chúng tạm thời trên ổ USB ngoài. Lưu ý rằng cần phải lưu các phân vùng (saveparts) thay vì tạo một hình ảnh của toàn bộ đĩa (saveisk).

  3. Với SSD được cài đặt trong máy đích, mẹo thứ hai là sử dụng trình quản lý phân vùng một lần nữa để tạo cấu trúc phân vùng mong muốn trên SSD.
  4. Clonezilla sau đó được sử dụng để khôi phục các phân vùng đã lưu (sử dụng khôi phục) vào SSD.

Xem: "Nhân bản một ổ cứng sang ổ SSD nhỏ hơn để thảo luận thêm về quy trình và một số liên kết cho các nguồn tham khảo.


3

Vì hầu hết các ví dụ ở trên dường như đề nghị thực sự định cỡ lại ổ đĩa gốc của bạn Có nguy cơ dữ liệu của bạn bằng cách sửa đổi nó trước khi thực sự tạo một bản sao nếu nó.

Có một cách khác ít rủi ro hơn mặc dù tôi sử dụng rất thủ công. Vì nó khiến ổ đĩa không bị ảnh hưởng trong trường hợp bạn muốn quay lại vì có gì đó không thành công.

Ngoài ra với việc nhân bản / định cỡ lại, bạn không thể chuyển sang hệ thống tệp mới hơn trong khi chuyển sang ổ đĩa mới trong khi bạn thực hiện trao đổi đĩa. Với quy trình dưới đây, bạn chỉ cần tạo hệ thống tệp bạn chọn trên ổ đĩa đích.

Cài đặt ổ đĩa đích mới dọc theo ổ đĩa gốc vào máy tính của bạn.

  • khởi động máy tính từ ubfox live cd.
  • Trên ổ đĩa đích. sử dụng gparted tạo: một ext4 (hoặc bất kỳ hệ thống tệp nhanh mới nào bạn quyết định chuyển sang) (khối lượng, và một khối lượng trao đổi và trao đổi - hệ thống tập tin
  • Trong gparted, đặt bootflag trên ổ đĩa mới

Trong ví dụ của tôi, nguồn (ổ đĩa gốc) là / dev / sda và đích (ổ đĩa mới nhỏ hơn) là / dev / sdb Trong thiết lập của bạn, nó có thể khác

mount src như chỉ đọc dưới / mnt / source

  • mkdir / mnt / nguồn; gắn kết -o ro / dev / sda / mnt / souce

gắn ổ đĩa đích dưới / mnt / đích

  • gắn kết / dev / sdb1 / mnt / đích /

sao chép hệ thống tập tin src vào hệ thống tập tin đích với:

  • rsync -log /mnt/destination/rsync-copy.log --proTHER -avr --exclude = / mnt / source / dev / -A -H -X --numeric-ids / mnt / source / * / mnt / Destination /

ubfox sử dụng uuid thay vì tên thiết bị để tìm và gắn ổ đĩa vì chúng tôi có đĩa mới, chúng tôi muốn thay đổi fstab đích để sử dụng ổ đĩa mới uuid để gắn đĩa

  • ls -la / dev / đĩa / by-uuid

    bây giờ thay đổi uuid cho / và trao đổi trong / mnt / Destination / etc / fstab. đừng quên thay đổi hệ thống tập tin cho điểm gắn kết, nếu bạn quyết định thay đổi nó thành một cái gì đó khác với ổ đĩa gốc

Nếu điều quan trọng là grub là cùng một phiên bản, hãy khởi động lại đĩa gốc và chạy và chạy lệnh bên dưới để cài đặt grub vào ổ đĩa mới

  • grub-install / dev / dev / sdb

Bây giờ hãy xóa ổ đĩa nguồn khỏi máy tính của bạn và khởi động ổ đĩa đích. grub sẽ không khởi động hoàn toàn và thoát khỏi shell recovery trong shell recovery của grub:

để tải một số mô-đun grub cần thiết - insmod ext2 - insmod linux liệt kê các thiết bị đĩa của bạn - ls

chọn thiết bị phù hợp (trong ví dụ của tôi là hd0, msdos1)

  • đặt gốc = (hd0, msdos1)

tìm tên chính xác của vmlinuz-xxx và initrd-xxx để cấu hình grub để sử dụng

  • ls / khởi động /

    xem và sử dụng tên thích hợp cho vmlinuz và initrd bạn nhận được từ ls ở trên và sử dụng chúng thay vì phiên bản ví dụ tôi đang sử dụng ở đây bên dưới

  • linux /boot/vmlinuz-2.6.32-5-amd64 root = / dev / sda đơn

    if / dev / sda là thiết bị, ổ đĩa sẽ là đĩa rootfs vào lần tới khi bạn khởi động lại máy> chỉ với đĩa dst

  • initrd /boot/initd.img-2.6.32-5-amd64

  • khởi động

Điều này đã khởi động thành công máy Cuối cùng để cập nhật grub để sử dụng uuid đĩa mới, do đó bạn không cần phải lặp lại quy trình thủ công này mỗi lần:

  • cập nhật-grub

3

Bạn có thể chuyển dữ liệu của mình sang một ổ đĩa nhỏ hơn bằng ClonezillaGParted .

Sử dụng GParted Live CD thu nhỏ các phân vùng của bạn sao cho phù hợp với ổ đĩa mới. Di chuyển các phân vùng của bạn sao cho không gian trống (màu xám) ở cuối / bên phải ổ đĩa của bạn. Nếu đã có không gian trống trước khi phân vùng đầu tiên của bạn rời khỏi không gian đó vì nó có thể chứa thông tin khởi động hoặc thông tin ẩn khác.

Sử dụng Clonezilla làm một device-devicebản sao. Chọn các tùy chọn nâng cao và cho phép -icdstùy chọn bỏ qua kiểm tra kích thước đĩa. Tiếp tục với bản sao, xóa ổ đĩa cũ và cố gắng khởi động từ ổ đĩa mới. Nếu bạn gặp lỗi, hãy thử -fsck-src-parttùy chọn giúp bạn sửa lỗi trên đĩa nguồn.

Từ các tài liệu Clonezilla :

Nếu bạn chắc chắn tất cả dữ liệu từ hình ảnh có thể vừa với đĩa nhỏ hơn, tức là nó sẽ không được ghi vào không gian đĩa sai, bạn có thể kiểm tra tùy chọn "-icds" .Warning! Để chọn tùy chọn này, bạn phải biết những gì bạn đang làm!.

Một câu hỏi thường gặp tôi đọc được đề xuất sử dụng cả hai -icds-k1các tùy chọn với Clonezilla tuy nhiên điều đó không hiệu quả với tôi. Những người khác đã đề cập rằng bạn có thể sao chép các phân vùng bằng GParted tuy nhiên nó không thể sao chép tất cả các loại phân vùng và tôi không thể khởi động máy sau khi sử dụng phương thức đó, có thể do một số thông tin ẩn giữa các phân vùng không được sao chép.


1

Có thể không phải là câu trả lời chính xác cho câu hỏi, nhưng tôi đến trang này để cố gắng giải quyết một vấn đề tương tự:

Tôi muốn sao chép một thẻ flash nhỏ gọn 256Mb cũ thành một thẻ 32Mb đã bị vỡ, thẻ flash chứa một thiết bị Linux nhỏ sản xuất các cuộn lò xo nhỏ.

Giải quyết theo cách này:

(Tất nhiên, không gian hiệu quả được sử dụng trong 256Mb là <32Mb, vì vậy nó rất phù hợp)

  1. tạo hình ảnh của thẻ flash 256Mb bằng 'dd' (nghĩa là giả sử thẻ được gắn vào / dev / sdb):

    dd if=/dev/sdb of=image256.iso
  2. Sử dụng unetbootin để đọc 'image256.iso' ISO (tùy chọn Diskimage).

  3. Chọn ổ đĩa USB có thẻ 32Mb và tiến hành đổ hình ảnh vào thẻ 32Mb.

Thế là xong, thẻ 32Mb đã khởi động lại máy của tôi thành công.

HTH


0

Trước tiên, bạn có thể thử làm cho nó thành hai bước để tạo một bản sao của Hệ thống thành một Hình ảnh thưa thớt (Hình ảnh ngày càng lớn hơn khi thêm nhiều thứ vào nó) Bây giờ hãy khôi phục từ Hình ảnh này sang đĩa nhỏ thứ hai.


0

nó có thể được thực hiện .. Với một đĩa CD trực tiếp, chỉ cần thu nhỏ hệ thống tập tin (resize2fs), hơn lvm (nếu có) của phân vùng cuối cùng (như / dev / sdc3) từ đĩa lớn để có thể vừa với đĩa nhỏ.

Với fdisk xóa và tạo lại với các sector nhỏ hơn, phân vùng cuối cùng (/ dev / sda3), do đó, sector cuối cùng của đĩa lớn có cùng giá trị với sector cuối cùng của đĩa nhỏ.

Hơn làm # dd của bạn nếu = lớn của = nhỏ bs = 10M cho đến khi hết dung lượng.

Cẩn thận hơn trong khi thu hẹp vì một giá trị xấu sẽ gây ra dataloss.


0

Sau khi thu nhỏ hệ thống tệp trong đĩa lớn hơn bằng GParted, tôi đặt hai đĩa vào trường hợp RAID ở chế độ phản chiếu, trong đó đĩa lớn hơn là nguồn và đĩa nhỏ hơn là mục tiêu. Tôi chỉ cần nhấp vào nút đặt lại bên trong thùng máy (không thay đổi chế độ, tức là Raid 1 thành Raid 0) để bắt đầu nhân bản. Làm việc hoàn hảo! :) Tôi đã sử dụng trường hợp Raid3.5AX2-SU3 / MB.


0

tôi đăng kinh nghiệm thu nhỏ đĩa khởi động với 250gb (sda) thành đĩa 120gb (sdc)

sda chứa 2 phân vùng:

  • sda1 -> / boot (ext3)
  • sda2 -> lvm2: / (245gb) và trao đổi (5gb)

vì vậy tôi làm:

  • dd sda mbr để sdc
  • fdisk sdc và viết các thay đổi, vì vậy nó tạo ra cấu trúc trong sdc
  • dd sda1 đến sdc1

sau đó như gparted của tôi KHÔNG hoạt động với lvm:

từ đĩa cứu hộ:

  • đầu tiên VG / LV00
  • e2fsck VG / LV00
  • resize2fs / VG / LV00 xxxxxxxxK (tôi cung cấp thêm 1gb so với dung lượng đã sử dụng)
  • lvreduce -L xxxxxxxxxK VG / LV00 (tôi cho 1gb nhiều hơn dung lượng fs)
  • pvresize / dev / sda2 --setphysicalvolumeize xxxxxxxxxxxxK (tôi cho nhiều hơn 1 gb so với không gian LV) (tôi có LRI ở đây ... vì vậy:

    • pvs -v --segments / dev / sda2 (để xem các phân đoạn)
      • pvmove --alloc bất cứ nơi nào / dev / sda2: Seg_min-Seg_max (từ các phân đoạn tôi thấy "ở bên phải" của đĩa)

Nhưng phân vùng vẫn còn lớn, vì tôi chỉ thu nhỏ FS-LV-VG, vì vậy:

tôi tạo lại phân vùng với fdisk:

fdisk /dev/sda 
d --> 2
n --> p --> 2 --> default --> (new reduced
size!!!)
 w

sau đó hệ thống nhắc rằng bảng phân vùng cũ sẽ được sử dụng cho đến lần khởi động lại tiếp theo. Nhưng tôi quên khởi động lại và làm hình ảnh:

dd if = / dev / sda2 of = / dev / sdc2 bs = 4096 (lúc này tôi nghĩ rằng có gì đó không ổn và tôi không thể khởi động với sdc vì bảng phân vùng không phản ánh kết thúc của sda2 mới)

NHƯNG tất cả đều ổn và sau khi khởi động lại, và thậm chí hệ thống chọn phân vùng sdc để khởi động (nó phàn nàn về trùng lặp PV, LV và / boot)

Tôi không biết nếu tôi may mắn hoặc nếu tôi làm các bước không cần thiết ... bất kỳ nhận xét nào đều được đánh giá cao.


Đây là một câu trả lời hay một câu hỏi?
Seth

cả hai điều tôi đoán ...
oso_togari

0

Tuyên bố miễn trừ trách nhiệm: Tôi là tác giả gốc của WereSync

Điều này có thể sử dụng WereSync . WereSync tuân theo quy trình chung của câu trả lời của Malte nhưng chỉ yêu cầu một lệnh chứ không phải một số lệnh. Ngoài ra, nếu bạn đang sử dụng bản sao của mình làm bản sao lưu, nó có thể cập nhật dần dần bản sao lưu đó, vì nó sử dụng rsync trong phần phụ trợ.

Để cài đặt WereSync, sử dụng pip:

pip install weresync

Từ đó bạn chỉ cần sử dụng lệnh WereSync

 weresync -C -g 2 -E 1 /dev/sda /dev/sdb

Lệnh trên sao chép dữ liệu từ / dev / sda sang / dev / sdb. Các -Ccờ đánh dấu mà WereSync nên kiểm tra xem các phân vùng trên hai ổ đĩa có tương đương hay không và nếu chúng không phải là WereSync thì nên sao chép các phân vùng từ / dev / sda sang / dev / sdb và thay đổi kích thước chúng sao cho phù hợp. Các UUID của các phân vùng mới sẽ khác nhau. Hệ thống được sử dụng để kiểm tra nếu các phân vùng hợp lệ có thể rất khó, vì vậy sau lần sao lưu đầu tiên của bạn, tôi khuyên bạn nên bỏ qua cờ này.

Các lệnh -g-Ecó thể được bỏ qua, nhưng cài đặt bộ tải khởi động gần như chắc chắn sẽ thất bại trong trường hợp đó.

-g đề cập đến "phân vùng grub" hoặc phân vùng grub nên được cài đặt trên. Nói chung đây là phân vùng gắn trên /. Vì vậy, nếu bạn có / dev / sda2 được gắn kết trên /, bạn chuyển -g 2đến WereSync, như trong ví dụ trên. Nếu điều này bị bỏ qua, WereSync sẽ tự mình thử và tự mình khám phá phân vùng thích hợp, nhưng đây là lỗi dễ xảy ra. Tôi khuyên bạn chỉ cần vượt qua cờ.

-Eđề cập đến phân vùng EFI. Nếu phân vùng EFI của bạn bật / dev / sda1, hãy chuyển -E 1đến WereSync như trong lệnh trên.

Nếu bạn có một phân vùng riêng cho thư mục / boot, bạn cũng cần cho WereSync biết. Nếu bạn có cái đó trên / dev / sda3, thì hãy chuyển -B 3sang WereSync.

Thông tin chi tiết hơn về các cờ có thể có cho lệnh này có thể được tìm thấy trên Tài liệu lệnh WereSync .


Bạn có thể thêm một livecd?
Tal

0

Tôi gặp phải vấn đề này vì bản cập nhật Win 10 lên 1607 sẽ bị hỏng sau khi khởi động lại, do NVMe (Samsung 950 Pro) của tôi không được nhận dạng, vì vậy tôi đã sao chép NVMe sang ổ đĩa trong (lớn hơn) khác (trong trường hợp của tôi là "Toshiba") , đã cập nhật Win 10 và khôi phục hệ thống trở lại NVMe.

Dưới đây là các bước tôi cần làm để đạt được điều đó (vì khôi phục -icdslại không hoạt động).

Công cụ:

  • DVD Windows 10 1607 (độ sâu bit và ngôn ngữ tùy thuộc vào hệ điều hành hiện tại của bạn)
  • Clonezilla Live DVD ( 2.4.5 + )
  • hoặc Clonezilla Live DVD ( 20160203-xenial + ), vì nó có thể khởi động với UEFI được đặt trong BIOS
  • (tùy chọn) DVD trực tiếp GParted ( 0.27.0-1 )

Sự chuẩn bị:

  1. ghi tất cả các công cụ vào đĩa CD / DVD
  2. chạy Clonezilla và sao chép (ổ đĩa thành hình ảnh) NVMe thành hình ảnh (ví dụ: ổ đĩa ngoài)

Ghi chú:

Nếu bạn đã sử dụng Clonzila từ nhánh ổn định, bạn phải chuyển sang chế độ khởi động Legacy trong BIOS để có thể khởi động từ CD. Mặt khác, nếu bạn sử dụng tải xuống từ nhánh thay thế, nó sẽ hỗ trợ khởi động UEFI.

Tuyên bố miễn trừ trách nhiệm:

Thực hiện theo các hướng dẫn về trách nhiệm của riêng bạn. Các bước và lệnh ở đây được kiểm tra và kiểm tra hai lần, nhưng lỗi chính tả có thể khiến bạn mất dữ liệu hoặc lỗi phần cứng, vì vậy trước tiên hãy tìm hiểu những gì bạn đang làm và thực hiện các bước này làm gợi ý về hướng đúng.

Thủ tục:

  1. chạy Clonezilla và sao chép (lái xe để lái) NVMe sang Toshiba (trong trường hợp của tôi, ổ đĩa nội bộ khác, mà tôi đã dọn dẹp / sao lưu trước)
  2. Lần đầu tiên tôi nghĩ rằng tôi đã có một số xung đột trong Windows với NVMe vẫn có thông tin khởi động Win, vì vậy lần này tôi ngay sau khi nhân bản ban đầu sang Toshiba (vì vậy, trước khi chuyển sang UEFI boot) đã xóa tất cả các phân vùng trên ổ NVMe

    ~ xóa được dễ dàng thực hiện trong vỏ Clonezilla với:

    sudo su
    dd if=/dev/zero of=/dev/nvme0n1 bs=512 count=1
    

    ~ cách khác, khởi động để GParted và làm điều đó trực quan ở đó

  3. (chuyển sang khởi động UEFI trong BIOS)

  4. khởi động (Toshiba sẽ được sử dụng)
  5. chạy DVD cài đặt Win 10 1607 và chọn Cài đặt, kiểm tra Tải xuống bản cập nhật và chọn Giữ ứng dụng và dữ liệu. Điều đó sẽ nâng cấp Toshiba lên phiên bản Win 10 mới nhất.
  6. (chuyển sang khởi động Legacy trong BIOS) chỉ trong trường hợp, sao lưu Toshiba thành hình ảnh (thông qua Clonezilla)
  7. kể từ khi sao chép MBR không làm gì cho tôi, GPT rất quan trọng trong câu chuyện này, vì vậy hãy nhập trình bao (Clonezilla) và sao chép GPT từ Toshiba sang NVMe với

    sudo su
    sgdisk /dev/sda -R /dev/nvme0n1
    sgdisk -G /dev/nvme0n1`
    

    ( giải thích )

  8. kể từ khi Clonezila (ngay cả với các chuyển đổi Expert -icds) khôi phục các phân vùng, một lần nữa nhập shell và làm:

    partprobe #forces kernel to reload partition infos
    fdisk -l #shows all disks info
    dd if=/dev/sda1 of=/dev/nvme0n1p1 bs=64K status=progress
    dd if=/dev/sda2 of=/dev/nvme0n1p2 bs=64K status=progress
    dd if=/dev/sda3 of=/dev/nvme0n1p3 bs=64K status=progress
    ...
    

    ( thêm thông tin )

  9. sao lưu Tosiba MBR và GPT:

    sgdisk --backup=sda.gpt /dev/sda
    
  10. sao chép bản sao lưu vào nơi an toàn (để chúng tôi có thể khôi phục nó chứ không phải toàn bộ hình ảnh ổ đĩa chúng tôi đã làm trong bước 6)

    mkdir /mnt/usb
    (put in usb flash or similar)
    mount /dev/sdb /mnt/usb
    cp sda.gpt /mnt/usb
    umount /dev/sdb`
    
  11. xóa thông tin phân vùng Toshiba để không gây xung đột với Windows

    dd if=/dev/zero of=/dev/sda bs=512 count=1
    
  12. (chuyển sang UEFI boot trong BIOS) khởi động từ DVD Windows 10 (1607), chọn Sửa chữa> Khắc phục sự cố> Dấu nhắc lệnh và thực hiện tất cả những điều sau:

    bootrec /fixboot
    bootrec /scanos
    bootrec /fixmbr
    bootrec /rebuildbcd
    exit
    

    ( thêm thông tin )

  13. khởi động lại Windows 1607 trên đĩa NVMe của bạn

  14. Thắng lợi!
  15. (khởi tạo lại Toshiba trong Quản lý đĩa)
  16. (tùy chọn) sao lưu đĩa NVMe đã cập nhật (sao chép hình ảnh bằng Clonezilla)
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.