本博客适用的场景:
1.新买了一块硬盘想用它来扩充/home/或其他目录
2.之前分区有误,将根目录/home/全放在了移动硬盘上,想迁移到机械硬盘上去
3.想扩充硬盘分区,但担心数据受损
正文:
以扩充/home/为例;以下命令均在root下执行
su root #进入root
第一步:对硬盘进行分区(若已经分过区,且不需要重新分区的可跳过此步骤)
fdisk -l #查看硬盘分区
fdisk /dev/sdb #分区(选整个新硬盘若发现有部分空间未显示完则先输入g新建磁盘)
Command (m for help):m #根据指令输入 m
Command (m for help):n #新建一个分区
Command (m for help):p #主分区
Partition number (1-4):1 #输入 1, 即为主磁盘分区
First cylinder(1-175664, default 1):1 #输入默认值即可
Last cylinder or + size or sizeM or + sizeK(1-1775664,default 175664):
#若不想将硬盘剩余空间全部分配,计算对应的大小输入即可
Command (m for help):p #查看分区
Command (m for help) : w #写保存并退出
# 查看是否已经建好逻辑磁盘
fdisk -l
第二步 对新分出的空间进行格式化
lsblk #查看各分区情况,选定将要挂载到home的硬盘,此处为 /dev/sdb1
mkfs -t ext4 /dev/sdb1 #将新硬盘格式化为ext4格式。
第三步 备份准备
cd /mnt
mkdir home #创建临时目录,用于备份
mount /dev/sdb1 /mnt/home #挂载未分配的硬盘到该目录
第四步 备份文件并挂载/home/到新硬盘
cp -a /home/* /mnt/home #备份home的文件到/mnt/home中;一定要用cp -a 而不是 cp -r,前者可以保留所有关系
sudo mv /home/ /homie/ #将/home/重命名放在一旁,防止操作不当造成数据丢失
mkdir /home/ #新建真正的home
mount /dev/sdb1 /home/ #将硬盘挂载到home里;此时之前备份到/mnt/home中的文件也会出现在/home/中
umount /dev/sdb1 /mnt/home/ #取消备份点的挂载,可以发现/mnt/home/下已经空了,而/home/中的文件还在
第五步 永久挂载设置
sudo gedit /etc/fstab
在打开的文档末尾添加:
/dev/sda1 /home/ ext4 defaults 1 2 #使其永久挂载
df -h #检查挂载状态,发现成功挂载。
第六步 检查确认
重启
检查/home/文件夹大小是否已变换,在使用一段时间后若发现无异常可将之前备份的/homie/文件夹完全删除;
若出现异常可将homie换为home文件即可还原
补充:若在第二步分配的空间有误,可使用sudo gparted随时调整空间大小
如有疑问请在评论区留言,如有帮助麻烦右上角点个赞~~蟹蟹(*^▽^*)~