在Ubuntu 14.04 LTS上,挂载/dev/sdb1到/media/时出现错误。

如何修复在/media/...挂载/dev/sdb1时出现的错误?它在过去运行得很好,但我进行了Ubuntu 14.04 LTS的全新安装后,出现了挂载错误。 我尝试使用Gparted、ntfs-3g和pmount来修复它,但这些程序无法找到外部硬盘驱动器。 但是当我使用带有Ubuntu 14.04的USB驱动器以测试模式启动时,它可以找到并读取我的外部硬盘驱动器。 请问我该如何解决这个问题?
5个回答

打开终端,按下Ctrl+Alt+T组合键,并运行。
sudo ntfsfix /dev/sdb1 

在我使用这个命令之前,我想确保它不会危及到已经存在于驱动器上的文件。我的驱动器里装满了文件,并且是在Windows系统上工作的。现在我将它连接到Ubuntu上,它显示了上述错误。如果我使用上述建议的命令,会导致我的文件无法访问吗?我知道它会使驱动器可用,但我也关心那些由Windows写入的现有文件。 - Elad Lavi
1我做了这个。但是它给出了以下错误信息:ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 0: Invalid argument Record 10 has no FILE magic (0x0) Failed to open inode FILE_UpCase: Input/output error - Thusitha Sumanadasa
2它在2022年也适用。谢谢。 - GhitaB
非常感谢!2022年4月20日,在一个我原以为已经坏掉的外部盒子上修好了。只需要那一根线而已... - shantiq
过去它是有效的,但现在它给我同样的错误,正如ThusithaSumanadasa所提到的。 - Vin Raghav
适用于20.04! - Shardul Birje
你救了我一命,谢谢! - Erdinc Ay

运行此命令以显示磁盘:
lsblk

运行以下命令来挂载USB:
sudo ntfsfix /dev/sdb

/dev/sdb 或 /dev/sdb1 或其他路径

sudo ntfsfix /dev/sdb 对我来说有效。 - Manish Kumar
1漂亮的解决方案,谢谢! - Colin

我使用了这个ntfsfix软件包来检查我的外部驱动器。
sudo ntfsfix /dev/sdb 

但在某些情况下,这个 /dev/sdb 可能是 /dev/sda1 或者 /dev/sda2

我遇到了同样的错误,但在我的情况下,并不是因为损坏的NTFS,而是因为Ubuntu无法识别磁盘格式为exFAT。我可以在Windows中正常打开该磁盘。然后我检查了格式,发现它是exFAT。为了在Linux中打开它,我安装了:
$ sudo apt install exfat-fuse exfat-utils

而且这个磁盘可以毫无问题地打开。

可能的情况是,当您在不同设备上尝试使用驱动器时,命名会发生变化。(例如,由于USB设备的枚举方式,sdb可能会变成sdX) 打开终端并尝试以下操作:
lsblk
blkid

如果你还不确定,那就试试

dmesg | more 

阅读系统日志,在某个时刻你应该会看到类似以下内容的信息:
150289.144120] scsi 7:0:0:0: Direct-Access     WDC WD32 00BEKT-22KA9T0   01.0 PQ: 0 ANSI: 5
[150289.144951] sd 7:0:0:0: Attached scsi generic sg4 type 0
[150289.145185] sd 7:0:0:0: [sdd] 625142448 512-byte logical blocks: (320 GB/298 GiB)
[150289.145854] sd 7:0:0:0: [sdd] Write Protect is off
[150289.145863] sd 7:0:0:0: [sdd] Mode Sense: 23 00 00 00
[150289.146547] sd 7:0:0:0: [sdd] No Caching mode page found
[150289.146555] sd 7:0:0:0: [sdd] Assuming drive cache: write through
[150289.212988]  sdd: sdd4
[150289.215143] sd 7:0:0:0: [sdd] Attached SCSI disk

如果不行的话,请尝试不同的USB端口,有些USB是全功率的,有些是半功率的,有些主板不喜欢在USB2插槽上使用USB3设备。

谢谢您的回答。我可以使用lsblk找到sdb1外部硬盘,也可以使用dmesg | more找到一些信息。(我怎么在这里放截图?)那么现在我该怎么办呢?问候。 - Quantum Jumping
这是全部的文本,选择、复制、粘贴即可。你可以使用Pastebin来放置更多的文本,并提供一个链接。 - user283885
好的,看起来系统将其视为sdb1。你可以尝试执行以下命令: sudo mkdir /media/usb_drive ; sudo mount /dev/sdb1 /media/usb_drive 并粘贴任何报告的错误信息。 如果挂载失败,详细的错误信息将在dmesg的末尾添加。 - user283885
使用sudo mkdir /media/usb_drive命令时,出现了以下提示:mkdir: 无法创建目录"/media/usb_drive":文件已存在;而在使用sudo mount /dev/sdb1 /media/usb_drive命令时,出现了以下提示:mount: /dev/sdb1不是有效的块设备。 - Quantum Jumping
嗯,最后一个很有趣。你尝试挂载后dmesg说了什么?第一个没问题,它告诉你已经创建了该目录。你能试试这个命令吗: sudo fsck /dev/sdb1 并粘贴出来的错误信息? - user283885
使用Ubuntu 14.04的测试模式,我可以找到并读取我的外部硬盘驱动器。http://es.tinypic.com/view.php?pic=df9ick&s=8#.VOUEf3WG9BQ。http://es.tinypic.com/view.php?pic=2e0jxbl&s=8#.VOUEzXWG9BQ。 - Quantum Jumping
啊哈,你使用的是NTFS文件系统..这就是原因..好了,现在试试这个..sudo apt-get install ntfs-3g 然后 sudo mount -t ntfs-3g /dev/sdb1 /media/usb_drive。Linux没有一个良好的纯NTFS驱动程序。它使用微软自己的驱动程序通过包装器访问磁盘,但并不总是与系统捆绑在一起。在你的情况下,如果缺少它,你需要安装它。 - user283885
使用sudo fsck /dev/sdb1时,我遇到了fsck de util-linux 2.20.1的问题。 e2fsck 1.42.9 (4-Feb-2014) fsck.ext2: 尝试打开/dev/sdb1时出现设备或地址不存在的错误。 可能不存在该设备,或者它是一个交换设备吗? - Quantum Jumping
请查看我之前的评论。 - user283885
使用sudo mount -t ntfs-3g /dev/sdb1 /media/usb_drive时,出现了以下错误信息: 无法打开 '/dev/sdb1':该设备或地址不存在 无法挂载 '/dev/sdb1':没有这样的设备或地址 可能是设备丢失或已关闭电源,或者您使用了SoftRAID硬件并且必须在/dev/mapper/下使用已激活的不同设备(例如/dev/mapper/nvidia_eahaabcc1)来挂载NTFS。 请参阅'dmraid'文档以获取帮助。但是电源是通的,而且它不是RAID。 - Quantum Jumping
你安装了ntfs-3g软件包吗? - user283885
然后,尝试使用命令sudo ntfs-3g /dev/sdb1 /media/usb_drive - user283885
我曾经尝试使用ntfs-3g来挂载它,我安装了最新版本的ntfs-3g,但是没有成功。我在同一个分区上存储了来自Windows和Ubuntu的文件,并且在Ubuntu 12.04上运行得非常好。 - Quantum Jumping
我想不出更多的主意了.. 抱歉。 - user283885
使用sudo ntfs-3g /dev/sdb1 /media/usb_drive时出现错误:无法打开'/dev/sdb1':没有此设备或地址 挂载'/dev/sdb1'失败:没有此设备或地址 可能是设备丢失或已关闭电源,或者您使用的是SoftRAID硬件,必须在/dev/mapper/下使用一个已激活的不同设备(例如/dev/mapper/nvidia_eahaabcc1)来挂载NTFS。 请参阅'dmraid'文档以获取帮助。 - Quantum Jumping