Làm thế nào tôi có thể di chuyển thư mục nhà đến một phân vùng riêng?


22

Tôi muốn cài đặt một bản phân phối khác nhưng giữ thư mục nhà của tôi. Có cách nào để di chuyển thư mục nhà sang một phân vùng riêng không? Tôi không có sẵn ổ cứng ngoài để sao lưu dữ liệu của mình. Tôi muốn thiết lập các phân vùng của tôi như được đề xuất ở đây .


1
Bạn luôn có thể phân vùng lại và sau đó khôi phục / nhà từ bản sao lưu. Bạn có sao lưu không?
KeithB

Câu trả lời:


13

Câu hỏi của bạn là trung lập, vì vậy nếu tôi đề cập đến bất cứ điều gì cụ thể mà bạn không có, chỉ cần sử dụng tương đương về phía bạn.

Tôi thực sự khuyên bạn nên mua một thiết bị ngoài để sao lưu, hãy tin tôi, mất dữ liệu của bạn là điều tồi tệ nhất. Tiếp tục với rủi ro của riêng bạn - Nhưng nếu bạn không thể có được, đây là những gì bạn có thể làm.

Những gì bạn cần

  • kích thước của thư mục / nhà của bạn
  • không gian trống, nhiều hơn kích thước của thư mục / nhà của bạn
  • công cụ phân vùng đĩa, tôi khuyên bạn nên gparted

Phải làm gì

  • Kiểm tra kích thước của thư mục / nhà của bạn (kết quả cuối cùng sẽ là tổng số nhà):

    du -h /home

  • Kiểm tra xem bạn có đủ không gian trống cho phân vùng mới không:

    df -h

  • Cài đặt gparted

    sudo apt-get install gparted

Bạn cần nhiều không gian trống hơn kích thước của thư mục / nhà của bạn. Nếu bạn không có không gian trống, thì bạn sẽ không thể tạo phân vùng mới đó và dù sao cũng cần phải chuyển dữ liệu của bạn sang bên ngoài.

Nếu bạn có không gian, hãy sử dụng gparted để thu nhỏ phân vùng hiện có của bạn, sau đó tạo một phân vùng mới với không gian chưa được phân bổ. Khi phân vùng mới của bạn đã sẵn sàng, hãy lưu ý nó / dev / sdax (sử dụng sudo fdisk -lđể xem cái này) và sao chép các tập tin / home của bạn vào nó.

Sử dụng phân vùng trong một bản phân phối mới

Bạn đã đề cập đến việc cài đặt một bản phân phối khác, nếu bạn dự định ghi đè lên bản phân phối hiện tại của mình, thì trong quá trình cài đặt, bạn nên được yêu cầu thiết lập các phân vùng. Tại thời điểm đó, bạn có thể chỉ định phân vùng này là / home, chọn không định dạng nó và tất cả sẽ ổn, bạn có thể bỏ qua phần tiếp theo này.

Tuy nhiên, nếu bạn muốn bản phân phối hiện tại của bạn hoạt động với phân vùng mới / home, hãy làm theo phần sau:

Gắn kết phân vùng trong một bản phân phối hiện có

Chúng tôi phải yêu cầu HĐH của bạn sử dụng phân vùng làm nhà mới / nhà của bạn, chúng tôi thực hiện việc này trong fstab, nhưng trước tiên hãy để chúng tôi tìm UUID của phân vùng mới này:

ls -l /dev/disk/by-uuid

Tham chiếu chéo của phân vùng mới của bạn / sdax và sao chép UUID của phân vùng đó, của tôi trông như thế 3d866059-4b4c-4c71-a69c-213f0e4fbf32.

Sao lưu fstab: sudo cp /etc/fstab /etc/fstab.bak Chỉnh sửa fstab:sudoedit /etc/fstab

Ý tưởng là thêm một dòng mới gắn kết phân vùng tại / home. Sử dụng UUID của riêng bạn, không phải cái tôi đăng ở đây;)

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=3d866059.. /home           auto    default         0       1

Lưu và khởi động lại, và kiểm tra xem phân vùng mới có gắn kết với / home không. Chạy df -hđể liệt kê tất cả các phân vùng được gắn kết, / home bây giờ sẽ nằm trong danh sách đó.


Ghi chú

  • Có thể là một ý tưởng tốt để làm quen với fstab nếu bạn không biết rõ về nó. Chỉ cần dành thời gian của bạn và suy nghĩ về từng bước.
  • Nếu bạn cài đặt một bản phân phối mới và sử dụng cùng tên đăng nhập, các tệp cũ / nhà của bạn sẽ tự động thuộc quyền sở hữu của bạn.
  • Đây không phải là một chủ đề tầm thường trong một bài viết, nhưng tôi nghĩ rằng tôi đã có hầu hết nó. :)

Tôi đang cố gắng sử dụng gparted, nhưng tôi không thể thay đổi kích thước phân vùng /. Bạn có bất kỳ khuyến nghị về cách thay đổi kích thước phân vùng gốc? Tôi có thể sử dụng Parted Magic để làm điều đó từ một đĩa CD trực tiếp.
vanillaike

1
Có, bạn sẽ cần phải làm điều đó từ Live CD vì hệ thống tập tin được gắn bởi hệ điều hành đang chạy. Ubuntu Live CD, Knoppix hoặc Parted Magic đều sẽ hoạt động.
đảo ngược

3

Tiêu đề của bài viết và câu hỏi của bạn gây ra một số nhầm lẫn cho tôi. Bạn có muốn tách riêng bạn homethành một phân vùng, hoặc bạn chỉ muốn cài đặt lại và giữ nguyên home?

Nếu tất cả những gì bạn muốn là cài đặt lại toàn bộ HĐH trong khi vẫn giữ homethì bạn có thể sao lưu homevào một nơi không bị ảnh hưởng bởi cài đặt, sau đó khôi phục nó sau đó, cùng với sửa lỗi (sử dụng chown -R username:groupnameđể đảm bảo quyền sở hữu là chính xác ).

Nếu bạn muốn làm theo một số thực tiễn tốt nhất và tách riêng của bạn homethì đây là hướng dẫn bạn cần . Nó được viết cho Ubuntu, nhưng tôi nghĩ điều tương tự cũng xảy ra với các bản phát hành khác.


xin lỗi vì sự nhầm lẫn. Tôi muốn tách nhà của tôi thành một phân vùng
vanillaike

CẢNH BÁO: Liên kết trong "sửa lỗi cấp phép" hiện bị trả lại một cho hai trang web khác nhau, liên kết cuối cùng sẽ nhắc một người cài đặt Adobe Flash trong bản sao hộp thoại trình cài đặt trông rất tinh ranh.
user66001

Tôi đã hủy liên kết "quyền sửa chữa" và sao chép trong lời khuyên từ bài viết gốc mà tôi thấy được lưu trữ .
mattdm

2

Giả sử bạn đã có một phân vùng riêng (và nếu bạn không có, bạn có thể muốn sử dụng gparted hoặc một cái gì đó tương tự, để tạo một phân vùng), bạn chỉ cần làm như sau (tốt nhất là người dùng root):

 cp -R /home/whatever /path/to/destination
 mv /home/whatever /home/whatever.orig
 ln -s /path/to/destionation /home/whatever 

Và sau đó giả sử rằng mọi thứ hoạt động theo cách nó cần (đăng nhập với tư cách người dùng và kiểm tra)

 rm -rf /home/whatever.orig 

Điều này sao chép toàn bộ thư mục (và tất cả nội dung) vào điểm gắn kết đích, đổi tên thư mục gốc ban đầu (trong trường hợp có gì đó bị vặn trong quá trình, sau đó chúng tôi có thể khôi phục), tạo liên kết tượng trưng từ vị trí mới đến nhà ban đầu thư mục (mà mọi thứ (như / etc / passwd) vẫn đang trỏ đến), sau đó giả sử nó đã hoạt động, xóa bản sao lưu mà chúng ta đã tạo, để lại bản sao chúng ta đặt ở hệ thống tệp đích.


Điều này thực sự không sử dụng /homelàm điểm gắn kết cho phân vùng mới. Nó chỉ là liên kết nó.
Matthew Flaschen

Đó thực sự là điều tương tự. Chỉ vì / home / tên người dùng là một liên kết tượng trưng không có nghĩa là nó sẽ không hoạt động. Nếu bạn muốn đặt tất cả tài khoản người dùng trên phân vùng khác, chỉ cần thay đổi dòng 'cp -R' thành / home thay vì / home / tên người dùng
Matt Simmons
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.