实验室新到了一块2T的硬盘,我需要装在我的电脑上。我自己的电脑本身是双硬盘双系统win10+ubuntu16.04,其中win10装在一个256GB的固态硬盘上;ubuntu16.04装在机械硬盘上150多GB的分区里,当初预留不够,导致我的ubuntu系统现在只有10GB空间可用,因此我打算把新硬盘分两个区,一个分区用来备份实验室的文件,另一个分区挂载到/home目录。
主要流程:
一、将新硬盘分成两个区
二、将/home和/Lab_Backup分别挂载到上面的两个分区
接下来是详细流程
一、将新硬盘分成两个区
sudo fdisk -l
首先利用这条命令进行查看硬盘信息,看自己的新硬盘是哪一个?下面是我自己的硬盘信息
可以看到我的硬盘为sdc,这说明这块硬盘是这台电脑的第三块硬盘,还可以看到硬盘单位信息,512个sectors大小为512bytes,这说明一个sector为1byte。fdisk /dev/sdc
利用这条命令进行分区。分区的过程是:你先按照命令进行分区设置,最后才根据你的分区设置进行硬盘的物理分区。当输入上面这个命令后,会出现
然后我们按m
可以看到我们主要用到的按键有: n m w q- 按n,创建分区,然后会让你输入Partition number (1-4, default 1):,我们输入1,这样我们创建的分区名称就为sdc1,然后会让你输入first sector,一般敲回车默认就好,然后Last sector需要我们注意,这里输入的值和我们的分区大小有关,所以我们应该先将我们想要的分区大小换算为以bytes为单位,然后输入bytes数目敲回车确认,系统会提示你创建了多大的sdc1。上面我们创建了第一个分区,然后我们可以输入n,按照上面的流程,创建我们的第二个特定大小的分区,如果想创建多个分区,重复这一操作就可以了。
- 在创建完分区后,我们输入w,进行物理分区。
- 对我们分好的两个区进行格式化,命令
mkfs -t ext4 -c /dev/sdc1
。
二、一些过渡操作
-
sudo blkid
获取分区的UUID,UUID是分区的唯一表示,sdc这种表示硬盘的方式应该会在某些情况下发生变化,这是我们需要UUID的原因。 -
sudo mkdir /Lab_Backup
这个文件夹用来备份实验室成员的一些数据,将来准备挂载到sdc1上。 -
sudo mkdir /media/home
这个文件夹用来中转/home,可以巧妙的将现在的/home挂载到我们的sdc2上。
三、/home及/Lab_Backup挂载到两个分区
- 修改fstab文件
sudo gedit /etc/fstab
。 ubuntu在启动时根据此文件来挂载分区到指定目录。先将以下信息添加到文档最后一行UUID=???????? /media/home ext4 defaults 0 0
将问号部分我们替换成sdc2的UUID,这样就可以将sdc2挂载到/media/home这个目录。再将以下信息添加到文档最后一行,将问号替换成sdc1的UUIDUUID=???????? /Lab_Backup ext4 defaults 0 0
保存文件退出 -
sudo mount -a
用此命令重新挂载分区,或者重启。 -
sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.
用这个命令复制/home到/media/home,可以将权限等东西完全复制,再用以下命令看文件是否一致。sudo diff -r /home /media/home -x “.gvfs/*” - 成功复制/home之后,再重新设置fstab中sdc2 UUID对应的那一行,让sdc2挂载到目录/home上。
-
cd / && sudo mv /home /old_home && sudo mkdir /home
把已有的/home重命名然后创建一个新的/home文件,等系统重启或者执行sudo -mount -a
后,就可以将sdc2这个分区挂载到/home,此时/home中的文件和以前的文件相同,这都要归功于/media/home这个中转的目录。 - 重启电脑,利用
df -h
查看硬盘的挂载情况。 - 可以将/old_home删除掉,或者先留着,当作备份。
注意⚠️ 我有一次错误地将空空的sdc2挂载到/home这个目录,然后我重启后,我一直等不进去系统,反复让我输入密码,然后我冷静地进入命令行,更改fstab这个文件,删掉错误挂载的那一行,重启,然后错误就解决了。