diff --git a/Makefile b/Makefile
index 32b474f88414049913379b2c8ec788d889dc2f16..acd10f0274b1abbb4fbdc4a3c02269a88afcafbd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 DISK=disk.raw
-DISK_SIZE=256K
+DISK_SIZE=128G
 
 help:
 	@echo "Available targets:"
@@ -13,10 +13,10 @@ help:
 	@echo "    clean_guest  delete guest"
 
 run_pv: guest_pv vmm
-	./vmm/vmm guest/guest.bin
+	./vmm/vmm guest/guest.bin ./vmm/$(DISK)
 
 run_phys: guest_phys vmm
-	./vmm/vmm guest/guest.bin
+	./vmm/vmm guest/guest.bin ./vmm/$(DISK)
 
 
 guest_pv:
@@ -25,17 +25,21 @@ guest_pv:
 guest_phys:
 	$(MAKE) -C guest PV=0 OUT=guest.bin
 
-vmm:
+vmm: create_disk
 	$(MAKE) -C vmm OUT=vmm
 
 
+create_disk:
+	$(MAKE) -C vmm create_disk DISK=$(DISK) DISK_SIZE=$(DISK_SIZE)
+
+
 clean: clean_vmm clean_guest
 
 clean_vmm:
-	$(MAKE) -C vmm clean OUT=vmm
+	$(MAKE) -C vmm clean OUT=vmm DISK=$(DISK)
 
 clean_guest:
 	$(MAKE) -C guest clean
 
 
-.PHONY: clean clean_vmm clean_guest vmm
+.PHONY: clean clean_vmm clean_guest vmm create_disk
diff --git a/vmm/Makefile b/vmm/Makefile
index e900610bc7afa9e40f3799ace48c5f872b85c705..69a7268c31a27f24f61a424c2495ba7ef5f0d84d 100644
--- a/vmm/Makefile
+++ b/vmm/Makefile
@@ -11,8 +11,11 @@ $(OUT): $(C_OBJS)
 %.o: %.c
 	$(CC) -c $< -o $@
 
+create_disk:
+	qemu-img create -f raw $(DISK) $(DISK_SIZE)
+
 clean:
-	rm -f $(C_OBJS) $(C_DEPS) *.o *.d $(OUT)
+	rm -f $(C_OBJS) $(C_DEPS) *.o *.d $(OUT) $(DISK)
 
 .PHONY: clean