If the system state associated with the zone cannot be destroyed, the halt operation will fail halfway. This leaves the zone in an intermediate state, somewhere between running and installed. In this state there are no active user processes or kernel threads, and none can be created. When the halt operation fails, you must manually intervene to complete the process.
The most common cause of a failure is the inability of the system to unmount all file systems. Unlike a traditional Oracle Solaris system shutdown, which destroys the system state, zones must ensure that no mounts that were performed while booting the zone or during zone operation remain once the zone has been halted. Even though the zoneadm command makes sure that there are no processes executing in the zone, the unmount operation can fail if processes in the global zone have open files in the zone.
Use the tools described in the proc(1) man page (see the pfiles(1) man page) and the fuser(8) man page to find these processes and take appropriate action. After these processes are dealt with, rerun the zoneadm halt command to completely halt the zone.