Câu trả lời:
Tôi sẽ thử với dd
(đừng quên thay thế tên thiết bị như sda
bằng tên thiết bị của bạn):
/etc/fstab
bằng những thứ như /dev/sda1
( sda
= số hd đích!)update-grub2 && grub-install /dev/sda
dd if=/dev/sda /home/user/sda.img
dd if=/media/drive/sda.img of=/dev/sda
Vấn đề lớn nhất có thể là bộ nạp khởi động (nhưng có hướng dẫn cho việc này ngay cả trong diễn đàn này). Tôi đã từng cài đặt lại bộ tải khởi động bằng cách cài đặt Ubuntu mới (tốt nhất là giống như bạn đã cài đặt) và sau đó dd
phân vùng cũ qua cài đặt mới (trong trường hợp này, bạn sẽ chỉ dd
/dev/sda1
, không /dev/sda
bao gồm bộ tải khởi động và tất cả các phân vùng)
Đã không cố gắng này bản thân mình, nhưng mô tả có vẻ là đủ thực tế để thử.
1> thực hiện một tar của hệ điều hành virtualBox của bạn
2> bắt đầu với một bản phân phối trực tiếp
3> mở khóa hệ điều hành virtualBox của bạn trong phân vùng đích / s (ví dụ / dev / sda1)
4> làm cho phân vùng có thể khởi động được sda1) Lệnh (m để được giúp đỡ): q (q = exit)
5> cài đặt grub vào mbr (https://wiki.ubfox.com/Grub2) # mount / dev / sda1 / mnt / # mount --bind / dev / mnt / dev # mount --bind / Proc / mnt / Proc # mount --bind / sys / mnt / sys # cd / mnt && chroot. # (chroot) update-grub # (chroot) grub-install / dev / sda (KHÔNG / dev / sda1!) # (chroot) grub-install --recheck / dev / sdX
6> Tận hưởng ...
Chính xác những gì từ cài đặt mà bạn muốn di chuyển? Nếu tất cả những gì bạn quan tâm là dữ liệu người dùng và tùy chọn, có lẽ bạn chỉ có thể sao chép mọi thứ từ thư mục chính trên máy ảo sang hệ thống tệp bên ngoài VM (ví dụ như ổ khóa), sao chép các tệp đó sang bản cài đặt Ubuntu mới và sau đó cài đặt lại bất kỳ chương trình nào bạn đã cài đặt trên VM. Phụ thuộc vào mức độ bạn đã tùy chỉnh cài đặt VM, so với mức độ rắc rối của các giải pháp khác ở đây.
Tôi thích sử dụng rsync để sao lưu hệ thống của mình. Điều này tốt cho thư mục directroy hoặc ect tại nhà nhưng có thể không phải là thứ bạn đang tìm kiếm trong điều kiện di chuyển hệ thống hoàn chỉnh. Để sử dụng rsync, bạn sẽ cần cài đặt Ubuntu trên cả hai hệ thống. Cập nhật cả hai để các gói giống nhau và ở cùng cấp độ (điều này không bắt buộc nhưng sẽ giúp mọi việc dễ dàng hơn). Sau đó, để sao chép thư mục nhà của bạn từ server1 sang server2, bạn có thể chạy như sau trên server1:
$rsync -avz /home/username/ username@server2:/home/username/
Điều tôi thích ở đây là rsync sẽ tính toán sự khác biệt giữa các thư mục và chuyển các thay đổi thay vì mọi thứ. Bằng cách này, bạn có thể giữ bản sao lưu của mình bằng cách chạy trên server2 (để sao lưu trên server1):
$rsync -avz /home/username/ username@server1:/home/username/
thứ