Ubuntu硬盘的创建分区、格式化与挂载
- [1. 创建分区并格式化](#1. 创建分区并格式化)
- [2. 将分区挂载到指定路径](#2. 将分区挂载到指定路径)
- [3. 允许多用户操作](#3. 允许多用户操作)
需求:对整块硬盘(例如windows的ntfs硬盘)完全格式化重置,然后挂载到Ubuntu系统下的特定路径。
1. 创建分区并格式化
首先找到对应的硬盘名字,使用命令:
bash
lsblk
硬盘设备路径是/dev加上名字。
类似:/dev/nvme0n1(nvme接口的ssd)或者/dev/sda(SATA接口的硬盘)
确认硬盘名字是需要格式化的硬盘后,下载GPT分区工具gdisk:
bash
sudo apt update && sudo apt install -y gdisk
使用gdisk将硬盘重新分区:
bash
sudo gdisk 硬盘名
如果这块硬盘之前有windows的ntfs文件系统,此时会弹出警报:
bash
The protective MBR's 0xEE partition is oversized! Auto-repairing.
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
不用在意,继续操作。
创建新分区
bash
o
如果询问是否确认覆盖,按y确认即可。
新建分区:
bash
n
然后依次操作:
bash
回车 分区号 默认 1(如果是唯一分区,直接回车);
回车 起始扇区 默认从磁盘起始位置开始(回车即可);
回车 结束扇区 默认占用整个磁盘(回车即可,若想分多个分区可手动指定大小);
8300 分区类型 输入 8300(Linux 文件系统类型,默认也可能是这个,确认即可);
保存分区表:
bash
w
输入后会提示确认,输入 Y 回车,分区表立即生效。
再次查看分区
bash
lsblk
此时发现已经有了分区
分区名字类似:/dev/nvme0n1p1(nvme接口的ssd)或者/dev/sda1(SATA接口的硬盘)
将分区格式化为Ubuntu系统的ext4文件系统格式:
bash
sudo mkfs.ext4 分区名(不是硬盘名!)
强制刷新缓存
bash
# 清除 udev 设备缓存(blkid 依赖 udev 数据库)
sudo udevadm trigger --subsystem-match=block --action=change
# 重新加载 udev 规则
sudo udevadm settle
# 再次查看 blkid
sudo blkid 分区名
2. 将分区挂载到指定路径
查看分区的UUID:
bash
sudo blkid 分区名
找到打印信息中的UUID
编辑挂载文件:
bash
sudo vim /etc/fstab
在文件末尾添加对应的挂载配置
bash
# 固态硬盘
UUID=0f9...c93 /mnt/挂载路径1 ext4 defaults,discard 0 2
# 机械硬盘
UUID=c72...975 /mnt/挂载路径2 ext4 defaults 0 2
保存退出后,重新挂载:
bash
sudo mount -a
如果什么都没有输出,就说明一切正常。
如果输出:
bash
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.
说明缓存没刷新,重新运行:
bash
sudo systemctl daemon-reload
sudo mount -a
若报错,立即修复或者回档防止系统启动异常!
3. 允许多用户操作
将挂载路径权限设置为所有用户都可以访问:
bash
sudo chown -R 当前用户:当前用户 挂载路径
sudo chmod 775 挂载路径