Boot from volume

PR corresponding to #258 
The is-zero check would have to be moved there, too, I suppose.

Although, if you make it a slice, you can compare to `nil` instead, which would be a little cleaner.