Linux-磁盘挂载

1 说明

避免一头雾水,请先看完说明,再看最下面的挂载教程

1.1 挂载流程

START–>查看要挂载的是哪块硬盘–>将硬盘分区–>格式化分区–>设置开机自启(即永久挂载)–>执行挂载命令–>END

1.2 查看当前挂载的磁盘,磁盘剩余的空间

$ df -h

在这里插入图片描述
查看某个文件夹/文件大小可以用这个命令du -sh /usr

1.3 查看分区情况

$ fdisk -l

在这里插入图片描述
当前系统一共存在三块磁盘:sda,sdb,sdc;其中sda已经有两个分区sda1和sda2。也可以使用lsblk命令查看具体的磁盘分区情况
在这里插入图片描述

2 挂载磁盘正文

我们以挂载未分区的vdb到/data目录为例子

2.1 查看分区情况

$ fdisk -l

Disk /dev/vdb: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2.2 设置分区

$ fdisk /dev/vdb

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

2.3 输入m查看帮助(可跳过)

Command (m for help): m

Help:
  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table

2.4 输入g创建一个空的GPT分区表

Command (m for help): g

Created a new GPT disklabel (GUID: 3B765FDC-74EB-E34E-ADF3-34A6F616C8B6).
The old dos signature will be removed by a write command.

2.5 输入p查看磁盘已被转成GTP分区格式

Command (m for help): p

Disk /dev/sda: 500 GiB, 536870912000 bytes, 1048576000 sectors
Disk model: QEMU HARDDISK   
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: 046CA995-F20A-184D-BA13-D7C144240C87

2.6 输入n 创建分区 默认磁盘序号是1-128

Command (m for help): n

2.7 回车下一步,选择磁盘序号为默认

Partition number (1-128, default 1): 1

2.8 回车下一步,默认第一扇区为默认大小

First sector (2048-1048575966, default 2048):

2.9 回车下一步,默认最后一个扇区为默认大小

Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1048575966, default 1048575966):

Created a new partition 1 of type 'Linux filesystem' and of size 500 GiB.
Partition #1 contains a ext4 signature.

2.10 输入yes,删除签名(可能不会出现这步,未出现可忽略)

Do you want to remove the signature? [Y]es/[N]o: yes

The signature will be removed by a write command.

2.11 输入w 保存设置

Command (m for help): w

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

2.12 查看分区情况

$ fdisk -l

Disk /dev/vdb: 200 GiB, 214748364800 bytes, 419430400 sectors
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: 1A0C9D01-9A82-402F-B078-73CA4431DFB9

#     Start       End   Sectors  Size Type
1   2048 419430366 419428319  200G Linux filesystem

2.13 格式化 vdb1 为ext4类型

$ mkfs.ext4 /dev/vdb1

mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 52428539 4k blocks and 13107200 inodes
Filesystem UUID: a7cf4158-cc23-49bf-81eb-d19882299d67
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

2.14 设置开机启用

2.14.1 查询分区uuid

$ ls -l /dev/disk/by-uuid/

total 0
lrwxrwxrwx 1 root root 10 Dec 14 14:10 5bb40f03-8000-4453-9218-a3cd77897ca0 -> ../../vda1
lrwxrwxrwx 1 root root 10 Dec 14 14:43 a7cf4158-cc23-49bf-81eb-d19882299d67 -> ../../vdb1

2.14.2 设置

$ vi /etc/fstab

UUID=a7cf4158-cc23-49bf-81eb-d19882299d67 /data                   ext4    defaults        0 0

上面是将vdb1挂载到/data目录,如果无此目录,请新建此目录

2.15 挂载分区

$ mount -a

2.16 检查分区挂载情况

$ df -h

3 挂载磁盘,不报错,却没挂载上

3.1 背景

今天服务器磁盘缩减,卸载磁盘,挂载新磁盘。mount -a不报错,却没有成功挂载上

3.2 查看系统日志

journalctl -S "2023-03-28 15:00:00"

原来是systemd还记录着vdb1挂载到/data,需要重载一些配置

# 重载配置
systemctl daemon-reload
# 挂载
mount -a
# 查看是否挂载好了
df -h
<think>我们正在处理一个关于Linux磁盘挂载的问题。根据用户提供的引用和问题描述,用户需要一份详细的Linux磁盘挂载指南。我们将结合引用内容,构建一个完整的磁盘挂载流程。引用内容要点:-引用[1]:提供了磁盘挂载的完整流程,包括检查硬盘状态、分区、格式化、挂载和设置自动挂载(/etc/fstab)。强调了操作需谨慎,特别是编辑fstab时。-引用[2]:提到了一本Linux书籍,其中包含磁盘挂载实验案例,但具体内容未详细给出。-引用[3]:展示了使用blkid命令获取磁盘UUID的示例,并提到修改磁盘挂载配置文件。用户需求:查找磁盘挂载的解决方案或指南。因此,我们将按照以下步骤构建回答:1.检查磁盘状态(使用lsblk、fdisk等命令)2.磁盘分区(使用fdisk或parted)3.格式化分区(使用mkfs)4.挂载分区(使用mount)5.设置开机自动挂载(通过编辑/etc/fstab)6.验证挂载注意:在关键步骤给出示例命令,并提醒用户谨慎操作(特别是fstab)。另外,用户之前的问题是关于创建普通用户的,但当前问题转向了磁盘挂载,因此我们专注于磁盘挂载。我们将生成相关问题:1.如何卸载已挂载磁盘?2.如何调整磁盘分区大小?3.挂载磁盘时遇到权限问题如何解决?开始编写回答。</think>### Linux 磁盘挂载详细教程 以下是完整的磁盘挂载流程,涵盖**分区创建 → 格式化 → 挂载 → 开机自动挂载**四个关键步骤。操作需`root`权限(使用`sudo`或切换至root用户)。 --- #### 1. **检查磁盘状态** 查看系统识别到的磁盘设备: ```bash lsblk # 显示所有块设备(树状结构) fdisk -l # 查看磁盘分区详情 ``` 输出示例: ``` NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 50G 0 disk └─vda1 253:1 0 50G 0 part / vdb 253:16 0 100G 0 disk <--挂载的新磁盘 ``` > 此处`vdb`为待挂载磁盘(无分区和挂载点)[^1]。 --- #### 2. **创建分区** 使用`fdisk`对新磁盘分区(以`/dev/vdb`为例): ```bash fdisk /dev/vdb ``` 交互式操作流程: 1. 输入 `n` → 创建新分区 2. 输入 `p` → 选择主分区类型 3. 分区号默认(回车) 4. 起始/结束扇区默认(全盘分区直接回车) 5. 输入 `w` → 保存分区表 > 完成后通过 `fdisk -l /dev/vdb` 验证分区(如`/dev/vdb1`)[^1]。 --- #### 3. **格式化分区** 选择文件系统类型(推荐`ext4`或`xfs`),格式化新分区: ```bash # 格式化为ext4 mkfs.ext4 /dev/vdb1 # 或格式化为xfs mkfs.xfs /dev/vdb1 ``` > ⚠️ 格式化会清除所有数据!确认分区名称无误[^1]。 --- #### 4. **临时挂载分区** 创建挂载目录并挂载: ```bash mkdir /data # 创建挂载点目录 mount /dev/vdb1 /data # 挂载分区 ``` 验证挂载: ```bash df -hT | grep /data # 查看挂载状态 ``` 输出示例: ``` /dev/vdb1 ext4 100G 0% /data ``` --- #### 5. **设置开机自动挂载** 通过`/etc/fstab`配置文件实现永久挂载: ```bash # 获取分区的UUID(推荐使用UUID防止设备名变更) blkid /dev/vdb1 # 输出:/dev/vdb1: UUID="c28be586-c293..." TYPE="ext4" [^3] # 编辑fstab文件 vim /etc/fstab ``` 在文件末尾添加: ``` UUID=c28be586-c293-41b0-bcba-4890db06ea9e /data ext4 defaults 0 0 ``` 字段说明: - `UUID`:分区唯一标识 - `/data`:挂载点路径 - `ext4`:文件系统类型 - `defaults`:挂载参数 - `0 0`:dump和fsck选项 > **关键安全步骤**: > 执行 `mount -a` 测试配置是否正确,若报错需立即修正,否则可能导致系统无法启动[^1][^3]。 --- #### 6. **验证结果** ```bash # 重启后检查自动挂载 reboot df -hT | grep /data # 测试读写权限 touch /data/testfile rm /data/testfile ``` --- ### ⚠️ 注意事项 1. **操作前备份数据**:分区和格式化会清除磁盘内容。 2. **谨慎编辑/etc/fstab**:错误配置可能导致系统无法启动。 3. **使用UUID挂载**:设备名(如`/dev/vdb1`)可能变动,UUID更稳定[^3]。 4. **磁盘权限**:若普通用户需访问挂载点,用`chmod`设置目录权限(如`chmod 755 /data`)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值