system("chroot", dir, "grub-mkconfig", "-o", "/boot/grub/grub.cfg") or raise "grub-mkconfig fails."
system(*%W(grub-install --no-floppy --grub-mkdevicemap=#{dir}/boot/grub/device.map --root-directory=#{dir} #{root_dev})) or raise "grub-install failed."
cfg = File.read "#{dir}/boot/grub/grub.cfg"
- cfg.gsub! %r{mapper/loop0p}, "sda"
+ cfg.gsub! %r{mapper/loop\d+p}, "sda"
File.write "#{dir}/boot/grub/grub.cfg", cfg
unless Array(run_cmds).empty?