7

Okay, so I installed Wine, and installed the first StarCraft, but when I try to run it, it tells me that the cd isn't in the cdrom drive (but it's already in there) and asks me to insert it. So, I did some searching, and I found out that I need to setup a cdrom drive in Wine, but when I autodetect for drives, it doesn't find the cdrom drive (it does show drive D, but it doesn't say that it's a cdrom drive). So, does anyone know how I can find/setup a cdrom drive? Thanks!

1
  • Important note: WINEPREFIX=/home/<user>/pathToApplication/ winetricks will run winetricks on your specific wine prefix! It's very important that you use the right prefix, or your winecfg etc. won't be applied to the application you're trying to fix!
    – Andrew
    Apr 5, 2023 at 6:01

2 Answers 2

9

Set wine to see /media/wincd as its cd drive then with the iso file in you home folder run in terminal:

sudo mkdir /media/wincd
sudo mount -o loop -t iso9660 $HOME/mygame.iso /media/wincd
sudo ln -s $HOME/mygame.iso $HOME/.wine/dosdevices/d::

The mkdir command ensures the /media/wincd folder is present to mount the iso.

Change mygame.iso to the name of your iso file.

Change d:: at the end of the second command to a different letter with two colons if the cd is not drive d.

6
  • 1
    Use wine config to create the drive in wine that points /media/wincd
    – Kevin
    Aug 1, 2011 at 2:18
  • 1
    If you want it to point to a physical CD instead of an ISO then use show advanced in wine config, That will allow you to tell wine it is a CD-ROM. I have had much better luck with ISO images.
    – Kevin
    Aug 1, 2011 at 2:23
  • 1
    1. On the “Drives” tab in winecfg choose “Add” and select a drive letter. 2. Click “Browse” and browse to /media/wincd 3. Click “Show Advanced” and in the type drop down select “CD-ROM” 4. Click “Apply”
    – Kevin
    Aug 1, 2011 at 4:00
  • 2
    @Kevin Are you sure it's d:: and not just d:? May 22, 2016 at 17:44
  • 3
    Why do you sudo ln -s files in your user's directories? Jun 12, 2018 at 23:33
1

I just solved this myself (installed StarCraft under Wine) and I ran into the same issue. Here are my notes for how to install and run StarCraft (from a legitimate original CD-ROM) on Ubuntu 20.04 under Wine.

First, I dislike relying on the CD-ROM itself, as it may get scratched or damaged, so the first step I took was to copy the CD-ROM into an ISO file. (Saves wear and tear; the CD-ROM itself stays on my shelf now.)

sudo cat /dev/sr0 > ~/starcraft.iso

Once this command completes (which takes a while), the CD-ROM can be removed. Next, create a mountpoint and mount the ISO file. I did this with the following in /etc/fstab:

/usr/local/games/disks/starcraft.iso /usr/local/games/mnt/StarCraft iso9660 loop,ro 0 0

Followed by sudo mount /usr/local/games/mnt/StarCraft.

At this point is when I ran the setup.exe file in that directory, which allowed me to install StarCraft (using the code on the original CD-ROM case). That worked fine, but then clicking "Play StarCraft" showed the error:

Starcraft is unable to read a required file. Your Starcraft CD may not be in the CDROM drive. Please ensure that the Starcraft disc is in the CDROM drive and press OK. To leave the program, press Exit.

I found an ars technica thread which gave the solution, which I'm quoting here in case of link rot:

  1. Run 'winecfg'.
  2. Click on the 'Drives' tab. The existing drives are 'C:' ('~/.wine/') and 'Z:' (the Linux root -- '/').
  3. Click the 'Add' button to add a new drive. (The new drive will be called 'D:' since it is after 'C:'.)
  4. In the 'Path:' field, enter the mountpoint of your CDROM drive, where the Starcraft CD will be mounted. Typically, this would be '/cdrom/'.
  5. Click 'OK' to exit winecfg.
  6. Mount your Starcraft CD at '/cdrom/' if you have not already done so.
  7. Run Starcraft.

(In my case, in step 4, I entered /usr/local/games/mnt/StarCraft.)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .