[SOLVED] 8.4: "Fake" IDE drives from ISO images no longer supported?

itsthejb

New Member
Jul 26, 2024
27
7
3
Hi everyone,

I've seen a couple of posts around regarding this after the 8.4 upgrade this week and thought it was worth making a separate post to draw better attention:

Previously there was a hack-around out in the wild which was (at least) being used to boot up macOS install media; in this, ISO images were inserted as IDE media by replacing the usual media=cdrom parameter with cache=unsafe. As of 8.4 this is now no longer immediately possible; error ide0 explicit media parameter is required for iso images.

So my question is whether there is any other way to achieve this effect? Can the media parameter requirement be bypassed for certain VMs, etc?

Alternatively, I suppose another way is to create a real volume for each ISO and passes them as "normal" drives? This would be a lot less convenient, but workable.

Anyway, I hope those who are better experienced in the context will be able to help. Thanks in advance!
 
Last edited:
  • Like
Reactions: Yogerlan and george
My backup was failing due to this change as well. Since that VM is basically disposable I just removed it from the daily backups

EDIT: for those looking for a step-by-step fix, manually editing the .conf in /etc/pve/qemu-server to look like this fixed backup and boot:

ide0: local:iso/opencore-osx-proxmox-vm.iso,media=disk,cache=unsafe,size=80M
ide2: local:iso/recovery-sequoia.iso,media=disk,cache=unsafe,size=1450M
 
Last edited:
Hi! Thanks for your replies. media=disk seems to be the correct and simple solution, so I'll mark this as solved.

(I ended up doing this the complicated way of writing the install media to an LVM volume)
 
  • Like
Reactions: george
Hi,
why not just use media=cdrom? Won't the MacOS install boot then? If not, what if you attach the ISO/CD-ROM as SATA or SCSI, does it fail then too?
 
@fiona both good questions! I'm not on this topic right now, but I believe the answer to both of those questions is no. I'll try to remember to verify this exactly next time I'm on the topic, unless someone else can do sooner. It does seem unusual. Mostly guides online have had this as the solution but I don't understand the underlying reason
 
I just ran into this issue. using media=cdrom doesn't allow it to boot. Also, when you set the ISO image to media=disk, PVE refuses to boot the VM if your ISO image lives in read-only storage. I store my ISO images on a read-only NFS location, but I had to allow rw for the VM to boot with media=disk. PVE (or rather this version of QEMU) doesn't like read-only disk images it seems.
 
Hi,
I just ran into this issue. using media=cdrom doesn't allow it to boot. Also, when you set the ISO image to media=disk, PVE refuses to boot the VM if your ISO image lives in read-only storage. I store my ISO images on a read-only NFS location, but I had to allow rw for the VM to boot with media=disk. PVE (or rather this version of QEMU) doesn't like read-only disk images it seems.
did you try attaching the ISO with media=cdrom as SCSI or SATA?
 
Neither. I used IDE.
It would be interesting to see if it works with SCSI or SATA. Maybe then you don't need to make it writable.
 
OK mister pushy! :) I'll do what you request. It's just a couple clicks and keypresses. I set my NFS share back to read-only for my PVE host.

For SCSI CDROM iso image:
Code:
kvm: -device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100: Could not open '/mnt/iso4pack/template/iso/OpenCore-v21.iso': Read-only file system

For SATA CDROM iso image:
Code:
kvm: -device ide-hd,bus=ahci0.0,drive=drive-sata0,id=sata0,bootindex=100: Could not open '/mnt/iso4pack/template/iso/OpenCore-v21.iso': Read-only file system

Using cache=unsafe makes no difference, VM continues to be unbootable if media=disk and ISO image is on a read-only NFS share regardless if IDE, SATA, or SCSI.
 
Last edited:
I meant in combination with media=cdrom.
 
What you're asking is slightly off topic, but okay.

All instructions to setup a MacOS VM in Proxmox says to get rid of media=cdrom, but I guess I'll ignore that and entertain your request. To do the testing, I've disabled all boot devices except for the CDROM.

The OpenCore ISO image will not boot if set to media=cdrom, regardless of bus choice IDE/SATA/SCSI. Each time, it boots directly in the UEFI shell. Only if I set media=disk and then set my NFS share to rw, does the OpenCore ISO boot up. I hope this answers your question. FYI, as per the readme:
Note that although the images in the Releases have filenames like OpenCore-v15.iso, these aren't real ISOs, but rather raw hard disk images, and need to be booted as such. (They're just using .iso extensions so they'll appear in Proxmox's disk image picker).
^-- this is the main reason why media=cdrom won't work.

Maybe supporting read-only for media=disk would be sufficient, though this kind of use case is rare?
 
What you're asking is slightly off topic, but okay.

All instructions to setup a MacOS VM in Proxmox says to get rid of media=cdrom, but I guess I'll ignore that and entertain your request. To do the testing, I've disabled all boot devices except for the CDROM.

The OpenCore ISO image will not boot if set to media=cdrom, regardless of bus choice IDE/SATA/SCSI. Each time, it boots directly in the UEFI shell. Only if I set media=disk and then set my NFS share to rw, does the OpenCore ISO boot up. I hope this answers your question. FYI, as per the readme:

^-- this is the main reason why media=cdrom won't work.

Maybe supporting read-only for media=disk would be sufficient, though this kind of use case is rare?
Well, that explains it. I thought it might be an issue with the IDE driver, that's why I asked. You can already set regular disks as read-only. So you could just put the disks as a regular image on your storage, not as an ISO to avoid the confusion.
 
Well, that explains it. I thought it might be an issue with the IDE driver, that's why I asked. You can already set regular disks as read-only. So you could just put the disks as a regular image on your storage, not as an ISO to avoid the confusion.
Well this is weird. I added ro=1 to the ide2 line, and the drive disappears from the GUI... The Read-only checkmark field in the GUI is greyed out. Anything about ro or ro= causes the drive to disappear from the GUI.
 
Well this is weird. I added ro=1 to the ide2 line, and the drive disappears from the GUI... The Read-only checkmark field in the GUI is greyed out. Anything about ro or ro= causes the drive to disappear from the GUI.
It's not recommended to manually edit configurations. Always use qm set then it will tell you about typos and invalid options. It seems like the ro option is not defined in the configuration schema for IDE and SATA yet, only for SCSI and VirtIO-block. Feel free to open a feature request: https://bugzilla.proxmox.com/