Ubuntu新硬盘多分区及挂载/home目录

实验室新到了一块2T的硬盘,我需要装在我的电脑上。我自己的电脑本身是双硬盘双系统win10+ubuntu16.04,其中win10装在一个256GB的固态硬盘上;ubuntu16.04装在机械硬盘上150多GB的分区里,当初预留不够,导致我的ubuntu系统现在只有10GB空间可用,因此我打算把新硬盘分两个区,一个分区用来备份实验室的文件,另一个分区挂载到/home目录。

主要流程:
一、将新硬盘分成两个区
二、将/home和/Lab_Backup分别挂载到上面的两个分区

接下来是详细流程
一、将新硬盘分成两个区

  1. sudo fdisk -l 首先利用这条命令进行查看硬盘信息,看自己的新硬盘是哪一个?下面是我自己的硬盘信息
    在这里插入图片描述
    可以看到我的硬盘为sdc,这说明这块硬盘是这台电脑的第三块硬盘,还可以看到硬盘单位信息,512个sectors大小为512bytes,这说明一个sector为1byte。
  2. fdisk /dev/sdc 利用这条命令进行分区。分区的过程是:你先按照命令进行分区设置,最后才根据你的分区设置进行硬盘的物理分区。当输入上面这个命令后,会出现
    在这里插入图片描述
    然后我们按m
    在这里插入图片描述
    可以看到我们主要用到的按键有: n m w q
  3. 按n,创建分区,然后会让你输入Partition number (1-4, default 1):,我们输入1,这样我们创建的分区名称就为sdc1,然后会让你输入first sector,一般敲回车默认就好,然后Last sector需要我们注意,这里输入的值和我们的分区大小有关,所以我们应该先将我们想要的分区大小换算为以bytes为单位,然后输入bytes数目敲回车确认,系统会提示你创建了多大的sdc1。上面我们创建了第一个分区,然后我们可以输入n,按照上面的流程,创建我们的第二个特定大小的分区,如果想创建多个分区,重复这一操作就可以了。
  4. 在创建完分区后,我们输入w,进行物理分区。
  5. 对我们分好的两个区进行格式化,命令mkfs -t ext4 -c /dev/sdc1

二、一些过渡操作

  1. sudo blkid 获取分区的UUID,UUID是分区的唯一表示,sdc这种表示硬盘的方式应该会在某些情况下发生变化,这是我们需要UUID的原因。
  2. sudo mkdir /Lab_Backup 这个文件夹用来备份实验室成员的一些数据,将来准备挂载到sdc1上。
  3. sudo mkdir /media/home 这个文件夹用来中转/home,可以巧妙的将现在的/home挂载到我们的sdc2上。

三、/home及/Lab_Backup挂载到两个分区

  1. 修改fstab文件 sudo gedit /etc/fstab。 ubuntu在启动时根据此文件来挂载分区到指定目录。先将以下信息添加到文档最后一行UUID=???????? /media/home ext4 defaults 0 0将问号部分我们替换成sdc2的UUID,这样就可以将sdc2挂载到/media/home这个目录。再将以下信息添加到文档最后一行,将问号替换成sdc1的UUID
    UUID=???????? /Lab_Backup ext4 defaults 0 0保存文件退出
  2. sudo mount -a 用此命令重新挂载分区,或者重启。
  3. sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/. 用这个命令复制/home到/media/home,可以将权限等东西完全复制,再用以下命令看文件是否一致。sudo diff -r /home /media/home -x “.gvfs/*”
  4. 成功复制/home之后,再重新设置fstab中sdc2 UUID对应的那一行,让sdc2挂载到目录/home上。
  5. cd / && sudo mv /home /old_home && sudo mkdir /home 把已有的/home重命名然后创建一个新的/home文件,等系统重启或者执行sudo -mount -a后,就可以将sdc2这个分区挂载到/home,此时/home中的文件和以前的文件相同,这都要归功于/media/home这个中转的目录。
  6. 重启电脑,利用 df -h 查看硬盘的挂载情况。
  7. 可以将/old_home删除掉,或者先留着,当作备份。

注意⚠️ 我有一次错误地将空空的sdc2挂载到/home这个目录,然后我重启后,我一直等不进去系统,反复让我输入密码,然后我冷静地进入命令行,更改fstab这个文件,删掉错误挂载的那一行,重启,然后错误就解决了。

参考链接:
https://blog.csdn.net/wr132/article/details/75916692
https://blog.csdn.net/qq_35379989/article/details/78932740
https://www.cnblogs.com/jiu0821/p/7209825.html