查看磁盘分区并新建一个分区,挂载分区
linux系统磁盘
df -h
查看文件系统的磁盘的空间占用情况,常用于快速检查磁盘使用率:df -h
-h是说把磁盘空间以G位单位,如果直接用df也是可以的,只不过单位是块,看的不明显
du -sh /home/
查看/home目录下总共占用了多大的空间:du -sh /home/
du
是 disk usage 的缩写,用于查看目录或文件占用的磁盘空间。-s
是 summarize 的意思,表示只显示指定目录的总大小,而不是列出每个子目录的大小。-h
是 human-readable 的意思,表示以人类可读的方式显示大小(例如 KB、MB、GB)、
lsblk
lsblk:“快速查看本机所有磁盘、分区、挂载关系”
是 “list block devices” 的缩写,用来以树形方式列出系统上所有(或指定)块设备的信息。
“块设备”通常指磁盘、分区、回环设备、光驱、LVM 逻辑卷、加密卷、NVMe、SD 卡等——只要是 /dev
下以“块”方式读写的设备都会显示。
典型输出列说明
NAME:设备名;树形缩进表示父子关系。
MAJ:MIN:主/次设备号。
RM:是否可移动(1=可移动,0=固定)。
SIZE:设备容量。
RO:是否只读。
TYPE:disk、part(分区)、rom、lvm、crypt、loop…
MOUNTPOINT:当前挂载到的目录;未挂载则为空。
lsblk # 默认输出:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
lsblk -a # 同时打印空设备(无介质的光驱等)
lsblk -f # 额外显示文件系统、UUID、LABEL、挂载点
lsblk -p # 输出完整设备路径(/dev/sda1 而非 sda1)
lsblk -o +UUID,MODEL # 自定义列:在默认列后追加 UUID 与磁盘型号
lsblk -t # 显示拓扑(alignment、物理/逻辑扇区大小等)
lsblk -J # JSON 格式,方便脚本解析
lsblk --help # 查看全部列字段与选项
示例
$ lsblk -pf
NAME FSTYPE LABEL UUID MOUNTPOINT
/dev/sda
├─/dev/sda1 vfat 7C33-4EF0 /boot/efi
├─/dev/sda2 ext4 4f3a2c77-77c2-4e3c-8b71-9a15c6606e98 /boot
└─/dev/sda3 LVM2_m b0L1Xz-YbVL-... ├─/dev/mapper/vg-root │ ext4 1e3d45bc-... / └─/dev/mapper/vg-swap swap 5f6a7890-...
创建新分区
- 首先关闭虚拟机,点击虚拟机--右键---设置--添加--选择磁盘
- 选择分区类型:在创建分区时,首先需要确定是创建主分区还是扩展分区,以及是否使用逻辑分区。
- 分区大小规划:根据实际需求规划分区大小,合理分配空间,避免资源浪费或不足。
- 文件系统格式化: 选择合适的文件系统进行格式化,如ext4,XFS等,确保分区能够被系统正确识别和使用。
fdisk
使用fdisk给磁盘做一个分区:
经典的交互式磁盘分区表管理工具,名字源自 “fixed disk”。
它只能处理 MBR 和 GPT 两种分区表,不能管理 LVM、不能格式化、不能挂载,只能做“分区”这件事:创建、删除、查看、改类型、改标志等。
sudo fdisk -l # 列出所有磁盘及分区信息(只读)
sudo fdisk -l /dev/sdb # 只看指定磁盘
sudo fdisk /dev/sdb # 进入交互界面,对该磁盘进行分区操作
交互界面常用单键命令
进入 fdisk /dev/sdb
后,按单字母即可:
m
帮助菜单p
打印当前分区表n
新建分区(会依次问主/扩展/逻辑、起始扇区、结束扇区)d
删除分区t
改分区类型(输入 L 查看 2 位十六进制代码列表)a
开关 MBR 可启动标志(仅 MBR)g
创建新的空 GPT 分区表o
创建新的空 MBR 分区表w
把修改写入磁盘并退出(真正生效)q
放弃修改直接退出
创建好一个分区后,需要格式化文件发布系统:mkfs.ext4 /dev/sdb1
补充:
GPT 时代的增强版:
- fdisk 早已支持 GPT,也能管理大于 2 TB 的磁盘。
- 如果只想 GPT 场景,也可以用更现代化的 `gdisk`(GPTfdisk 套件)。
- 对于超大容量、4K 扇区、NVMe,内核与 fdisk 都会自动对齐,一般无需手工算扇区。
一个完整极简示例
把全新 8 TB 盘 /dev/sdb 做成一个 GPT 分区,类型默认 Linux:
sudo fdisk /dev/sdbg # 新建空 GPT 表n # 新分区,一路回车用默认值w # 写入退出
随后就能看到 /dev/sdb1,接着 mkfs.ext4 /dev/sdb1格式化即可。
mkfs.ext4 /dev/sdb1
这条命令干的事情非常简单粗暴——把 /dev/sdb1
这个分区格式化成 ext4 文件系统,相当于 Windows 里“右键 → 格式化 → 选 NTFS”。
一、执行前务必确认
设备号别打错:/dev/sdb1 不是整个盘,也不是别的分区。
里面数据全会被清空,不可恢复。
分区必须先存在(可用
lsblk
/fdisk -l
确认)。
注意事项
1. 对有数据的盘操作前务必备份,w 一旦写入无法撤销。
2. 正在使用中的分区(已挂载、LVM、SWAP)不能删除/resize,需先停用。
3. fdisk 不支持“无损调整”分区大小,需要 parted/gparted或专用工具。
4. 新分区创建后,若内核未立即更新(少见),可 partprobe/partx -u或重启。
一句话总结
fdisk就是 Linux 上最常用、最轻量的“磁盘分区表编辑”命令行工具:查看、新建、删除、改类型,保存后退出才真正写入。
如果分区后,格式化后还是不能使用,通过df -h 查看发现并没有sdb的信息,这就需要将其挂载到目录
挂载分区
如何挂载?
- 选择合适的文件系统:在挂载分区之前,需要确定分区的文件系统类型,如ext4,XFS等,以确保兼容性。
- 挂载点的创建:创建一个目录作为挂载点,例如/mnt/data,用于挂载分区
- 使用mount命令挂载:通过mount命令将分区挂载之前创建的挂载点, 如 mount /dev/sdb1 /mnt/data
- 配置开机自动挂载:编辑文件,添加挂载信息,使系统在启动时自动挂载分区
能挂载也就可以卸载:umount /mnt/data
umount /mnt/data
如何自动挂载呢?
前面是手动挂载,自动挂载配置,修改 /etc/fstab文件
修改 /etc/fstab文件,添加挂载:/dev/sdb1 /mnt/data ext4 defaults 0 0
写完之后,如何判断是不是生效?使用lsblk,或者是df -h,但是这两个只会看到挂载了,不知道嫩不能使用,这时候可以使用umount /mnt/data卸载掉,然后呢就使用df -h看一下是否不见了,然后重启一下服务(使用命令:reboot),再次使用lsblk或df -h查看是否挂载到了,如果出现了就是真的能使用了。