背景
最近我出门在外,下雨时停电了。当我回来时,电仍然停了,当电恢复时,我的系统似乎出现了一些问题。
有关我的系统的一些信息:
它是运行 Windows 10 Professional 的桌面,安装在 RAID0 中设置的两个 SSD 上。它还具有一个由三个 6TB 磁盘组成的 RAID5 阵列,用于介质的大容量存储。
我使用 Virtualbox 在 Linux Mint 18.3 Guest OS 中运行几乎所有内容。
安装 Linux Mint 的主虚拟磁盘 (VDI) 存储在 SSD 上,并且 RAID5 阵列上的所有媒体都通过 VirtualBox 的共享文件夹功能与 Linux 来宾操作系统共享。
细节
当我家恢复供电后,我尝试给机器通电。 Windows 10 主机操作系统启动良好,甚至不需要运行磁盘检查或我注意到的任何操作。似乎运行良好。
当我尝试启动 Linux Mint VM 时,它似乎也可以正常启动,但当我尝试检查操作系统更新时,出现以下错误:
E: Can't write /root/.synaptic/selections.update
W: Not using locking for read only lock file /root/.synaptic/lock
W: Not using locking for read only lock file /root/.synaptic/lock.non-interactive
之后我意识到安装 Linux 的整个主文件系统是以只读模式安装的。我无法创建新文件或写入任何现有文件。据我所知,Linux 似乎会自动启动到只读模式,因为文件系统可能已损坏。
我目前正在备份整个虚拟磁盘映像。它几乎是 1 TB,因此还剩下几个小时,之后我将尝试修复虚拟机。
问题
我在网上简单搜索后发现的建议是,我应该运行命令fsck
来尝试修复文件系统,但我只能在未挂载的文件系统上执行此操作。根据我的阅读,建议从 USB/LiveCD 启动并使用它fsck
在未安装的文件系统上运行。
我可以为我的 VirtualBox 虚拟机执行此操作吗?如果是这样,怎么办?有人对我如何尝试修复这个系统有任何其他建议吗?
答案1
回答:
与 NTFS 相比,ext3/ext4 文件系统上的文件恢复一点也不容易。对于您的问题,fsck
从其他系统运行确实会让您回到正轨,但您需要检查您的分区/文件以查看是否缺少任何内容。大多数情况下,当 ext 文件系统上的文件丢失时,会导致文件为零字节或文件完全丢失。事实上,断电可能会对您的文件造成一些损害,但通常这不应该是太大的问题,因为大多数受影响的文件是断电时 SSD 缓存/Ram 上的文件。另外,使用制造商工具检查所有 SSD 以获取其状态并查看它们是否未受到影响。
回到你的虚拟磁盘以及如何修复它,只需下载任何实时 ISO Linux 发行版,将其安装到虚拟机上,启动它并从那里运行磁盘扫描。如果您更喜欢使用 GUI,则可以使用KDE 分区管理器扫描后只需重新启动并删除 ISO 文件;你应该可以走了。
搜索丢失的文件
在零文件的情况下,您可以在重要目录上使用此命令来搜索零大小的文件,但请记住,您会找到的大多数文件都是确实是零字节文件的合法文件;然后您需要检查结果列表并搜索可疑的丢失文件。
find . -size 0 -print
还正如我所提到的,大多数受影响的文件都是缓存上加载的文件,因此我建议您检查崩溃发生时使用的文件/应用程序。
最后Virtualbox 具有快照功能:您可以使用它以有效的方式快速进行备份。