Abstract-Av ailability is increased with recovery based on component microreboot instead of whole system reboot. There areunique challenges that must be overcome in order to apply microreboot to low-levels ystem software. These challenges arise from the need to interact with immutable hardware components on one hand and, on the other hand, with a wide variety of higher levelw orkloads whose characteristics may be unknown. As an example, we describe our experience with applying microreboot to system-levelv irtualization software. Specifically,i mplementing microreboot for all the components of the widely-used Xen virtualization infrastructure. We identify the unique difficulties with applying microreboot for such low-levels oftwarea nd present our solutions. We present measures of the complexity of different classes of solutions and experimental results, based on extensive fault injection, showing the effectiveness of the solutions.