Skip to main content

DevSam

如何在Debian系统中查看和挂载磁盘

Table of Contents

我有一台Linux家庭服务器,在此服务器中安装了Jellyfin影音应用,供平时家庭观看高质量影片。但是每年总会出现几次掉盘的问题,所以偶尔需要操作挂载磁盘。由于平时不经常操作磁盘挂载这类运维操作,所以在需要时总是记不住命令。但是对大致的流程有个印象,第一步需要找到目标磁盘的分区信息,第二步执行mount命令挂载磁盘。另外还需要注意挂载磁盘要考虑权限问题。

经历多次搜索和大模型问答后,觉得还是记录一下这个过程,下次可以直接查找自己的文档来进行操作。

# 检查磁盘是否被系统识别

首先,插入硬盘后需要检查系统是否检测到了硬盘。通常,使用lsblkfdisk -l命令可以查看所有块设备,包括新插入的硬盘。如果用户没有看到新硬盘,可能需要检查硬件连接,或者确认内核是否加载了相关驱动。我的情况是在正常使用过程中掉盘,所以磁盘检测和分区这些应该都不是问题。

我平时使用fdisk命令比较多。不过我们可以先看下两个工具的输出结果,看看这两种工具的差异。

执行lsblk命令后可以看到如下输出。注意如下内容会因为操作系统不同或者用户连接的磁盘有所差异。如下信息中可以看到两个磁盘,分别是sdanvme0n1,其中后者是我操作系统的磁盘,是一块M.2的固态硬盘。前者是一块大容量的机械硬盘,通过typec连接到我的机器。我当前的目的便是将sda这块磁盘挂载到操作系统中。

> sudo lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0   7.3T  0 disk
├─sda1        8:1    0   200M  0 part
└─sda2        8:2    0   7.3T  0 part
nvme0n1     259:0    0 931.5G  0 disk
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0 930.1G  0 part /
└─nvme0n1p3 259:3    0   977M  0 part [SWAP]

执行fdisk命令后我们能看到更详细的信息,比如磁盘容量、分区信息、厂商信息等。

> sudo fdisk -l
Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Fanxiang S790 1TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 5AE666F9-1B41-427C-AD5B-3CF8E8AACE0E

Device              Start        End    Sectors   Size Type
/dev/nvme0n1p1       2048    1050623    1048576   512M EFI System
/dev/nvme0n1p2    1050624 1951522815 1950472192 930.1G Linux filesystem
/dev/nvme0n1p3 1951522816 1953523711    2000896   977M Linux swap
GPT PMBR size mismatch (4294967294 != 15628053167) will be corrected by write.


Disk /dev/sda: 7.28 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: 000A-2KE101
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 97BEB77D-2907-4C84-BC78-5F17DD97E135

Device      Start         End     Sectors  Size Type
/dev/sda1      40      409639      409600  200M EFI System
/dev/sda2  411648 15628052479 15627640832  7.3T Microsoft basic data

# 挂载磁盘

通过mount命令可以操作磁盘的挂载,详细命令如下:

sudo mount -o uid=1000,gid=1000 /dev/sda2 /media/seagate8t

其中几个重要的参数做一下简单的说明:

  • -o uid=1000,gid=1000 是挂载命令的选项options,代表挂载磁盘的访问权限。uid和gid可以通过id命令查询。
  • /dev/sda2 磁盘的内容分区,我们通过分区的大小可以简单判断。比如我的硬盘是8T规格,其中7.3T的sda2分区应该是我的数据分区。
  • /media/seagate8t 是操作系统的挂载点,这个挂载点需要提前创建,否则挂载命令会提示出错。

执行挂载命令后,我们进入挂载点目录,便可以进行常规的磁盘读写操作了。

sam@um480xt:pts/0->/media/seagate8t (0)
> ll
total 2.3M
drwxr-xr-x  2 sam sam 256K Apr 10 14:10 backup
drwxr-xr-x  2 sam sam 256K Mar 30 02:43 dates
drwxr-xr-x  2 sam sam 256K Jan 14  2024 fonts
drwxr-xr-x  2 sam sam 256K Mar 15 02:03 hongkongdoll
drwxr-xr-x  2 sam sam 256K May 30 10:24 Movies
drwxr-xr-x 10 sam sam 256K Jan 15  2024 Music
drwxr-xr-x  2 sam sam 256K Apr  6 18:28 PrivateMovies
-rwxr-xr-x  1 sam sam    5 Jun  1 15:54 readme.md
drwxr-xr-x 47 sam sam 256K Apr 21 14:47 Shows