AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1268154
Accepted
Sebr
Sebr
Asked: 2020-08-19 02:43:51 +0800 CST2020-08-19 02:43:51 +0800 CST 2020-08-19 02:43:51 +0800 CST

使用 UUID 或 PARTUUID 通过 fstab 自动挂载 HDD 更好吗?

  • 772

我正在尝试按照Akshit 的终端指南将我的外部硬盘驱动器设置为在启动时自动挂载。

我最初在 `/etc/fastab' 中使用了 PARTUUID 而不是 UUID:

UUID=191486e0-6049-46aa-973c-425d317b629a /mnt/nas exfat uid=1000,gid=1000,umask=0022,auto,rw 0 0

当我运行时,这给了我一个错误,findmnt --verify --verbose我重新检查blkid并注意到我一直在使用分区 ID:

/dev/sdb1: LABEL="My Book" UUID="20C9-C659" TYPE="exfat" PTTYPE="atari" PARTLABEL="My Book" PARTUUID="191486e0-6049-46aa-973c-425d317b629a"

所以我在 fstab 中添加了实际的 UUID,但现在我不确定我是否应该使用它或者我是否应该使用 PARTUUID,以及为什么我的 UUID 比我见过的其他示例短得多(特别是当“保证 UUID 是唯一的。据我所知,在宇宙的生命周期内不会发生碰撞”)。

fstab partitioning mount automount uuid
  • 2 2 个回答
  • 7139 Views

2 个回答

  • Voted
  1. vanadium
    2020-08-19T03:36:47+08:002020-08-19T03:36:47+08:00

    如果您使用 PARTUID,则需要通过以而不是fstab开头的行来表明这一点。在您给出的示例中,系统查找 UUID,而不是 PARTUID,并且确实没有找到匹配的。PARTUUID=UUID

    替换UUID=为PARTUUID=,你应该很高兴。

    两者UUID和PARTUUID都是唯一标识符,一个与文件系统相关,因此在重新格式化分区时会发生变化,另一个与分区相关联,因此与分区本身相关联(重新格式化时不会更改)。使用一个比另一个更好吗?没关系。当您自己在 中安装驱动器时fstab,您需要清楚地知道您安装的是什么,在那个级别上,您是否使用一个或另一个唯一标识符并不重要。

    • 8
  2. Best Answer
    Ravexina
    2020-08-19T19:57:02+08:002020-08-19T19:57:02+08:00

    当我运行 findmnt --verify --verbose 时,这给了我一个错误

    在另一个答案中已经提到过。你必须使用PARTUUID=.

    更多信息:如何在 fstab 中使用 PARTUUID?

    现在我不确定我应该使用它还是应该使用 PARTUUID?

    在你的情况下,这并不重要。但请记住,如果您使用的是 MBR,与 GPT 分区的常规 PARTUUID 不同,如果分区号发生变化,MBR 的伪 PARTUUID 可能会发生变化。[1]

    为什么我的 UUID 比我见过的其他示例短得多?

    实际的 UUID 应该是 128 位长并且是唯一的。在此之前,各种系统都提供了各种不同大小的序列号以供区分。因此,Linux 只需获取它可以找到的任何序列号并将它们粘贴在 /dev/by-uuid/ 目录中,即使它们与 UUID 定义不匹配。[2]


    作为个人喜好,我宁愿使用 UUID。即使我正在创建加密交换分区。像lvm这样的东西也没有PARTUUID。您可能知道fstab代表File System Table。所以我想最好使用 UUID,因为它与文件系统有关。除非出于特定原因必须使用其他方法,否则请使用 UUID。


    我还在 ArchLinux 的论坛上找到了一个值得一读的好答案:PARTUUID instead UUID in fstab, Pros / Cons ? . 以下是答案中的一些引述:

    PARTUUID 标识一个分区。如果您决定将分区用于其他用途(格式化它),即使内容不再存在,它仍然会被识别,并且它可能会安装到错误的位置。

    如果您的分区表有问题,并且您最终重新创建了相同的分区(具有不同的 partuuid),即使内容仍然存在,它也将不再被识别。

    只有分区有 PARTUUID,其他块设备没有

    通过 PARTUUID 挂载可以在没有 initramfs 的情况下工作,因此如果您想制作一个无 initrd 的系统,这将是一个优势。

    UUID 通过内容识别文件系统。如果找到 UUID,则文件系统就在那里。它是一个完整的块设备、分区、raid、luks 还是 lvm 都没有关系。UUID 适用于所有层,PARTUUID 仅适用于分区。

    一般来说,fstab 条目是关于将特定内容安装到特定位置,因此通过内容而不是分区来识别更自然。使用 UUID 更为常见。

    UUID 的缺点是您必须扫描所有设备的内容才能找到它们。毕竟 UUID 可以在任何地方。使用 PARTUUID,您只需检查分区表,因此更容易/更高效。但是你需要大量的块设备才能有所作为。

    • 2

相关问题

  • 当另一个文件系统安装在路径上时是否可以删除文件?

  • 如何将 /usr 移动到新分区?

  • 如何从双启动计算机访问加密的主文件夹?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve