很多的人的linux都是装的双系统,就存在一个比较常见的问题:开始分配的磁盘比较小,后面导致磁盘空间不足,尤其是根目录(/)。
通过Linux的文件系统工具可以实现把磁盘的空闲分区挂载到linux系统上,也可以把新的磁盘挂载上去。
1.挂载空闲分区:
空闲分区可从Windows磁盘管理压缩卷或删除卷得到
查看分区,从中找到空闲分区:$sudo fdisk -l
$ sudo fdisk -l
设备 起点 末尾 扇区 大小 类型
/dev/sda1 2048 534527 532480 260M EFI 系统
/dev/sda2 534528 567295 32768 16M Microsoft 保留
/dev/sda3 567296 198778879 198211584 94.5G Microsoft 基本数据
/dev/sda4 198778880 345577471 146798592 70G Microsoft 基本数据
/dev/sda5 345579520 385579007 39999488 19.1G Linux 文件系统
/dev/sda6 385579008 391579647 6000640 2.9G Linux swap
/dev/sda7 391579648 392359935 780288 381M Linux 文件系统
/dev/sda8 392359936 555294719 162934784 77.7G Linux 文件系统
/dev/sda9 555294720 723064831 167770112 80G Microsoft 基本数据
/dev/sda10 974725120 976773119 2048000 1000M Windows 恢复环境
/dev/sda11 723064832 890836991 167772160 80G Linux 文件系统
/dev/sda12 890836992 974725119 83888128 40G Linux 文件系统
由于我现在没有空闲分区,所以没有显示。/dev/sda表示是第一块磁盘,Linux下磁盘通过a,b,c...排序,sda是第一块磁盘,sdb是第二块。后面的数字代表该磁盘分区的序号,1代表第一块分区。
找到空闲分区所在的磁盘(以磁盘a为例),输入:sudo fsidk /dev/sda
$sudo fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.31.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):
之后输入n创建新分区
一次按提示输入分区号,开始扇区和结束扇区(在结束扇区也可输入分配的磁盘空间大小,比如+20G)
不同的电脑提示略有不同。
命令(输入 m 获取帮助): n
分区号 (13-128, 默认 13): 13
第一个扇区 (34-976773134, 默认 345577472):
上个扇区,+sectors 或 +size{K,M,G,T,P} (345577472-345579519, 默认 345579519): +1M
创建了一个新分区 13,类型为“Linux filesystem”,大小为 1 MiB。
命令(输入 m 获取帮助):
之后输入w写入保存,分区就建好了。
接下来需要格式化分区(sda13表示刚创建好的分区),将分区格式化位ext4(大多数linux的文件系统分区格式都是ext4)
$sudo mkfs.ext4 /dev/sda13
然后是最后一步,挂载分区:
目前好像只能挂载在新建的目录上,本人尝试挂载到现有目录均失败。
所以在一个现有目录新建一个目录
$ cd /home/user
$ mkdir newdir
有两种挂载方式,临时挂载和开机自动挂载
临时挂载:两个目录分别为新建分区和新建目录
$ sudo mount /dev/sda13 /home/user/newdir
开机自动挂载:
在/etc/fstab文件加入新建挂载分区
注:UUID和分区需要改成自己新建分区的(新建分区的UUID可以通过sudo blkid查看)
UUID=cadb375d-b30f-4988-875f-107b782aad86 /home/user/newdir ext4 defaults 0 0
或者加入
/dev/sda13 /home/user/newdir ext4 defaults 0 0
以上两条命令等价
最后重启用mount查看是否挂载上了