我在自动安装任何外部驱动器或分区时遇到一些问题!每次我需要从 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 会提示你修复它。