我有一个小型的威盛Ubuntu服务器作为防火墙,第二个与Ubuntu桌面托pipe不同的服务(networking,邮件,…)。
由于一个未知的原因,两台计算机的sda1分区(启动分区)发生了一些错误。 我怀疑这是由于今年夏天的停电引起的,尽pipe我有一台APC UPS。
我昨天才发现这个问题,因为错误导致apt-get升级中止。 这是足够聪明,让我在一个国家,并指示修复文件系统。
当引导防火墙服务器时,fsck阶段告诉我磁盘是好的。 但是在logging之后,当我做了一个fsck -n -C / dev / sda1它告诉我有错误。 空闲块的数量不匹配。
在另一个VIA上用同样的命令运行一个fsck,报告我很多错误。
在网上快速search如何修复文件系统返回给我的build议,使用Live CD。 但防火墙服务器没有CD / DVD。 我有一个USB DVD,但想知道是否有可能修复文件系统而不使用它,因为我没有一个在这里的现场CD。
编辑:我很幸运,桌面ubuntu的自动定期检查发生,并检查我的sda1磁盘。 显然它报告没有错误。 可能是由于我在挂载的磁盘上运行fsck而显示错误。 但在Ubuntu服务器上,由于文件系统错误导致apt-get升级中止,因此肯定有错误。
我烧了一个Ubuntu服务器10.04 LTS,但是我的USB光盘驱动程序在引导过程中没有考虑到,尽pipe我可以在BIOS中select它。 也许我需要一个BIOS升级。 如果我能find在Ubuntu服务器启动时强制fsck的方法,并依赖其结果,那么事情就会好的。
解决scheme:在/命名的forcefsck中以root身份创build一个空文件,并使用命令“shutdown -rF now”重新引导。 这将在启动时强制fsck,并在需要时进行修复。
$ sudo touch /forcefsck $ sudo shutdown -rF now
显然没有发现错误。 所以我最初看到的错误可能是由检查一个已安装和使用的文件系统造成的。
通常这个概念是挂载文件系统只读(这就是为什么需要一个活cd)。 对于你的情况,因为你什么也没有,你可以在单一模式下启动系统(在你的启动参数中加1)。
你可以做的另一件事是做一个USB启动(UNETBootin)和启动它(一些想法作为现场CD)
你也可以为另一个磁盘暂时启动,只挂载只读你的实际磁盘。
还有很多其他的东西我想不出这一刻。 但正如我之前所说,只是find一种方法将其挂载为只读。
如果您可以从防火墙设备中删除驱动器,将它添加到另一台服务器可能会更简单,安装/ dev / sda1并在那里运行fsck。