在网上搜到格式化硬盘的命令大多数为sudo mkfs.ext4 /dev/sdc。但是如果这个硬盘装过操作系统,就无法进行这个操作。
$ sudo mkfs.ext4 /dev/sdc
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdc is entire device, not just one partition!
无论如何也要继续? (y,n) y
/dev/sdc is apparently in use by the system; will not make a 文件系统 here!
# 以下为中文提示
$ sudo mkfs.ext4 /dev/nvme0n1
mke2fs 1.45.5 (07-Jan-2020)
Found a gpt partition table in /dev/nvme0n1
Proceed anyway? (y,N) y
/dev/nvme0n1 is apparently in use by the system; will not make a filesystem here!
此时系统中硬盘的信息为
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 558.9G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 557.7G 0 part
├─centos00-root 253:0 0 250G 0 lvm /
├─centos00-swap 253:1 0 4G 0 lvm [SWAP]
└─centos00-home 253:4 0 303.7G 0 lvm /home
sdb 8:16 0 558.9G 0 disk
├─sdb1 8:17 0 1G 0 part
├─sdb2 8:18 0 1G 0 part
└─sdb3 8:19 0 556.9G 0 part
sdc 8:32 0 3.7T 0 disk
└─sdc3 8:35 0 3.7T 0 part
├─centos-root 253:2 0 1003G 0 lvm
└─centos-swap 253:3 0 51G 0 lvm
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 349.3G 0 disk
└─nvme0n1p1 259:1 0 349.3G 0 part /nvme
由于sdc中存在lvm,所以无法进行格式化。要删除lvm的信息。
首先查看lvm的信息
$ sudo dmsetup status
centos00-home: 0 636928000 linear
centos00-swap: 0 8388608 linear
centos00-root: 0 104857600 linear
centos00-root: 104857600 419430400 linear
centos-swap: 0 106954752 linear
centos-root: 0 2103435264 linear
然后删除没有用到的lvm,由于我们的硬盘装在sda中(可以通过df -h中的根目录和home目录的大小对比lsblk的内容确定我们的系统装在哪个盘中),所以我们删除sdc中的lvm信息
sudo dmsetup remove centos-swap centos-root
接下来我们就可以格式化sdc磁盘了。
sudo mkfs.ext4 /dev/sdc