In Infrastructure-as-a-Service clouds, virtual machine provisioning time is an important metric for evaluating the quality of service (QoS) provided by the service providers. VM provisioning is usually time-consuming, especially when many VMs boot up simultaneously. We call such phenomenons "Boot Storm". In practice, many VMs would run on a single compute node for higher resource utilization. This multiple VMs and single compute node scenario easily encounters Boot Storm. Boot Storm leads to extremely high latency of VM provisioning and badly affects user's experience. In this paper, we propose VMBKS, which is a cloud shared memory cache system based on booting kernel. We exploit VMs' correlations to organize VM image files, to reduce cache size and mitigate the effect of Boot Storm. We use booting kernel to construct cache and share the booting kernel to correlative VMs. Evaluation shows that VMBKS can speed up VM provisioning time by up to 60 % and mitigate the effect of Boot Storm significantly.