如何安装外置硬盘?

我现在使用的是Ubuntu Linux 12.04版本,最新的。我想挂载一个外部的1TB NTFS硬盘。我已经按照很多指南进行了操作,但仍然没有成功。我遇到的错误是这样的:
Failed to read last sector (1953523119): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
   or it was not setup correctly (e.g. by not using mdadm --build ...),
   or a wrong device is tried to be mounted,
   or the partition table is corrupt (partition is smaller than NTFS),
   or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdb1': Invalid argument
The device '/dev/sdb1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
Using Storage Device MAnager i get this error:Error mounting: mount exited with exit code 1: helper failed with:
mount: only root can mount /dev/sdb1 on /media/Skliros_Diskos {external disk name} 

当我使用sudo fdisk -l命令时,输出结果如下:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e0bc6

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   618854399   309426176   83  Linux
/dev/sda2       618856446   625141759     3142657    5  Extended
/dev/sda5       618856448   625141759     3142656   82  Linux swap / Solaris

Disk /dev/sdb: 1000.2 GB, 1000202043392 bytes
255 heads, 63 sectors/track, 121600 cylinders, total 1953519616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002093a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  1953525167   976761560    7  HPFS/NTFS/exFAT

这是一个NTFS5卷吗? - Ignacio Vazquez-Abrams
它的文件系统是NTFS - Slash
4个回答

尝试查看磁盘列表中是否有条目。
sudo fdisk -l  

然后尝试使用以下命令进行挂载
sudo mount -t ntfs /dev/sdb1 /media

要找到外部驱动器的正确/dev/sdb位置,请查看sudo fdisk -l的结果。

4请更详细一些,我对这个操作系统完全是个新手。但我会尝试按照这些指示来做。 - Slash
1我尝试了,但是出现了相同的错误。 - Slash
5对于分区的驱动器,请使用sudo parted -l而不是sudo fdisk -l - user35581
我有一个GNU/Linux(ext4)分区,这个命令对我有效:sudo mount /dev/sda1 /media/ -t ext4 - YellowishLight
我已经尝试了这个答案中提供的两个命令。以下是我得到的结果:"NTFS 签名丢失。 无法挂载 '/dev/sda':参数无效 设备 '/dev/sda' 似乎没有有效的 NTFS。 可能使用了错误的设备?或者整个磁盘而不是分区(例如 /dev/sda 而不是 /dev/sda1)?或者反过来? " 你对如何继续进行有什么想法吗? - Michael Levy

步骤1:创建文件夹

sudo mkdir /media/Skliros_Diskos

第二步:挂载NTFS文件系统
sudo mount -t ntfs-3g /dev/sdb1 /media/Skliros_Diskos

请注意空格。根据您对问题的评论,您没有在命令中添加空格。
您不应该将它挂载在/media目录下,因为系统可能会使用它,这样可能不允许您轻松地卸载磁盘。另一个原因是,当您插入另一个外部驱动器时,Ubuntu将自动在/media目录中创建一个目录,并将系统挂载在该目录上,这可能会产生一些副作用,因为/media目录将成为您的外部驱动器。
一旦挂载完成,您可以通过Nautilus(默认的Ubuntu图形化文件浏览器)进行正常访问。它应该在左侧列表中列出,如果没有列出,请按下Ctrl+L并键入/media/Skliros_Diskos。
或者您可以在终端中使用cd /media/Skliros_Diskos进行访问。

我使用了第二步的命令,但是出现了相同的错误。为了确保准确性,我将其复制/粘贴了一遍。由于没有成功挂载,所以我无法继续执行下一步操作。 - Slash
1@Slash 你确定你的NTFS分区没有损坏吗?sudo ntfsck /dev/sdb1,这个命令会扫描NTFS分区是否有错误,请问有吗? - Dan
我得到了之前相同的错误。 - Slash
当我使用这个命令"sudo ntfsck /dev/sdb1"时,我得到了与这个命令"sudo mount -t ntfs-3g /dev/sdb1 /media/Skliros_Diskos"相同的错误。 - Slash
我试图从磁盘工具中挂载skliros_diskos的卷,但是出现了另一个错误,错误信息如下:挂载错误:挂载退出代码为1:助手失败: 非特权用户无法使用外部FUSE库挂载NTFS块设备。请以root身份挂载卷,或重新构建带有集成FUSE支持并设置为setuid root的NTFS-3G。请参阅更多信息,请访问http://tuxera.com/community/ntfs-3g-faq/#unprivileged - Slash
加油,我已经提交了很多信息。一定有解决办法的。 - Slash
@Slash 我理解你的急迫,真的,但是请你稍微耐心一点。尝试运行 sudo apt-get updatesudo apt-get install --reinstall ntfs-3g,然后再尝试重新挂载卷,等它重新安装完成后。如果这样还是失败了,试试用以下命令挂载:sudo mount -t ntfs-3g -o umask=000,user /dev/sdb1 /media/Skliros_Diskos - Dan
我尝试并按照你说的做了一切...但仍然没有起作用。 - Slash
在这种情况下,我认为你的NTFS可能已经损坏了。你有没有可以访问的Windows安装程序,可以尝试将NTFS驱动器插入其中?无论是否成功,你都应该对该驱动器进行文件系统检查。 - Dan
请告诉我正确的方法,如何做到这一点。 - Slash
我身边没有任何Windows安装,而且我已经有一段时间没有接触过了。但是我会尽力帮你回忆起来的。在你将其插入Windows机器后,打开“我的电脑”文件夹,找到你的外部驱动器并右键点击它。然后,点击“属性”。在属性页面中会有一个“检查磁盘”按钮或类似含义的选项,点击它后会出现一个小窗口。勾选“自动修复错误”复选框,然后点击确定。等待错误检查完成后,再尝试在Ubuntu上挂载它。 - Dan
没关系,我找到了一个叫做“CheckDisk”的软件,可以让我从我的外部硬盘驱动器中复制数据。我不知道这个硬盘驱动器出了什么问题,但我已经完成了我想要的事情,谢谢你们的帮助。 - Slash
TestDisk我指的是 - Slash
@Slash 如果你找到了解决问题的答案,请回答自己的问题并标记为正确答案,这样或许能帮助到未来的访问者。 - Dan
其实问题中的答案并不完全正确。我找到了一个叫做"TestDisk"的程序,然后按照YouTube上的指南进行操作。非常简单。所以我用它从硬盘驱动器中复制了一些我想要的文件,就这样。 - Slash
希望大家能够阅读这位先生的评论。他在提到“非特权用户无法使用外部FUSE库挂载NTFS块设备时,就已经表明了问题和解决办法。要么以root身份挂载卷,要么重新构建具有集成FUSE支持并设置为setuid root的NTFS-3G。”总之,对于我解决自己的问题来说,这个问题的答案非常有帮助。 - Jistanidiot
@Jistanidiot 如果你能提供自己关于如何做到这一点的答案,那就太棒了! - Dan
@Dan,正如我所指出的,“要么将卷作为根目录挂载,要么重新构建带有集成FUSE支持并设置为setuid root的NTFS-3G。” - Jistanidiot
我已经尝试了这个解决方案中指示的命令,但是得到的结果是:"NTFS签名丢失。 无法挂载'/dev/sda':无效参数 设备'/dev/sda'似乎没有有效的NTFS格式。 可能使用了错误的设备?或者使用了整个磁盘而不是分区(例如/dev/sda而不是/dev/sda1)?或者反过来? " 你对如何继续进行有什么想法吗? - Michael Levy
@MichaelLevy 应该是分区,而不是整个磁盘,例如,/dev/sda2 - Dan

我发现使用lsblk比起fdisk -l更加舒适,尤其是最近不总是需要事先指定文件系统类型。 此外,我想通过命令行模仿设备通知器的挂载行为。在Kubuntu 14.04 LTS上进行了测试。 步骤1:确定位置 为了确定位置,我更喜欢使用lsblk(来自util-linux软件包)。
lsblk 

那就是类似这样的东西
 NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0 925.5G  0 part /
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     6G  0 part [SWAP]

sdb      8:16   0   1.8T  0 disk 
└─sdb1   8:17   0   1.8T  0 part 

在这种情况下,我试图挂载的外部硬盘被称为。请注意,外部驱动器尚未挂载(因为MOUNTPOINT条目为空),而且重要的是,如果我拔掉外部硬盘,那么我将看不到条目。
第二步:挂载
如果我想将其挂载到现有目录中,并且我的用户ID为,我的组ID为,我可以直接使用。
sudo mount  /dev/sdb1 /Full/path/ -o uid=1000,gid=1000,utf8,dmask=027,fmask=137

这给了我与通过设备通知器图形化挂载时相同的挂载选项

注:

  • 您可以使用grep $USER /etc/passwd查看您的uid:gid:分别是由:分隔的第3个和第4个字段
  • 使用man mount查看所有挂载选项

Ubuntu 18.04.5,
要在终端提示符(Terminal)下挂载和/或卸载磁盘,就像外部磁盘被“自动魔法般”地挂载一样。
(例如:/media/$USER/Disk-Label/)

先决条件:磁盘在$ lsblk的输出中可见为“disk”,可能还可见为“part”。
例如:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sdb           8:16   0   2.7T  0 disk 
└─sdb1        8:17   0     2T  0 part 
...

然后它将如下所示:

$ udisksctl mount --block-device /dev/sdb1 ==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount-other-seat === 需要进行身份验证才能挂载 WDC WD30EZRX-00DC0B0 (/dev/sdb1) 正在以 $USER 的身份进行身份验证,,, ($USER) 密码: ********** ==== 身份验证完成 === 已将 /dev/sdb1 挂载到 /media/$USER/USB-exfat。 $ ls -l /media/$USER 总计 nnn drwxrwxrwx 1 $USER $USER 131072 1月 1 1970 USB-exfat $ ls -lA /media/$USER/USB-exfat 总计 0 $ lsblk 名称 主:次 RM 大小 RO 类型 挂载点 ... sdb 8:16 0 2.7T 0 磁盘 └─sdb1 8:17 0 2T 0 分区 /media/$USER/USB-exfat $ udisksctl unmount --block-device /dev/sdb1 ... 已卸载 /dev/sdb1. $

其中$USER将是当前用户的登录名,假设该用户在sudoers指定的用户中(例如admin和sudo组成员)。


exfat分区:
sudo apt install exfat-fuse exfat-utils