仰望星空
发布于 2026-06-08 / 6 阅读

linux系统中与硬盘有关的操作

本文收集一些与硬盘信息有关的linux指令与操作,方便日后查阅参考。

1 lsblk

记法:ls指令,但是输出的是block

这条指令可以查看当前连接的所有硬盘信息,运行结果如下:

yw@debian:~$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 238.5G  0 disk
├─sda1   8:1    0   976M  0 part /boot/efi
├─sda2   8:2    0 229.7G  0 part /
└─sda3   8:3    0   7.8G  0 part [SWAP]
sdb      8:16   0 465.8G  0 disk
└─sdb1   8:17   0 465.8G  0 part /mnt/storage

其中sdasdb是实际的硬盘,后面带的数字是这个盘不同的分区。SIZE就是大小,然后最后一列是分区的挂载点,这个就是实际能够访问硬盘的位置。

2 mount&umount

这两条指令用于挂载硬盘的分区。通过上面的那条指令得到硬盘分区的信息后,就可以使用这两条指令来挂载或者取消挂载。

对于虚拟机中的共享文件夹也可以用这个指令来挂载

2.1 mount

命令格式为sudo mount [要挂载的分区路径] [挂载的位置]

例如:

yw@debian:~$ sudo mount /dev/sdb1 /home/yw/tmp/empty_dir
[sudo] yw 的密码:
yw@debian:~$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 238.5G  0 disk
├─sda1   8:1    0   976M  0 part /boot/efi
├─sda2   8:2    0 229.7G  0 part /
└─sda3   8:3    0   7.8G  0 part [SWAP]
sdb      8:16   0 465.8G  0 disk
└─sdb1   8:17   0 465.8G  0 part /home/yw/tmp/empty_dir
                                 /mnt/storage

使用mount需要注意:

  1. 必须用sudo
  2. 要挂载的目录(上面为/home/yw/tmp/empty_dir)必须已经存在

2.2 umount

对于已经挂载的目录,可以通过unmount取消挂载,命令为:sudo umount [要取消挂载的路径]

例如:

yw@debian:~$ sudo umount /home/yw/tmp/empty_dir
yw@debian:~$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 238.5G  0 disk
├─sda1   8:1    0   976M  0 part /boot/efi
├─sda2   8:2    0 229.7G  0 part /
└─sda3   8:3    0   7.8G  0 part [SWAP]
sdb      8:16   0 465.8G  0 disk
└─sdb1   8:17   0 465.8G  0 part /mnt/storage

3 blkid

这条指令输出所有分区的UUID信息以及块大小,文件系统信息等,用法:sudo blkid(一定要有sudo)

例如:

yw@debian:~$ sudo blkid
/dev/sdb1: UUID="db92c15a-199b-4c7f-9382-c68c19759cfd" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0326d89a-01"
/dev/sda2: UUID="8e7b91ac-007a-49b5-bf07-72c7cdd2b7be" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ffe5ceea-d312-44a1-83d2-78f3c519088b"
/dev/sda3: UUID="15cd7fde-8e6a-4306-ab5e-181da014b8c0" TYPE="swap" PARTUUID="b1347dbf-02e6-43cb-898b-a9594764f8ee"
/dev/sda1: UUID="A757-485E" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="5cdff84a-7cfd-46a3-bcc1-1b604748e1f5"

4 /etc/fatab

这个文件是文件系统表,用于实现开机自动挂载。例如下面的这条配置:

UUID=db92c15a-199b-4c7f-9382-c68c19759cfd /mnt/storage ext4 defaults,nofail 0 2

  • UUID就是前面blkid得到的信息
  • 后面跟的/mnt/storage是启动后的挂载点
  • ext4是文件系统类型,同样在blkid中得到
  • defaults,nofail是配置信息,defaults允许一组默认的权限和行为,推荐加上;nofail对于非系统盘必须要有,意思是即使识别失败(比如你把硬盘拔了)系统也允许正常启动
  • 0 2建议不要变。0表示不使用dump备份,现在的磁盘一般都选这个,2表示在检查根分区对应的磁盘分区后,过来检查这个盘有没有错误

5 udisksctl

这个命令主要用来给硬盘断电(也可以拿来解挂等操作),命令格式:

udisksctl power-off -b [设备路径]

例如:

udisksctl power-off -b /dev/sdb

由于我现在是远程控制,如果运行的话得去现场插拔才能重新识别,所以这里就不运行这个指令了。
虽然这条指令会自动检测是否挂载并取消,但是建议还是先手动取消挂载,然后再运行这条指令断电。

6 smartctl

这条指令用于查看硬盘的健康状况,使用方式:sudo smartctl -a [设备名称],例如sudo smartctl -a /dev/sdb注意必须要加sudo。命令会输出很多信息,直接交给AI解读即可。


评论