ย้ายโฮมโฟลเดอร์ไปยังไดรฟ์ที่สอง


65

ฉันมี HDD ไดรฟ์ 2 ตัวในคอมพิวเตอร์ของฉัน /media/storageในขณะที่ไดรฟ์ที่สองคือการติดตั้งเป็น

ฉันจะย้ายข้อมูลผู้ใช้ของฉันจาก/homeไปยังได้/media/storage/homeอย่างไร

ฉันสามารถย้ายข้อมูลตรงนั้นแล้วเพียงแค่เชื่อมโยงกลับมาได้หรือไม่


คำตอบที่ใช้ usermod นั้นง่ายที่สุด: สร้างผู้ใช้ temp admin สลับไปยังบัญชีusermod -m -d /path/to/non_existent_home_dir usernameนั้นสลับกลับไปยังบัญชีของคุณ (ชื่อผู้ใช้) ลบผู้ใช้ temp admin แม้ว่ามันจะยังคงอยู่ 5 ขั้นตอน แต่มีน้อยกว่าคำตอบอื่น ๆ วิธีเสี่ยงน้อยลงและขั้นตอนที่ง่ายกว่า
โอลิเวอร์

คำตอบ:


31

หากคุณต้องการย้ายโฮมไดเร็กตอรี่ของคุณเช่น/ home / your-usernameจากนั้นคัดลอกโฮมไดเร็กตอรี่ของคุณไปยังพาร์ติชั่นอื่น ๆ จากนั้นใช้ System-> Administration-> Users & Groups เพื่อเปิดกล่องโต้ตอบการตั้งค่าผู้ใช้ คลิกที่ไอคอนคีย์เพื่อรับรองความถูกต้องของคุณเอง

ข้อความแสดงแทน

หลังจากนั้นเลือกผู้ใช้ที่คุณต้องการเปลี่ยนและคลิกคุณสมบัติไปที่แท็บขั้นสูง

ข้อความแสดงแทน

เปลี่ยนโฮมไดเร็กทอรีเป็นไดเร็กทอรีใหม่เช่นไดเร็กทอรีที่คุณคัดลอกไปยังพาร์ติชันอื่น


3
จริง มันเป็นวิธีที่ดีในการเปลี่ยนตำแหน่งไดเรกทอรีบ้านของผู้ใช้ที่ต้องการได้อย่างง่ายดาย ในขณะที่อ่านคำถามฉันเข้าใจว่าจะเป็นเช่นนี้สำหรับไดเรกทอรี / home ทั่วโลก ในกรณีนี้คุณสามารถสร้างพาร์ติชันบนอุปกรณ์อื่นย้ายไฟล์ทั้งหมดที่นั่นด้วยตนเองแล้วเปลี่ยนอุปกรณ์สำหรับจุดเมานท์ในไฟล์ / etc / fstab
jfmessier

3
@jfmessier: คุณควรตอบว่าไม่ใช่ความคิดเห็น!
Skizz

1
หากคุณกำลังคัดลอกโฮมไดเรกทอรีของคุณด้วย 'cp' ในบรรทัดคำสั่งคุณควรใช้ 'cp -rPa *': r เพื่อเรียกซ้ำ, P สำหรับการไม่ติดตามลิงก์, เพื่อรักษาสถานะความเป็นเจ้าของและการอนุญาต
drevicko

1
ความสามัคคีใน 13.04 ไม่มี "ผู้ใช้ & กลุ่ม" เพียงแค่การตั้งค่า "ผู้ใช้" ที่ไม่มีตัวเลือกเหล่านี้ คุณสามารถพูดถึงข้อกำหนดที่เกี่ยวข้องสำหรับ Unity ใน 13.04 ได้ไหม
Torben Gundtofte-Bruun

หากคุณใช้ Ubuntu 12.04 หรือสูงกว่าตัวเลือกในการใช้วิธี GUI อาจไม่สามารถใช้ได้อย่างน้อยก็สำหรับฉัน ฉันต้องใช้วิธีนี้พบได้ที่นี่: help.ubuntu.com/community/Partitioning/Home/Moving
Kyle Coots

84

การย้าย HOME จากบรรทัดคำสั่ง

เพื่อหลีกเลี่ยงผลข้างเคียงขณะที่ทำงานในกราฟิกสภาพแวดล้อมที่เราควรจะดำเนินการทั้งหมดจะย้ายบ้านจากขั้วกับCtrl+ +AltF1

เมาท์พาร์ติชันใหม่ชั่วคราว:

sudo mkdir /mnt/tmp
sudo mount /dev/sdb1 /mnt/tmp

สมมติว่า/ sdb1เป็นพาร์ติชั่นใหม่สำหรับ HOME

คัดลอก HOME ไปยังตำแหน่งใหม่:

sudo rsync -avx /home/ /mnt/tmp

จากนั้นเราอาจติดตั้งพาร์ติชั่นใหม่เป็นหน้าแรกด้วย

sudo mount /dev/sdb1 /home

เพื่อให้แน่ใจว่ามีข้อมูลทั้งหมดอยู่ ที่ง่ายที่สุดคือการลบเก่า/homeที่จุดนี้ (คุณสามารถทำในภายหลัง แต่แล้วคุณจะต้องบูตระบบสดเพื่อดูบ้านเก่า):

sudo umount /home  #unmount the new home first!
rm -rf /home/*  #deletes the old home

ทำที่บ้านถาวร

เราจำเป็นต้องรู้ UUID ของพาร์ติชันใหม่สำหรับfstabรายการที่เห็นจาก:

sudo blkid

บันทึกหรือคัดลอก / วาง UUID ที่ถูกต้องเพื่อแก้ไขfstabด้วย

sudo nano /etc/fstab   #or any other editor

และเพิ่มบรรทัดต่อไปนี้ในตอนท้าย:

UUID=<noted number from above>    /home    ext4    defaults   0  2

ระมัดระวังในการเลือกระบบไฟล์ที่เหมาะสมที่นี่เช่นext3ถ้ามีการจัดรูปแบบ ext3

Reboot

หลังจากรีบูตเครื่องคุณจะ/homeอยู่ในไดรฟ์ใหม่ซึ่งมีพื้นที่เหลือเฟือ


1
ไม่ได้ผลสำหรับฉัน
corev

2
ฉันขอแนะนำให้ออกจากโปรไฟล์ที่คุณต้องการย้ายจากนั้นคุณสามารถใช้เครื่องมือการกระจายเช่นเดียวusermodกับงานนี้
LiveWireBT

มันได้ผล! ขอบคุณ ฉันสามารถลบออก/mnt/tmpหลังจากรีบูตได้หรือไม่
e9t

@ e9t: เป็นเพียงจุดเมานท์ที่เราสร้างขึ้นเพื่อให้สามารถเมานต์ที่หน้าแรกของเราได้ชั่วคราว เป็นไปได้ที่จะลบจุดเมานท์นี้ แต่จะไม่เป็นอันตราย (และอาจปลอดภัยกว่า) เพียงแค่เก็บไว้ หากด้วยเหตุผลใดก็ตามที่คุณยังต้องการลบโปรดระมัดระวังเป็นพิเศษเพื่อไม่ให้มีสิ่งใดติดตั้งอยู่ที่นั่น (ไม่เช่นนั้นคุณอาจเสี่ยงต่อการลบข้อมูลทั้งหมดที่คุณได้ติดตั้งไว้อย่างถาวร/mnt/tmp)
Takkat

1
ฉันทำตามคำแนะนำเหล่านี้สำหรับเซิร์ฟเวอร์ของฉันและตอนนี้ฉันไม่สามารถเข้าถึงได้ผ่าน SSH (การอนุญาตถูกปฏิเสธ (publickey) :( :( :( :(
Khue

13

รายละเอียดขั้นตอนอย่างเป็นทางการอยู่ที่นี่บน Ubuntu ช่วยเหลือ wiki


ค้นหา UUID ของพาร์ติชัน

sudo blkid

ตั้งค่า Fstab

sudo -H gedit /etc/fstab 

และเพิ่มบรรทัดเหล่านี้ลงไป

UUID=????????   /media/home    ext4    defaults    0  2 

และแทนที่????????ด้วยหมายเลข UUID ของ/homeพาร์ติชันที่ต้องการ

บันทึกและปิดfstabไฟล์จากนั้นพิมพ์คำสั่งต่อไปนี้:

sudo mkdir /media/home

คัดลอก/homeไปยังพาร์ติชันใหม่

sudo rsync -aXS --progress --exclude='/*/.gvfs' /home/. /media/home/.

ตรวจสอบการคัดลอกทำงาน

sudo diff -r /home /media/home -x ".gvfs/*"

หมายเหตุ: คุณสามารถคาดหวังว่าจะเห็นข้อผิดพลาดบางอย่างเกี่ยวกับไฟล์ที่ไม่พบ สิ่งเหล่านี้เกิดจากลิงก์สัญลักษณ์ที่ชี้ไปยังสถานที่ที่ไม่มีอยู่ในปัจจุบัน (แต่จะทำหลังจากที่คุณรีบูทแล้ว) คุณสามารถละเว้นสิ่งเหล่านี้ - แต่ลองดูสิ่งอื่น

การเตรียม fstab สำหรับสวิตช์

sudo -H gedit /etc/fstab

และตอนนี้แก้ไขบรรทัดที่คุณเพิ่มไว้ก่อนหน้านี้เปลี่ยน/media/homeส่วนที่จะพูด/homeเพื่อให้ดูเหมือนว่า:

UUID=????????   /home   ext4    defaults     0  2 

ย้าย/homeเข้ามา/old_home

cd / && sudo mv /home /old_home && sudo mkdir /home

รีบูตหรือติดตั้งใหม่ทั้งหมด

รีบูตหรือติดตั้งใหม่ทั้งหมดด้วยสิ่งนี้:

sudo mount -a

10
ยินดีต้อนรับสู่ถาม Ubuntu! ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
Eliah Kagan

7

จริง มันเป็นวิธีที่ดีในการเปลี่ยนตำแหน่งไดเรกทอรีบ้านของผู้ใช้ที่ต้องการได้อย่างง่ายดาย ในขณะที่อ่านคำถามฉันเข้าใจว่าจะเป็นเช่นนี้สำหรับไดเรกทอรี / home ทั่วโลก ในกรณีนี้คุณสามารถสร้างพาร์ติชันบนอุปกรณ์อื่นย้ายไฟล์ทั้งหมดที่นั่นด้วยตนเองแล้วเปลี่ยนอุปกรณ์สำหรับจุดเชื่อมต่อในไฟล์ / etc / fstab


2

ตกลงวิธีเดียวที่ฉันพบนี้จะทำงานคือการสร้างผู้ใช้อื่นให้สิทธิ์ผู้ดูแลระบบออกจากระบบ id หลักเข้าสู่ระบบด้วยรหัสใหม่แล้วใช้คำสั่ง usermod


0

งาน:

  • ตรวจสอบความพร้อมใช้งานและฟอร์แมต HDD สองตัว: "WD Purple" และ "WD Gold"
  • ต่อเชื่อม HDD สองตัวกับระบบไฟล์ Ubuntu
  • ย้ายโฟลเดอร์ HOME ไปที่ "WD Gold" HDD

ลิงก์ที่เกี่ยวข้อง:

ฟอร์แมตดิสก์

ปลั๊กอิน SATA และสายไฟที่จำเป็นทั้งหมดลงใน HDD ของคุณ โหลด Ubuntu กดแป้นพิมพ์และพิมพ์ "ดิสก์" โปรแกรมอรรถประโยชน์ "ดิสก์" จะเปิดขึ้น: ป้อนคำอธิบายรูปภาพที่นี่

ในยูทิลิตี้นี้คุณสามารถฟอร์แมตฮาร์ดดิสก์ของคุณในระบบไฟล์ Ext4 มิฉะนั้นการฟอร์แมตดิสก์ใช้คำสั่ง:

  1. fdisk (ผู้ชาย fdisk);
  2. แยกจากกัน (ชายแยก);
  3. mkfs (ผู้ชาย mkfs)

ตัวอย่างเช่น แต่ฉันไม่แน่ใจเกี่ยวกับพารามิเตอร์เนื่องจากใช้ GUI "ดิสก์":

sudo mkfs.ext4 -L purple /dev/sdb  # not sure with parameters
sudo mkfs.ext4 -L gold   /dev/sdc  # not sure with parameters

เก็บไว้ในใจว่าการจัดรูปแบบจะลบทุกอย่างบนฮาร์ดดิสก์ของเป้าหมาย คุณสามารถข้ามขั้นตอนนี้หากมีข้อมูลใด ๆ ในฮาร์ดดิสก์และคุณต้องการไม่ทำมันหาย

การจัดรูปแบบช้าควรใช้เวลานาน: จาก 16 ถึง 20 ชั่วโมงสำหรับดิสก์ 4TB

ติดตั้งดิสก์อย่างถาวร

# Press CTRL+ALT+T and open a console.
# Check your /dev/sdb and /dev/sdc discs are visible:
lsblk
# Create directories for the new HDD WD Purple and WD Gold
sudo mkdir /hdd_purple
sudo mkdir /hdd_gold  # temporary directory
# Temporary mount to the new mount point
sudo mount /dev/sdb1 /hdd_purple
sudo mount /dev/sdc1 /hdd_gold
# Unmount drives
sudo umount /dev/sdb1
sudo umount /dev/sdc1

# Configuration file /etc/fstab has list of all partitions that will be mounted at boot.
# 1. Show and copy UUID of the HDD with this command:
sudo blkid
# My data is:
#     /dev/sdb1: LABEL="purple" UUID="6ce9ec1f-3bf5-420f-8502-1b4f55f2fc60" TYPE="ext4" PARTUUID="a14c8357-a8ce-42e4-9772-64ccfad3e226"
#     /dev/sdc1: LABEL="gold" UUID="1d049c7c-4565-480b-a181-2459e8ff8c1b" TYPE="ext4" PARTUUID="4c691b21-b4e3-4dab-ab91-d7bf7272b2b5"
# Make a backup of that file to be able to revert changes.
sudo cp /etc/fstab /etc/fstab.2018.11.29.bak
# 2. Add a new partitions by editing /etc/fstab file as root:
sudo nano /etc/fstab
# 3. At the bottom of fstab file add 2 lines similar to this:
UUID=6ce9ec1f-3bf5-420f-8502-1b4f55f2fc60   /hdd_purple   ext4   defaults           0  2
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b   /hdd_gold     ext4   defaults           0  2
# Your UUID have to be different!
# Write the file with keys <Ctrl+O> then <Return>. Quit the editor with <Ctrl+X>.
# If you have Midnight Commander running, then save before quitting with <Ctrl+X>,
# because <Ctrl+O> will switch from nano editor to your MC.

# To see if the drive is mounted correctly we can simulate the mount process at boot with:
sudo mount -a

การย้าย HOME จากบรรทัดคำสั่ง

# To avoid side effects while working in a graphical, environment
# we should perform all actions to move HOME from a terminal with Ctrl+Alt+F3.

# Press <Ctrl+Alt+F3> and swidth to console mode.
# Login in the console mode.

# Copy HOME to the new location:
sudo rsync -avx /home/ /hdd_gold

# Delete everything in the HOME directory.
# Be careful with this command, make sure you have a backup.
rm -rf /home/*

# Make HOME permanent -- edit /etc/fstab configuration file
sudo nano /etc/fstab
# Change string
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b  /hdd_gold  ext4  defaults  0  2
# to string
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b  /home      ext4  defaults  0  2
# /hdd_golds change to /home directory

# After a reboot, your /home resides on the new drive having plenty of space.
sudo reboot
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.