如果无法破坏与区域关联的系统状态,则停止操作会中途失败。区域便会陷于中间状态,即介于正在运行和已安装状态之间。在此状态下,不存在任何活动的用户进程或内核线程,也无法创建它们。当停止操作失败时,您必须手动干预来完成此过程。
最常见的故障原因是系统无法卸载所有的文件系统。与破坏系统状态的传统 Solaris 系统关闭不同,区域一旦停止,就必须确保在引导区域或继续进行区域操作时没有执行任何挂载。即使 zoneadm 可确保区域中没有执行任何进程,但是如果全局区域中的进程在此区域中具有打开的文件,则卸载操作也会失败。请使用 proc(1)(请参见 pfiles)和 fuser(1M) 手册页中所述的工具来查找这些进程,并采取相应的操作。处理了这些进程之后,重新调用 zoneadm halt 应完全停止区域。
对于无法停止的区域,到 Solaris 10 10/09 发行版为止,您可通过使用 zoneadm attach -F 选项不进行验证而强制附加来迁移未分离的区域。目标系统必须正确配置以托管该区域。不正确的配置可能会导致未定义的行为。此外,这将导致无法了解区域内文件的状态。