无法挂载硬盘。Ubuntu

win*_*ngs 4 mount hard-drive ubuntu

我无法再在 Ubuntu 11.04 64 位系统上安装额外的内部硬盘驱动器。我可以直到几天前。

我在 fstab 的末尾添加了一行让驱动器自动挂载,但我认为它不起作用。然后我从 fstab 中删除了该行,驱动器将不再通过 GUI 或 CLI 挂载。至少我认为问题与此有关,可能根本不是。

尝试挂载:

$ sudo mount /dev/sda /media/openSpaceI
Run Code Online (Sandbox Code Playgroud)

图形用户界面:

在此处输入图片说明

这给出了这个错误:

mount: wrong fs type, bad option, bad superblock on /dev/sda,
   missing codepage or helper program, or other error
   In some cases useful info is found in syslog - try
   dmesg | tail  or so
Run Code Online (Sandbox Code Playgroud)

图形用户界面:

在此处输入图片说明

这是打印出来的dmesg | tail

$ dmesg | tail
[ 9344.234380] compiz[6098]: segfault at 28 ip 00007f1fa0641335 sp 00007fff0b306700 error 4 in libregex.so[7f1fa063c000+8000]
[ 9987.879043] nautilus[6899]: segfault at 1505b817b60f ip 00007ff6eeefdb8d sp 00007fff09aa6170 error 4 in libgobject-2.0.so.0.2800.6[7ff6eeeca000+4e000]
[10001.231835] compiz[7360]: segfault at 28 ip 00007f38e0cfe335 sp 00007fff3228d380 error 4 in libregex.so[7f38e0cf9000+8000]
[10113.817592] compiz[7429]: segfault at 28 ip 00007f01c11cd335 sp 00007fffac4f4250 error 4 in libregex.so[7f01c11c8000+8000]
[10116.592022] compiz[7651]: segfault at 28 ip 00007f4369548335 sp 00007fffb3b2b030 error 4 in libregex.so[7f4369543000+8000]
[10117.958485] compiz[7666]: segfault at 28 ip 00007f3861d7d335 sp 00007fff268395d0 error 4 in libregex.so[7f3861d78000+8000]
[10366.207793] EXT4-fs (sda): bad geometry: block count 156282966 exceeds size of device (156282701 blocks)
[10855.975855] EXT4-fs (sdb): mounted filesystem with ordered data mode. Opts: (null)
[10863.666747] EXT4-fs (sda): bad geometry: block count 156282966 exceeds size of device (156282701 blocks)
[11125.922998] EXT4-fs (sda): bad geometry: block count 156282966 exceeds size of device (156282701 blocks)
Run Code Online (Sandbox Code Playgroud)

我现在的 fstab 文件:

在此处输入图片说明

我还在磁盘上运行了磁盘实用程序。磁盘良好且健康。以下是其中的截图:

在此处输入图片说明

在此处输入图片说明

安装此磁盘的任何帮助将不胜感激。

小智 6

我最近遇到了这个问题,并且能够解决它。由于这里似乎没有明确的答案,我想我会尝试解决这个问题。

首先,重要的是要了解您可以将文件系统直接放在块设备上。在这种情况下,您将挂载/fsck/etc 设备,例如:

/开发/ sda

不是 /dev/sda1

需要明确的是,这意味着您可以拥有一个没有分区表的文件系统。这被称为无分区文件系统,并且已经存在很长时间了。这是一个关于 stackexchange 讨论优点的线程:https : //unix.stackexchange.com/questions/14010/the-merits-of-a-partitionless-filesystem

接下来,这似乎是一个比较常见的问题,主要是因为 Ubuntu 决定包含直接安装到设备的选项。

出现问题是因为在某些情况下,无分区安装会破坏 EXT4 用于计算磁盘大小的公式。如果预期大小和实际大小之间的差异为 265 字节,您可以判断是否存在此问题。(不,那不应该是 256)Google 只是告诉我 265 是 EXT4 inode 结构的大小。由于支持将文件系统放在裸设备上,并且在某些情况下甚至受到鼓励,因此我认为这是一个错误。当它发生在我身上时,我使用的是内核版本 2.6.39。

最后,解决方案。这真的很容易。

首先,您需要强制执行文件系统的 fsck:

fsck.ext4 -f /dev/(your device)
Run Code Online (Sandbox Code Playgroud)

同样,对于无分区设备,您将使用例如 /dev/sda,而不是 /dev/sda1 或类似的东西。

接下来,您需要调整设备大小以匹配 ext4 的要求:

resize2fs /dev/(your device) ####
Run Code Online (Sandbox Code Playgroud)

其中 <####> 是错误消息中的值:

EXT4-fs (sda):坏几何:块数超过设备大小(####块)

请注意:通常的免责声明适用。弄乱文件系统是危险的等等。小心!这意味着是修复文件系统的最后尝试,而唯一的其他选择是重新格式化。我不是文件系统专家,不知道上述修复是否适用于您的系统,或者稍后会引入问题。天啊。

一旦你拯救了你的数据,最安全的方法可能是重新格式化并创建一个标准的分区表,如果可以的话。