Linux双硬盘实战:Deepin/Ubuntu数据盘挂载与fstab配置指南

📅 发布时间:2026/7/5 0:57:25 👁️ 浏览次数:
Linux双硬盘实战:Deepin/Ubuntu数据盘挂载与fstab配置指南
1. 为什么你需要配置第二块硬盘如果你刚给电脑加了一块新硬盘或者给服务器扩容了一块数据盘装好系统后却发现“我的电脑”里根本找不到它别慌这太正常了。无论是Deepin还是Ubuntu或者其他Linux发行版新添加的硬盘都不会像Windows那样自动弹出个“新硬件”提示然后给你分配个盘符。Linux系统对待新硬盘的态度是“东西我给你接上了怎么用你自己来安排。” 这既是Linux灵活性的体现也是新手入门时的一个小门槛。我自己刚开始用Linux时也踩过这个坑。当时为了跑深度学习项目专门加了一块4TB的机械硬盘来存数据集。系统装好了硬盘也装上了开机一看桌面空空如也df -h命令里也看不到新硬盘的影子一度怀疑是不是硬盘没插好或者坏了。后来才明白从硬盘被系统识别到你能在文件管理器里像访问普通文件夹一样使用它中间还有“分区”、“格式化”、“挂载”这几步必须要走。这个过程本质上就是告诉系统“嘿这块新来的硬盘我打算把它当作一个独立的存储空间请把它‘挂’到文件系统的某个目录下以后我就从这个目录进出。”这个场景非常普遍。现在很多人的电脑配置都是“SSDHDD”的组合一块小容量但速度快的固态硬盘SSD装系统和常用软件一块大容量的机械硬盘HDD专门存放文档、照片、视频和下载文件。在服务器上就更常见了系统盘可能只有几十GB而数据盘动辄就是几TB甚至几十TB。不把数据盘挂载好你的系统就永远只能用那点可怜的系统盘空间新硬盘就成了一件昂贵的摆设。所以这篇文章就是来解决这个“最后一公里”问题的。我会手把手带你走完从识别硬盘到开机自动挂载的完整流程重点会放在最关键的/etc/fstab配置文件上。很多教程只告诉你怎么挂载但没讲清楚fstab里每个参数的含义一旦配错轻则挂载失败重则可能导致系统无法启动。别担心我会把我自己踩过的坑和总结的经验都分享出来保证你看完就能上手稳稳地让你的第二块硬盘“活”起来。2. 第一步找到你的新硬盘在开始任何操作之前我们得先确认系统已经识别到了这块新硬盘。这就像你要给一个新员工安排工位总得先知道他的名字和工号吧。打开你的终端在Deepin或Ubuntu里按CtrlAltT就能快速打开输入第一个关键命令sudo fdisk -l或者用另一个更直观的命令lsblk我更喜欢用lsblk因为它输出的结果像一棵树看起来特别清晰。你会看到类似下面的信息NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 16G 0 part [SWAP] └─sda3 8:3 0 222G 0 part / sdb 8:16 0 1.8T 0 disk我们来解读一下。sda和sdb就是你的硬盘。通常sda是你的第一块硬盘也就是系统盘。下面缩进显示的sda1、sda2、sda3是这块硬盘上的分区。而sdb就是我们的新硬盘它下面没有任何分区没有sdb1这样的条目MOUNTPOINT那一栏也是空的这说明它还是一块“原始”的磁盘没有被分区更没有挂载。注意设备名/dev/sdb只是一个例子。你的实际情况可能是/dev/sdc或/dev/nvme0n1如果是NVMe固态硬盘。请务必以你终端里实际显示的设备名为准千万不要照抄。把sdb误操作成sda可能会导致系统盘数据丢失这是最严重的错误。这里有个小技巧。如果你不确定哪块是新硬盘可以看SIZE大小。比如你新加了一块2TB的硬盘那么那个显示大约1.8T因为厂商和系统计算方式不同2TB硬盘实际可用空间约1.8TB的、没有挂载点的磁盘就是它了。记下这个设备名比如/dev/sdb我们接下来的所有操作都将围绕它展开。3. 为新硬盘“划分领地”分区与格式化找到硬盘后我们就要在上面创建分区了。你可以把硬盘想象成一块空地分区就是在空地上划分出不同的区域比如A区建房子系统B区做花园数据。对于纯粹的数据盘很多人喜欢只创建一个分区把所有空间都利用起来这样最简单。当然你也可以分成多个区比如一个区放工作文档一个区放媒体库。我们使用fdisk工具来分区。假设我们的新硬盘是/dev/sdb在终端输入sudo fdisk /dev/sdb你会进入一个交互式界面。别紧张跟着提示一步步来输入p然后回车打印当前分区表。如果是全新硬盘这里应该是空的。输入n然后回车创建一个新分区。它会问你是创建主分区primary还是扩展分区extended。对于数据盘直接按回车选择默认的主分区Primary即可。老教程里常提到主分区数量限制和扩展分区但现在对于GPT分区表新电脑基本都是来说这个限制基本不存在了。接着会让你输入分区号直接按回车选默认的1。然后设置起始扇区直接按回车从最开始的地方开始。最后设置结束扇区如果你想用尽所有空间也直接按回车。这样就会创建一个占用整个硬盘大小的分区。这时输入p再看一下应该能看到一个新分区比如/dev/sdb1。最关键的一步输入w然后回车将分区表写入硬盘并退出。只有输入w并回车你的所有操作才会真正生效。如果中途想放弃输入q可以不保存退出。分区创建好了但它还是个“毛坯房”我们需要给它“装修”一下也就是格式化。格式化是为分区创建文件系统这样系统才知道如何往里面存、取文件。对于Linux数据盘最常用、最稳定的文件系统是ext4。执行下面的命令sudo mkfs.ext4 /dev/sdb1注意这里格式化的是分区/dev/sdb1而不是整个磁盘/dev/sdb。命令运行很快你会看到一些输出信息。完成后这块分区就准备好了可以“入住”数据了。提示除了ext4你也可以选择xfs或btrfs。xfs在处理大文件时性能很好适合媒体服务器btrfs功能强大支持快照和压缩但相对复杂一些。对于新手无脑选ext4是最稳妥的。4. 让硬盘“有门可入”创建挂载点并临时挂载分区格式化好了但我们现在还访问不了它。在Linux里访问任何存储设备都需要通过一个目录这个目录就叫“挂载点”。你可以把它理解成这个分区在系统文件树上的一个“入口”或“门”。这个挂载点目录放在哪里好呢网上有很多争论。传统的做法是放在/mnt目录下比如/mnt/data因为这个目录本来就是设计用来做临时挂载的。但很多桌面用户喜欢挂载到自己家目录下比如/home/你的用户名/data这样在文件管理器里访问起来更顺手。我个人的习惯是如果是个人电脑数据主要自己用就挂在家目录如果是服务器或者有多用户的环境就挂在/mnt或/data下更规范。我们来创建一个挂载点比如在家目录下创建一个叫mydata的文件夹mkdir ~/mydata现在我们可以手动把硬盘分区挂载到这个“门”上了sudo mount /dev/sdb1 ~/mydata没有任何错误提示就是成功了。现在你可以用df -h命令查看应该能看到/dev/sdb1已经挂载到了/home/你的用户名/mydata上。你也可以打开文件管理器进入这个目录尝试新建一个文件夹或文件。这时候数据就已经写入你的新硬盘了但是这个挂载是临时的。一旦你重启电脑这个“门”就关上了~/mydata目录又变回一个空文件夹你需要再次执行mount命令才行。这显然太麻烦了。所以我们需要配置自动挂载。5. 实现开机自动挂载深入理解 /etc/fstab实现开机自动挂载的关键就是编辑/etc/fstab这个文件。你可以把它看作系统在启动时需要阅读的一份“挂载任务清单”。系统启动时会自动按照这个清单把列出的设备挂载到指定的目录。用你喜欢的文本编辑器如nano或vim以管理员权限打开它sudo nano /etc/fstab你会看到里面已经有几行内容了那是你的系统盘和交换分区等。我们在文件末尾新起一行添加我们的挂载配置。一行配置包含了6个字段用空格或制表符隔开。一个典型的配置看起来像这样/dev/sdb1 /home/username/mydata ext4 defaults 0 0这6个字段每一个都有其明确的含义理解它们才能避免踩坑设备标识 (fs_spec)指定要挂载的设备。这里我们用了/dev/sdb1但这不是最好的方法。因为设备名如sdb可能会变比如你哪天拔掉一块U盘重启后新硬盘可能就从sdb变成了sda导致挂载失败。强烈推荐使用UUID全局唯一标识符。获取分区UUID的命令是sudo blkid。找到你的/dev/sdb1复制它的UUID值。那么这一行就变成UUID你的很长的一串UUID挂载点 (fs_file)就是我们在上一步创建的目录的绝对路径例如/home/username/mydata。文件系统类型 (fs_vfstype)我们格式化时用的什么这里就写什么比如ext4。挂载选项 (fs_mntops)这是最灵活也最容易出错的部分。defaults是一个复合选项包含了rw读写、suid、dev、exec、auto、nouser、async等常用设置。对于数据盘通常用defaults就够了。但如果你有特殊需求比如希望挂载的目录允许普通用户读写而不需要sudo可以改成defaults,users。如果这是一个Windows的NTFS硬盘你可能需要指定ntfs-3g文件系统和umask000这样的选项。dump备份标记 (fs_freq)这个字段被dump备份工具使用。我们一般设置为0表示不需要用dump备份。开机磁盘检查顺序 (fs_passno)这个字段被fsck磁盘检查工具使用。系统根目录/应该设为1其他分区包括我们的数据盘都设为0或2。设为0表示开机时不检查设为2表示在根目录检查完后进行检查。对于数据盘设为0即可。所以一个更健壮、更推荐的配置行应该是这样的UUID12345678-1234-1234-1234-123456789abc /home/username/mydata ext4 defaults 0 0编辑完成后保存并退出编辑器。6. 测试与排错避免无法开机的“惨剧”在重启之前务必先测试一下直接重启万一配置写错了系统可能会在启动时卡住进不了桌面。测试命令是sudo mount -a这个命令会尝试挂载/etc/fstab中所有尚未挂载的设备。如果配置正确它应该会静默执行成功。然后你再用df -h或lsblk看看你的数据盘应该已经挂载上了。如果sudo mount -a报错了它会告诉你具体是哪一行、什么问题。常见的错误有挂载点目录不存在回去用mkdir创建好目录。UUID写错了用sudo blkid再核对一遍。文件系统类型不对确认你格式化成ext4了而不是ntfs或别的。挂载点目录不为空如果挂载点目录里原来有文件挂载后这些文件会被“遮盖”而无法访问。最好用一个空目录作为挂载点。测试通过后你就可以放心重启了sudo reboot开机后你的数据盘应该已经自动出现在指定的挂载点可以随意使用了。重要警告/etc/fstab文件如果语法错误确实可能导致系统无法正常启动到图形界面。万一真的发生了不要慌。在系统启动时如果挂载失败它通常会 drop 到一个紧急的根 shell 或恢复模式。这时你仍然有权限去编辑/etc/fstab文件。你可以用nano /etc/fstab检查并修正错误的那一行然后重启即可。记住遇到问题先检查这个文件这是解决问题的钥匙。7. 进阶技巧与权限管理基本的挂载完成后你可能还会遇到一些实际需求。比如你不想每次都用sudo来操作这个数据盘里的文件或者你想把这个盘共享给其他用户。让普通用户能自由读写默认用defaults选项挂载后挂载点的所有者是root普通用户只能读不能写。有几种方法解决挂载时修改属性在/etc/fstab的挂载选项里加上umask000或fmask000,dmask000对于ext4defaults,umask000可能更常用这样所有用户都有读写权限但安全性较低适合纯个人环境。修改挂载点目录的所有者这是更清晰的方法。先确保硬盘已挂载然后执行sudo chown -R yourusername:yourusername /home/username/mydata把挂载点目录及其下所有文件的所有者改成你自己。这样你就能自由读写了。使用磁盘标签除了UUID你还可以在格式化时或之后给分区起一个容易记的标签Label然后在fstab里用LABELMyData来替代UUID。命令是sudo e2label /dev/sdb1 MyData。这样配置行就变成了LABELMyData /home/username/mydata ext4 defaults 0 0一目了然。处理NTFS或exFAT格式的硬盘如果你想挂载一块从Windows系统拿过来的移动硬盘通常是NTFS或exFAT格式需要先安装额外的驱动。对于NTFS安装ntfs-3g包通常系统已自带。对于exFAT需要安装exfat-fuse和exfat-utils。然后在fstab中文件系统类型分别填写ntfs-3g和exfat挂载选项可能需要加上umask000,nofailnofail选项表示即使挂载失败也继续启动适合移动硬盘可能不总是在线的情况。配置双硬盘的过程其实就是你深入理解Linux文件系统管理的第一步。从识别设备到分区格式化再到通过fstab这个中枢神经完成自动化每一步都体现了Linux“一切皆文件”和高度可配置的设计哲学。刚开始可能会觉得有点繁琐但亲手配置成功一次后你会发现它比图形界面下的操作更直接、更强大。以后无论是加第三块、第四块硬盘还是配置网络存储NFS原理都是相通的。最重要的是你掌握了如何让系统按照你的意愿来工作而不是被系统所限制。