如何在没有超级用户的情况下挂载外部NTFS硬盘?

如何在没有超级用户的情况下挂载外部NTFS硬盘?

我在自动安装任何外部驱动器或分区时遇到一些问题!每次我需要从 telnet 发出 sudo 命令来安装它,例如

sudo mount /dev/sdc1 /media/raed

我已尝试使用此命令(sudo ntfsfix /dev/sdc1)但没有任何变化

Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdc1 was processed successfully.

答案1

如何在没有超级用户(root)的情况下挂载磁盘

通常,在 Linux 中,默认情况下安装磁盘的操作(无论是内部磁盘还是外部磁盘)都需要 root 或提升的权限。这是基本的安全设置。但是可以轻松修改该设置以满足您的需求...并允许特定用户或所有用户mount

首先你需要成为 root,或者有足够的权限超级用户mount修改特定安全设置的权限向用户开放该命令的使用。为此,有多种方法,请参阅

如何允许非超级用户挂载任何文件系统?

你提到如何挂载外部磁盘

磁盘是外部磁盘还是内部磁盘在很大程度上无关紧要。只要 Linux 首先识别出连接的磁盘,无论是通过 USB 连接还是 SATA、SAS 或其他连接,它都会显示为某些块设备,例如/dev/sdb。这需要已经发生,如果是这样,那么如果一切顺利,您应该能够*挂载磁盘。

你提到了一个NTFS磁盘

一旦磁盘显示为块设备(例如)/dev/sdb,Linux 就可以开始使用它。但是磁盘必须具有有效的分区表(例如 GPT 或 MSDOS)以及有效的分区,然后在特定分区上具有有效的文件系统。例如,当今最常见的分区表是 GPT,然后您可能会在磁盘上看到多个分区显示为,/dev/sdb然后您会看到类似的内容/dev/sdb1/dev/sdb2依此类推。在 1、2、3 中的任何一个上..分区需要是 Linux 可以使用的文件系统。既然你提到NTFS你会要求驱动ntfs-3g程序,可从https://www.tuxera.com/company/open-source/。但是,如果您正在运行一个非常新的 Linux 内核,我已经读到它现在包含对 NTFS 文件系统的支持,因此您不必手动获取并安装ntfs-3g

我在自动挂载任何外部驱动器或分区时遇到一些问题

意识到有多种方法可以挂载磁盘/etc/fstab

  • 按名字
  • 通过 uuid
  • 按磁盘标签
  • 按路径

如果你安装by name这样的线会发生什么/etc/fstab

/dev/sdb1   /data   ntfs-3g  defaults,nofail  0  0

当您在系统中添加删除磁盘时,这些sdb磁盘可能会引用其他磁盘,并导致问题。所以通常最好挂载by uuid,或者by label如果你设置了分区标签。这样的一行/etc/fstab看起来像

# the uuid xxxx will be some long unique string
/dev/disk/by-uuid/xxxx   /data    defaults,nofail 0 0

LABEL=yourlabel   /data   defaults,nofail 0 0

要识别 uuid 或标签,您可以这样做

lsblk -o size,fstype,model,name,serial,uuid,label

查看相关磁盘信息,然后了解什么是什么。

毕竟,如果您遇到文件系统错误(NTFS 已损坏)并且您必须运行,ntfsfix那么那就是另一个问题了。我的建议是使用 Microsoft Windows 10 或更高版本并使用其ntfsrepair工具,因为 NTFS 是专有的 Microsoft 文件系统;您可以利用在 ntfs 文件系统上工作的 Linux 工具来抓住机会。

您想在 Microsoft Windows 中关闭Fast Startup,以便在 Windows 中关闭时,它将完全关闭并卸载 NTFS 文件系统,以便 linux 稍后可以使用它...如果您的磁盘被 Linux 和 Windows 挂载。否则你可能总会在 linux 中遇到 ntfs 错误,linux 会提示你修复它。

相关内容