场景
500G 硬盘
100MB `boot`分区 |8G `swap`分区 |450G `/`分区
我需要将/home
分区单独提取一个分区出来,即变成
100MB `boot`分区 |8G `swap`分区 |100G `/`分区 |350G `/home`分区
步骤
- sudo e2fsck -fy /dev/sda3 // f 是表示检查,y表示一直确认,直到修复完
- sudo resize2fs /dev/sda3 100G //将文件系统调整到50G(不太明白文件系统大小和分区大小的关系)
- sudo fdisk /dev/sda // 使用fdisk进行分区
- 首先输入p,查看要调整分区(sda3)的start序号(重要)
- 输入
d
删除要sda3,选择3 - 输入
n
添加一个主分区,分区号选择3 - 选择
start
地址,就是刚才查看的地址(一般不用修改,默认就是刚才的值) - 选择分区容量,输入
+100G
- 然后再新建一个分区,输入n,选择p(主分区),选择默认起点,再选择默认终点
- 按w保存分区表
- 这里有可能会报错,什么device被占用之类的错误
- 使用
partprobe /dev/sda
命令重载/dev/sda 重载分区表,(命令成功界面没有显示)
sudo e2fsck -fy /dev/sda3
修复sda3分区sudo resize2fs /dev/sda3
检查一下有没有问题- sda3分区已经没有问题了,数据全部都保留着。
- 格式化sda4
sudo mkfs.ext4 /dev/sda4
- 然后就是迁移所有
/home
数据到sda4
- 在fstab中添加一行
UUID=xxxxxxxxxxxxxxx /home ext4 defaults 0 0
- 开机后使用
sudo chown -R username:username /home/fan
,否则由于权限问题导致无法登录
大功告成!