@@ -570,14 +570,21 @@ func Cmdline(cfg Config) (string, []string, error) {
570570 }
571571 if isBaseDiskCDROM {
572572 args = appendArgsIfNoConflict (args , "-boot" , "order=d,splash-time=0,menu=on" )
573- args = append (args , "-drive" , fmt .Sprintf ("file=%s,media=cdrom,readonly=on" , baseDisk ))
573+ args = append (args , "-drive" , fmt .Sprintf ("file=%s,format=raw, media=cdrom,readonly=on" , baseDisk ))
574574 } else {
575575 args = appendArgsIfNoConflict (args , "-boot" , "order=c,splash-time=0,menu=on" )
576576 }
577577 if diskSize , _ := units .RAMInBytes (* cfg .LimaYAML .Disk ); diskSize > 0 {
578578 args = append (args , "-drive" , fmt .Sprintf ("file=%s,if=virtio,discard=on" , diffDisk ))
579579 } else if ! isBaseDiskCDROM {
580- args = append (args , "-drive" , fmt .Sprintf ("file=%s,if=virtio,discard=on" , baseDisk ))
580+ baseDiskInfo , err := imgutil .GetInfo (baseDisk )
581+ if err != nil {
582+ return "" , nil , fmt .Errorf ("failed to get the information of %q: %w" , baseDisk , err )
583+ }
584+ if baseDiskInfo .Format == "" {
585+ return "" , nil , fmt .Errorf ("failed to inspect the format of %q" , baseDisk )
586+ }
587+ args = append (args , "-drive" , fmt .Sprintf ("file=%s,format=%s,if=virtio,discard=on" , baseDisk , baseDiskInfo .Format ))
581588 }
582589 for _ , extraDisk := range extraDisks {
583590 args = append (args , "-drive" , fmt .Sprintf ("file=%s,if=virtio,discard=on" , extraDisk ))
0 commit comments