美文网首页Linux新手指北
Linux | 迁移 Home 家目录

Linux | 迁移 Home 家目录

作者: imrdr | 来源:发表于2019-05-16 14:29 被阅读0次

    前两天,把我的 Ubuntu 弄坏了(误删系统,木有备份),没能修复,决定重装。装的时候,脑袋短路,把 home 目录和 / 目录装到一块了!(T T)
    今天我准备把它搞正常了。

    我的环境:
    Ubuntu18.04LTS
    根目录:/dev/sda2
    家目录:/dev/sda9(但是现在在/dev/sda2)

    1. 使用LiveCD启动,查看自己用的是哪块硬盘,分区如何:

    sudo fdisk -l
    

    一定要看好,看明白自己的每一个分区中都装着什么,确定后再进行下一步。
    也许不用LiveCD启动也行,我认为风险可能大一点。因为,在LiveCD中,其它分区我不挂载(我的硬盘分区比较多)。
    不知道对不对,欢迎评论。

    2. 把/dev/sda9挂载到/mnt/

    sudo mount /dev/sda9 /mnt
    

    3. 进入想迁移的home目录,把家目录中的文件全部复制到/dev/sda9(换成你自己的)

    sudo cp -a ./myhome  /mnt   # 划重点:‘-a' 参数必选,把目录文件属性等统统复制过去。
    

    如果有其他用户,请仿造

    4. 查看/dev/sda9的分区的UUID

    sudo blkid      # 从结果中找到/dev/sda9
    

    输出结果像这样:

    /dev/loop0: TYPE="squashfs"
    。。。。。。
    /dev/sda9: UUID="f38380b3-ce84-4006-96fd-3374403872f5" TYPE="xfs" PARTUUID="9d779d77-06"
    /dev/sda10: UUID="41007837-b4b7-447c-85ae-eff4cb9e0b77" TYPE="swap" PARTUUID="9d779d77-07"
    。。。。。。
    

    你将看到`UUID=“一串数字", 把这串数字复制保存下来。

    5. 修改/dev/sda2/etc/fstab,以改变系统挂载点。

    sudo mkdir /mnt/root/   #在/mnt下创建一个根目录的挂载点
    sudo mount /dev/sda2 /mnt/root  #挂载
    cd /mnt/root/etc/
    sudo vim ./fstab            # 修改挂载点
    

    这个文件像这样:

    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system>                                  <mount point>   <type>  <options>               <dump>     <pass>
    # / was on /dev/sda2 during installation
    UUID=1d1398af-e518-436b-a716-8ac2d60f7ba3       /                xfs        errors=remount-ro       0        1
    # /home was on /dev/sda9 during installation
    UUID=1d1398af-e518-436b-a716-8ac2d60f7ba3       /home            xfs        defaults                0        0
    # swap was on /dev/sda10 during installation
    UUID=41007837-b4b7-447c-83ae-eff4cb0e0b77       none             swap        sw                     0        0
    

    把home底下那一行,复制一行并注释掉以备份,然后在原来的那一行上,把UUID修改为刚才你保存的那一串数字(/dev/sda9的UUID),注意文件系统的格式也一样,常见的是xfs, ext4,其他的别动。

    比如:

    # /home was on /dev/sda9 during installation
    UUID=1d1398af-e518-436b-a716-8ac2d60f7ba3       /home            xfs        defaults                0        0
    # swap was on /dev/sda10 during installation
    #UUID=41007837-b4b7-447c-83ae-eff4cb0e0b77      none             swap        sw                     0        0
    UUID=f38380b3-ce84-4006-96fd-3374403872f5       none             swap        sw                     0        0
    

    保存,退出。

    6. 重启电脑,进入 PC 操作系统。

    如果重启成功后,就回去 把根目录底下那个家目录删掉就行了(注意区分是新挂载的分区上的家目录,还是旧的根分区上的那个家目录)。

    Cheers!

    相关文章

      网友评论

        本文标题:Linux | 迁移 Home 家目录

        本文链接:https://www.haomeiwen.com/subject/ualiaqtx.html