@@ -570,14 +570,21 @@ func Cmdline(cfg Config) (string, []string, error) {
570
570
}
571
571
if isBaseDiskCDROM {
572
572
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 ))
574
574
} else {
575
575
args = appendArgsIfNoConflict (args , "-boot" , "order=c,splash-time=0,menu=on" )
576
576
}
577
577
if diskSize , _ := units .RAMInBytes (* cfg .LimaYAML .Disk ); diskSize > 0 {
578
578
args = append (args , "-drive" , fmt .Sprintf ("file=%s,if=virtio,discard=on" , diffDisk ))
579
579
} 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 ))
581
588
}
582
589
for _ , extraDisk := range extraDisks {
583
590
args = append (args , "-drive" , fmt .Sprintf ("file=%s,if=virtio,discard=on" , extraDisk ))
0 commit comments