目录

简介

先决条件

要求

使用的组件

规则

背景信息

缓解Cisco ASA闪存损坏问题

运行“fsck”实用程序

格式化闪存

手动更换闪存卡

错误消息

有用的常见问题

是否可以热插拔闪存驱动器？例如，当Cisco ASA通电并运行时，是否可以更改闪存驱动器？

能否在Cisco ASA上使用第三方闪存驱动器？

如果我误擦了闪存，该怎么办？

格式化闪存是否会影响Cisco ASA上的运行连接？

能否将外部闪存用作内部闪存？

相关信息

简介

本文档介绍因Cisco ASA闪存损坏而可能发生的不同错误，并指出可能的解决方案。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- Cisco ASA 5500系列，带软件版本8.0及更高版本

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

背景信息

Cisco ASA将其文件系统维护在内部闪存中，并将所有文件存储在闪存中。这是插入ASA插槽的存储卡。此功能的容量取决于ASA硬件型号。有关详细信息，请参阅Cisco ASA产品手册表表8中的技术规格部分。此内存称为flash或disk0。

当需要额外的闪存时，您可以使用外部闪存卡。除ASA 5505型号外，5500系列中的所有其他ASA型号在设备后端都有一个外部紧凑式闪存卡插槽，用户可轻松访问该插槽，无需打开设备。此闪存卡还用于保存配置文件，称为disk1。

如果设备正确访问了闪存文件系统并且工作正常，则设备会在设备前面板的闪存LED上显示绿色常亮，以指示此情况。

可以使用以下任一命令验证此文件系统的内容：

- dir — 显示当前目录的内容。

注意：默认的当前目录是flash:/。

- show flash: — 显示内部闪存的内容。

- show disk0 — 显示内部闪存的内容。

- show disk1 — 显示外部闪存的内容。

缓解Cisco ASA闪存损坏问题

当闪存文件系统访问出现问题时，您可以完成以下步骤来解释故障排除步骤。

运行“fsck”实用程序

术语fsck是文件系统检查的缩写。此实用程序通常在设备启动时自动运行，并在发生异常事件时验证文件系统中是否存在任何异常。它修复了文件系统中的问题，并将其另存为恢复文件。可以使用fsck flash：执行fsck实用程序 命令。

fsck实用程序修复损坏的文件系统。fsck操作成功后，输出如下：

CiscoASA# fsck flash:

Checking the boot sector and partition table...

Checking FAT, Files and Directories...

Reclaiming unused space...

Updating FAT...

Destroying old disk cache...

Initializing disk0: cache, please wait......Done.

fsck of flash: complete

如果出现任何文件系统损坏问题，则fsck实用程序将生成恢复文件，即fsck00??.rec。如果您可以在闪存中查看其中的许多恢复文件，则这些恢复文件可能是由于自动测试过程导致ASA可能会过频繁地重新通电。通常，这些文件不包含任何重要数据，并且可以使用delete命令安全地删除。示例如下：

CiscoASA# delete fsck0012.rec

注意：FSCK实用程序在启动时自动运行，因此即使您没有手动输入fsck命令，您也可以看到这些恢复文件。

在某些情况下，在新订购的Cisco ASA设备的闪存中可以看到这些恢复文件。show flash：的片段。如图所示：

96     -rwx 32768       00:00:00 Jan 01 1980 FSCK0000.REC

97     -rwx 32768       00:00:00 Jan 01 1980 FSCK0001.REC

99     -rwx 32768       00:00:00 Jan 01 1980 FSCK0002.REC

100    -rwx 32768       00:00:00 Jan 01 1980 FSCK0003.REC

这是由于制造测试，此行为在Cisco Bug ID CSCtf63643(仅限注册客户)中归档。 这些FSCK文件的日期为1980，因为创建时使用FSCK实用程序将文件描述初始化为ZERO。这些文件可以删除，在设备重新启动后，这些文件不会再出现。如果这些文件再次出现，建议您运行格式化操作。

格式化闪存

如果即使在尝试fsck实用程序后闪存文件系统仍无响应，则可以格式化闪存以擦除所有现有文件和映像。闪存系统可以使用flash：格式格式化 命令。

注意：在执行格式实用程序之前，请检查这些操作：

1. 使用copy run tftp命令或将运行配置复制到tftp服务器中

使用copy start tftp命令将启动配置复制到tftp-server。

2. 从show version命令的输出中获取备份；因为您需要使用激活密钥。

还有一个类似的命令执行与格式相同的作业。如下所示：

CiscoASA# erase flash:

此命令覆盖所有文件并擦除包含隐藏系统文件的文件系统，然后重新安装文件系统。在Cisco ASA 5500系列安全设备上，erase 命令会销毁磁盘上具有0xFF模式的所有用户数据。相反，format命令仅重置文件系统控制结构。当使用erase选项时，它会删除与许可相关的所有信息。您需要获取激活密钥以保留Cisco ASA上的许可证。有关详细信息，请参阅思科许可网页(仅限注册客户)，并请求激活密钥。

注意：要访问此网页，您需要有有效的思科用户凭证。

手动更换闪存卡

如果上述步骤均无效，则可以尝试手动卸下错误的闪存卡，并将其更换为另一个工作的闪存卡。要执行此任务，请参阅以下文档了解详细的分步过程：

- 拆卸和安装System CompactFlash

- 移除和安装用户CompactFlash

注意：在尝试手动更换卡之前，建议您联系Cisco TAC以进一步进行故障排除。设备应符合有效的思科合同，以便提交TAC服务请求。

错误消息

在本节中，显示了与闪存文件系统损坏相关的常见错误消息列表。

文件分配表可能已损坏。建议运行“fsck disk0：”

执行show flash命令时会导致此错误。它不会在输出中显示任何文件，但显示此错误消息。以下是命令的输出示例：

ASA#show disk0:

-#- --length-- -----date/time------ path

23273472 bytes available (39673856 bytes used)

File Allocation Table might be corrupted. Recommend running "fsck disk0:"

此行为已登录Cisco Bug ID CSCsl12010(仅注册客户)。 当空闲内存不足（接近0）时，show flash不指示任何文件，并建议运行FSCK操作。在这种情况下，请等待一段时间，以便运行的应用程序能够使用某些内存。再次运行show flash命令，查看是否有可用内存。如果以前的情况为常，请运行FSCK实用程序。有时，当您尝试在设备上保存配置时，也会导致此错误。

另一个Bug(Cisco Bug ID CSCsg16431(仅注册客户))已归档，用于解决FWSM中的此行为。此错误在FWSM上升级后产生，在运行格式实用程序后可以解决。

打开disk0:/时出错（没有此类设备）

发出以下命令时会导致此错误：

ASA# dir all-filesystems

%Error opening disk0:/ (No such device)

%Error opening system:/ (No such device)

%Error opening cache:/ (No such device)

DOS介质无效或插槽中没有介质错误

发出以下命令时会导致此错误：

ASA# fsck disk0:

Initializing disk0: cache, please wait...Failed (Invalid DOS media or no media in slot

error).

Internal error, inode table initialization for disk0: failed with error Invalid DOS media

or no media in slot

%Error checking disk0: (Invalid DOS media or no media in slot)

WARNING: Restoring security context mode failed.

初始化Inode表失败

发出以下命令时会导致此错误：

ASA# show flash:

Initializing disk0: cache, please wait...Failed (Invalid DOS media or no media in slot

error).

%Error show flash: (Failed to initialize the Inode table)

安装内存升级和复制文件后，ASA 8.3将重新启动

ASA在启动过程完成后和软件版本升级到8.3后重新启动。观察到此行为并将其作为Cisco Bug ID CSCtg94369(仅限注册客户)归档。 为了纠正此问题，请在2 GB内存升级到8.3版后删除原有的现有内存。

错误：发现闪存数据文件损坏

启动Cisco ASA设备时，可能会显示以下错误消息：

ERROR: flash datafile corrupt   found magic # 0x55aa55aa expected 0x1234567a

发出wr mem命令时出错

当您尝试使用wr mem命令保存配置时，会出现此错误：

打开disk0:/.private/startup-config时出错（只读文件系统）

执行命令时出错

要解决此问题，请执行文件系统检查，以便删除错误。此命令序列将提供供参考。

CiscoASA# wr mem

Building configuration...

Cryptochecksum: 2e24ca48 2496fe80 51a4ecbb 81a2dba5

%Error opening disk0:/.private/startup-config (Read-only file system)

Error executing command

[FAILED]

CiscoASA# fsck disk0

fsck of disk0: complete

CiscoASA#

pehac-a0-df01# fsck flash

fsck of flash: complete

CiscoASA# wr mem

Building configuration...

Cryptochecksum: 2e24ca48 2496fe80 51a4ecbb 81a2dba5

22851 bytes copied in 3.400 secs (7617 bytes/sec)

[OK]

扇区读取错误失败

执行write mem命令时出现此错误。

%Error opening disk0:/.private/startup-config (Failed Sector Read)

Error executing command [FAILED]

格式化闪存驱动器以解决此问题。

有用的常见问题

是否可以热插拔闪存驱动器？例如，当Cisco ASA通电并运行时，是否可以更改闪存驱动器？

始终建议您在插入闪存驱动器时关闭Cisco ASA。这会禁用所有正在运行的进程，并允许ASA从引导进程中识别闪存。

能否在Cisco ASA上使用第三方闪存驱动器？

在使用任何第三方闪存设备之前，您需要验证与思科的兼容性，并验证是否经思科批准。思科建议从思科授权销售商处获取闪存驱动器，以便能够提供支持。有关详细信息，请参阅第三方组件 — 思科政策。

如果我误擦了闪存，该怎么办？

您需要完成这些步骤。

1. 将运行配置保存到启动配置。

2. 格式化闪存驱动器。

3. 通过tftp传输恢复所有映像文件。

格式化闪存是否会影响Cisco ASA上的运行连接？

否。只要不重置该框，它不会影响它，因为与这些连接相关的信息位于RAM中。

能否将外部闪存用作内部闪存？

Yes.您需要完成这些步骤。

1. 将disk0文件复制到tftp。

2. 将它们从tftp复制到disk1。

3. 相应地设置引导路径。

还有另一个选择。您还可以使用copy disk0 disk1命令将文件从内部内存直接复制到外部内存。

相关信息

- Cisco ASA 支持页

- 技术支持和文档 - Cisco Systems