Làm cách nào để di chuyển cài đặt Linux giữa các phân vùng?


8

Tôi đã nhận được một ổ cứng mới và muốn chuyển một bản cài đặt Linux hiện có (cụ thể hơn: OpenSUSE 11.1) từ một phân vùng trên ổ cứng cũ sang một phân vùng trên ổ cứng mới.

Kế hoạch của tôi là:

  1. khởi động bằng CD khởi động (giả sử đó là CD khởi động OpenSUSE)

    EDIT Theo đề xuất của nhiều người (cảm ơn tất cả)
    1a. sao chép tất cả các tệp từ ổ đĩa này sang ổ đĩa khác

  2. sửa đổi / etc / fstab ( thêm điểm gắn kết vào phân vùng mới)
  3. sửa đổi /boot/grub/menu.conf ( thêm phân vùng khởi động)
  4. cài đặt lại grub

Tôi có đúng không Có phải vậy không?
Hay tôi đã sai một số bước quan trọng? (Tôi khá chắc chắn rằng tôi đã làm)


1
bạn đã bỏ lỡ bước thực sự sao chép các tệp từ phân vùng cũ sang phân vùng mới. một số người có thể nói rằng điều đó khá quan trọng :)
cas

Câu trả lời:


4

Tôi sẽ nói có một điều bạn đã bỏ lỡ.

  1. khởi động bằng CD khởi động (giả sử đó là CD khởi động OpenSUSE)

    1a. sao chép tất cả các tệp từ ổ đĩa này sang ổ đĩa khác

  2. sửa đổi / etc / fstab (thay đổi điểm gắn kết sang phân vùng mới)

  3. sửa đổi /boot/grub/menu.conf (thay đổi phân vùng khởi động)
  4. cài đặt lại grub

Tôi sẽ nói nếu bạn thiết lập phân vùng trên ổ đĩa mới để tương thích với các thiết lập cũ, thì điều này sẽ khá đơn giản. Nó có thể phức tạp hơn một chút nếu bạn phải chỉnh sửa các vị trí điểm gắn kết bên trong các tệp HĐH. Tôi khuyên bạn nên giữ các phân vùng tương tự đủ để tất cả những gì bạn phải làm là khởi động, gắn ổ đĩa mới, sao chép, thay đổi phân vùng khởi động, cài đặt lại grub trên ổ đĩa mới. loại bỏ ổ đĩa cũ và bạn đã hoàn tất!


Bạn phải cẩn thận với việc sao chép mặc dù. Sử dụng tùy chọn -a để cp.
Kim

5
hoặc sử dụng rsync. nó có lợi thế là nếu bất cứ điều gì làm gián đoạn bản sao, bạn có thể chạy lại rsync và nó sẽ nhận từ nơi nó rời đi thay vì bắt đầu lại từ đầu. theo thứ tự ưu tiên, các công cụ phù hợp cho công việc này là: rsync, tar, cp -a
cas

+1 Gợi ý từ Craig ở trên thực sự là một lời khuyên tốt.
Axxmasterr

1

Bạn cần sao chép các tập tin như Axxmasterr đã chỉ ra. Mọi thứ khác có vẻ đúng với tôi. Những người khác đã đi theo một con đường rất giống nhau: Di chuyển cài đặt GNU / Linux sang phân vùng mới

Hãy cẩn thận với lệnh cp bạn sử dụng để sao chép tệp. Sử dụng tùy chọn -a để đảm bảo hành vi chính xác khi bạn nhấn liên kết tượng trưng và lưu giữ thông tin quyền sở hữu.

Một số người đã sử dụng tar thay vì cp để sao chép các tệp sang phân vùng mới:

$ cd sourcedir; tar - tạo --file = -. | (cd targetdir; tar --extract --file = -)

Như được đề xuất trong liên kết khi bắt đầu, bạn có thể muốn để lại mục nhập cũ trong tệp grub và chỉ cần thêm một mục mới, trong trường hợp bạn cần hoàn nguyên.

Chúc may mắn!


Tôi khuyên bạn nên thay đổi dấu chấm phẩy trong lệnh này thành && (toán tử có điều kiện) để các lệnh 'tar' tiếp theo sẽ không được thực thi nếu chdir () không thành công vì bất kỳ lý do nào (lỗi chính tả, quyền, bất cứ điều gì). Ngoài ra, tôi khuyên bạn nên sử dụng tùy chọn -S (--spzzy) với 'tar' --create để cho phép xử lý các tệp thưa như một số trường hợp của / var / log / wtmp hoặc / var / run / utmp chẳng hạn).
Jim Dennis

1

Tôi nghĩ rằng sẽ làm việc.

Nếu chỉ có một phân vùng trên mỗi ổ cứng và đĩa mới có cùng kích thước hoặc lớn hơn ổ đĩa gốc, thì cách nhanh hơn là chỉ sao chép ổ đĩa cũ (/ dev / xxx, trong đó xxx = sda đĩa gốc của bạn , hdb, v.v.) sang cái mới (/ dev / yyy).

Vì vậy, các bước sẽ là:

  1. Khởi động bằng đĩa cd trực tiếp
  2. sudo dd nếu = / dev / xxx của = / dev / yyy bs = 32k

Hãy chắc chắn rằng bạn nhận được nếu (tệp đầu vào) và chính xác, hoặc bạn sẽ ghi đè toàn bộ đĩa cũ của bạn.


Làm dd cũng sẽ sao chép hệ thống tệp, nó có thể không được chuẩn bị để thay đổi kích thước đĩa (ngay cả khi có thêm dung lượng trên đĩa mới)
Joakim Elofsson

Đúng, phân vùng nhân bản trên đĩa mới sẽ có cùng kích thước với phân vùng gốc trên đĩa cũ, vì vậy bạn cần mở rộng nó để sử dụng toàn bộ đĩa mới (Tôi sẽ sử dụng gparted). Nếu bạn cũng muốn thay đổi hệ thống tập tin thì cách tiếp cận "cp -a" được đề cập trong câu trả lời khác là tốt hơn.
Fred Hamilton

Bạn có thể thay đổi kích thước tệp ext2-3-4 bằng resize2fs. Các hệ thống tập tin khác có các công cụ tương tự. Đối với ext, nó cũng có thể giảm kích thước của hệ thống tập tin. Tôi luôn thích cách này hơn các cách tiếp cận cp / tar / dump.
Kristof Provost
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.