Ubuntu磁盘挂载常用命令
1.查看硬盘情况
需要用到的命令:
lsblk #查看所有硬盘情况
df -lh #查看硬盘占用情况,以及挂载位置
sudo fdisk -l #查看硬盘分区情况
sudo fdisk /dev/sdb #给硬盘sdb创建分区
sudo mkfs.ext4 /dev/sdb #格式化硬盘sdb,并写入文件系统
sudo mount /dev/sdb /mnt/pan #将硬盘sdb挂载到 /mnt/pan 目录
如果不知道要挂载磁盘的路径,可以使用 fdisk -l
查看服务器上未挂载的硬盘。
或者也可以使用 lsblk
查看服务器上磁盘挂载情况。
1.1 使用 fdisk - l 查看硬盘分区情况
当前电脑中所有的硬盘情况,挂载的、没挂载的,分区的,没有分区的。
类似windows下的分区助手软件一样,查看整个的一个硬盘情况。
root@a512-3090:/home/lyq/# fdisk -l
sudo fdisk -l
.......
.......
disk /dev/sda:7.28 TiB,8001563222016 字节,15628053168 个扇区
Disk model: ST8000NM012A-2KE
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
磁盘标识符:437E15B1-3780-40D4-9C49-52240F7BBE49
设备 起点 末尾 扇区 大小 类型
/dev/sda1 34 32767 32734 16M Microsoft 保留
/dev/sda2 32768 15628050431 15628017664 7.3T Microsoft 基本数据
# /dev/sda 表明我这个硬盘 是个已经挂载且分区后的硬盘,因为格式问题,在Ubuntu下不能使用。
.......
.......
1.2 使用 lsblk 命令查看所有硬盘情况
root@a512-3090:/home/lyq/# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 4K 1 loop /snap/bare/5
loop1 7:1 0 55.6M 1 loop /snap/core18/2620
loop2 7:2 0 219M 1 loop /snap/gnome-3-34-1804/77
loop3 7:3 0 54.2M 1 loop /snap/snap-store/558
loop4 7:4 0 63.2M 1 loop /snap/core20/1695
loop5 7:5 0 248.8M 1 loop /snap/gnome-3-38-2004/99
loop6 7:6 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop7 7:7 0 48M 1 loop /snap/snapd/17336
loop8 7:8 0 346.3M 1 loop /snap/gnome-3-38-2004/119
loop9 7:9 0 65.2M 1 loop /snap/gtk-common-themes/1519
loop10 7:10 0 45.9M 1 loop /snap/snap-store/599
loop11 7:11 0 49.7M 1 loop /snap/snapd/17576
loop12 7:12 0 63.2M 1 loop /snap/core20/1634
loop14 7:14 0 219M 1 loop /snap/gnome-3-34-1804/72
loop15 7:15 0 55.6M 1 loop /snap/core18/2632
sda 8:0 0 7.3T 0 disk
├─sda1 8:1 0 16M 0 part
└─sda2 8:2 0 7.3T 0 part /media/jxh/200226B902269436
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1
│ 259:1 0 512M 0 part /boot/efi
└─nvme0n1p2
259:2 0 953.4G 0 part /
1.3 df -lh 查看硬盘占用情况,以及挂载位置
没有挂载上去的硬盘不会显示。
因此 再可以结合 fdisk - l
, lsblk
命令,知道有哪些硬盘没有挂载上去,就能针对性的去挂载目的硬盘。
root@a512-3090:/home/lyq/# df -lh
文件系统 容量 已用 可用 已用% 挂载点
udev 32G 0 32G 0% /dev
tmpfs 6.3G 244M 6.1G 4% /run
/dev/nvme0n1p2 938G 768G 123G 87% /
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/loop0 128K 128K 0 100% /snap/bare/5
/dev/loop1 56M 56M 0 100% /snap/core18/2620
/dev/loop2 219M 219M 0 100% /snap/gnome-3-34-1804/77
/dev/loop3 55M 55M 0 100% /snap/snap-store/558
/dev/loop5 249M 249M 0 100% /snap/gnome-3-38-2004/99
/dev/loop6 92M 92M 0 100% /snap/gtk-common-themes/1535
/dev/loop4 64M 64M 0 100% /snap/core20/1695
/dev/loop10 46M 46M 0 100% /snap/snap-store/599
/dev/loop11 50M 50M 0 100% /snap/snapd/17576
/dev/loop9 66M 66M 0 100% /snap/gtk-common-themes/1519
/dev/loop8 347M 347M 0 100% /snap/gnome-3-38-2004/119
/dev/loop7 48M 48M 0 100% /snap/snapd/17336
/dev/loop12 64M 64M 0 100% /snap/core20/1634
/dev/loop14 219M 219M 0 100% /snap/gnome-3-34-1804/72
/dev/nvme0n1p1 511M 24M 488M 5% /boot/efi
tmpfs 6.3G 44K 6.3G 1% /run/user/1006
tmpfs 6.3G 20K 6.3G 1% /run/user/125
/dev/loop15 56M 56M 0 100% /snap/core18/2632
tmpfs 6.3G 48K 6.3G 1% /run/user/1009
tmpfs 6.3G 76K 6.3G 1% /run/user/1019
/dev/sda2 7.3T 333M 7.3T 1% /media/jxh/200226B902269436
2.使用parted 查看硬盘信息
# 命令格式为: parted 设备路径 print
parted /dev/sda print
root@a512-3090:/home/lyq/# parted /dev/sda print
型号:ATA ST8000NM012A-2KE (scsi)
磁盘 /dev/sda: 8002GB
扇区大小 (逻辑/物理):512B/4096B
分区表:gpt
磁盘标志:
编号 起始点 结束点 大小 文件系统 名称 标志
1 17.4kB 16.8MB 16.8MB Microsoft reserved partition msftres
2 16.8MB 8002GB 8002GB ntfs Basic data partition msftdata
3. fdisk 磁盘管理
我们在安装操作系统的过程中已经对系统硬盘进行了分区,但如果新添加了一块硬盘,想要正常使用,难道需要重新安装操作系统才可以分区吗?
当然不是,在 Linux 中有专门的分区命令 fdisk 和 parted。
其中 fdisk 命令较为常用,但不支持大于 2TB 的分区;如果需要支持大于 2TB 的分区,则需要使用 parted 命令,当然 parted 命令也能分配较小的分区。
我们先来看看如何使用 fdisk 命令进行分区。
注意,千万不要在当前的硬盘上尝试使用 fdisk,一不小心,这会完整删除整个系统,一定要再找一块硬盘,或者使用虚拟机。
3.1 fdisk 命令
root@a512-3090:/mnt/iso# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.34)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助): m
帮助:
GPT
M 进入 保护/混合 MBR
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
x 更多功能(仅限专业人员)
脚本
I 从 sfdisk 脚本文件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本文件
保存并退出
w 将分区表写入磁盘并退出
q 退出而不保存更改
新建空磁盘标签
g 新建一份 GPT 分区表
G 新建一份空 GPT (IRIX) 分区表
o 新建一份的空 DOS 分区表
s 新建一份空 Sun 分区表
3.2 删除分区 : d
把我这个块已经分区的硬盘给删除:
删除 /dev/sda 的 分区
root@a512-3090:/mnt/iso# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.34)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助): d
分区号 (1,2, 默认 2): 2
分区 2 已删除。
命令(输入 m 获取帮助): d
已选择分区 1
分区 1 已删除。
命令(输入 m 获取帮助): p
Disk /dev/sda:7.28 TiB,8001563222016 字节,15628053168 个扇区
Disk model: ST8000NM012A-2KE
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
磁盘标识符:437E15B1-3780-40D4-9C49-52240F7BBE49
可以看出,在打印分区时 ,分区已经不存在了。
3.3 创建分区 :n
整个磁盘分区删除完,就可以根据自己情况,再创建新的分区。
4. mkfs.ext4 格式化
如果硬盘的格式不是linux支持的,使用mkfs.ext4
进行格式化,一般使用ext4等linux常用格式即可。
sudo mkfs.ext4 设备名称
# 上述命令会格式化硬盘分区为ext4的文件系统。
root@a512-3090:/mnt/iso# mkfs.ext4 /dev/sda
mke2fs 1.45.5 (07-Jan-2020)
在 /dev/sda 中发现一个 gpt 分区表
无论如何也要继续?(y,N) y
创建含有 1953506646 个块(每块 4k)和 244191232 个 inode 的文件系统
文件系统 UUID:bcf7ddd1-4d45-482b-98cf-1a6cb46d5821
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632
正在分配组表: 完成
正在写入 inode表: 完成
创建日志(262144 个块): 完成
写入超级块和文件系统账户统计信息: 已完成
格式化后,整个分区就变成ext4格式
root@a512-3090:/mnt/iso# parted /dev/sda print
型号:ATA ST8000NM012A-2KE (scsi)
磁盘 /dev/sda: 8002GB
扇区大小 (逻辑/物理):512B/4096B
分区表:loop
磁盘标志:
编号 起始点 结束点 大小 文件系统 标志
1 0.00B 8002GB 8002GB ext4
5. 总结
1)
一般/dev/sda是一块磁盘;
/dev/sda1 是这个磁盘的一个分区
/dev/sda2 是这个磁盘的一个分区
2)
挂载的时候要指定一个具体的分区,不能直接指定整个磁盘,否则会报错,不能挂载:
3)
sda表示已挂载已分区,
sdb表示已挂载未分区,
sdc表示未挂载
4)
如果硬盘的格式不是linux支持的,使用mkfs.ext4
进行格式化,一般使用ext4等linux常用格式即可。
如果对分区不满意,还需要先使用 fdisk工具 进行分区。
5)
-
通过
lsblk #查看所有硬盘情况
和df -lh #查看硬盘占用情况,以及挂载位置
我们可以找到未挂载到系统的硬盘设备。 -
使用parted 设备路径查看磁盘或者硬盘信息,