因为我这台主机本身就装了2块硬盘,一块256G的固态加一块1T机械硬盘。之前安装 Ubuntu 的时候,系统使用的是256G固态;原来装的是 Windows,两块硬盘都在用。所以现在需要把1T机械盘挂载到 Ubuntu 下。下面的操作以 root 用户进行,如果你不是 root,记得在命令前加 `sudo`,并且对磁盘操作保持谨慎。
先确认硬盘和分区状态
不要凭记忆判断盘符。先查看当前块设备:
“`bash
lsblk -f
fdisk -l
“`
重点关注新硬盘是 `/dev/sdb`、`/dev/sdc` 还是其他名称,以及它是否已经有分区。如果盘上还有 Windows 时期的数据,先不要急着格式化。确认盘符后,再决定是保留数据还是清空重做。
保留数据时的挂载方式
如果这块1T硬盘里还有需要保留的文件,可以先按 NTFS 方式挂载读取:
“`bash
apt install ntfs-3g
mkdir -p /mnt/old
mount -t ntfs-3g /dev/sdb1 /mnt/old
“`
确认数据已经备份或不再需要后,再考虑重新分区格式化为 Linux 文件系统。NTFS 在 Linux 下虽然能读写,但权限、软链接和大小写敏感等特性不如原生文件系统适合 Docker、Python 项目目录和 Hexo 源码仓库。
分区与格式化
若整块盘都作为 Linux 数据盘使用,可以用 `fdisk` 或 `parted` 分区,再格式化为 `ext4`。以 `fdisk` 为例,进入交互界面后新建分区、保存退出:
“`bash
fdisk /dev/sdb
mkfs.ext4 /dev/sdb1
“`
格式化会清空目标分区数据,执行前务必再次确认设备名。不要把系统盘误当成数据盘操作。
创建挂载点并临时挂载
先建立目录,再手动挂载测试:
“`bash
mkdir -p /mnt/data
mount /dev/sdb1 /mnt/data
df -h
“`
如果能看到 `/mnt/data` 已挂载,并且容量符合预期,说明基本正常。此时可以按需调整目录权限,例如把某个普通用户设为目录所有者,方便后续存放 Python 虚拟环境、Hexo 博客源码或普通备份文件。
写入 /etc/fstab 实现开机自动挂载
临时挂载重启后会失效。要持久化,建议使用 UUID。先查询:
“`bash
blkid /dev/sdb1
“`
然后编辑 `/etc/fstab`,加入类似一行:
“`fstab
UUID=你的UUID /mnt/data ext4 defaults 0 2
“`
保存后执行:
“`bash
mount -a
“`
如果没有报错,再重启验证一次。对于移动硬盘或非关键数据盘,也可以考虑加入 `nofail` 参数,避免设备不在时影响系统启动。修改 `fstab` 前最好先备份原文件,出现问题时可通过救援模式或 Live 环境回退。
权限与常见用途
挂载完成后,这块盘可以作为 Linux 学习空间里的数据盘使用,比如存放 Docker 数据目录、Python 项目、Hexo 博客源码和静态站点生成结果。需要注意的是,Docker 数据目录迁移前应先停止 Docker 服务,复制完原数据后再修改配置;普通开发目录则只需处理好用户和组权限即可。
最后,重新执行 `df -h` 或 `findmnt` 确认挂载状态。只要盘符确认无误、`fstab` 测试通过,重启后也能自动挂载,这块1T硬盘就算正式接入 Ubuntu 了。