A method and apparatus is provided that provides a reliable diskless network-bootable
computers using a local non-volatile memory (NVM) cache. The NVM cache is used
by the computer when the network is temporarily unavailable or slow. The cache
is later synchronized with a remote boot server having remote storage volumes when
network conditions improve. It is determined if data is to be stored in the NVM
cache or the remote storage volume. Data sent to the remote storage volume is transactionally
written and the data is cached in the NVM cache if a network outage is occurring
or a transaction complete message has not been received. The data stored in the
NVM cache allows the user to continue operating during network outages and the
computer can be cold-booted using the data in the NVM cache if the network is unavailable.