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!
2 Answers
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.
-
1
-
1If 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.– KevinAug 1, 2011 at 2:23
-
11. 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”– KevinAug 1, 2011 at 4:00
-
2
-
3
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:
- Run 'winecfg'.
- Click on the 'Drives' tab. The existing drives are 'C:' ('~/.wine/') and 'Z:' (the Linux root -- '/').
- Click the 'Add' button to add a new drive. (The new drive will be called 'D:' since it is after 'C:'.)
- In the 'Path:' field, enter the mountpoint of your CDROM drive, where the Starcraft CD will be mounted. Typically, this would be '/cdrom/'.
- Click 'OK' to exit winecfg.
- Mount your Starcraft CD at '/cdrom/' if you have not already done so.
- Run Starcraft.
(In my case, in step 4, I entered /usr/local/games/mnt/StarCraft
.)
WINEPREFIX=/home/<user>/pathToApplication/ winetricks
will run winetricks on your specific wine prefix! It's very important that you use the right prefix, or yourwinecfg
etc. won't be applied to the application you're trying to fix!