Hidden Boot Camp volume causes blue screen with parallels

Discussion in 'Windows Virtual Machine' started by nrbrook, Aug 26, 2008.

  1. nrbrook

    nrbrook Member

    Messages:
    28
    I'm not sure what caused this problem, but I think it was Winclone. I am trying to get support on those forums but I'll post here too. After a backup with Winclone my Boot Camp partition was hidden. I originally hid it myself before the backup by naming it .Windows, but it still showed in the finder side bar and in /volumes. After the backup it was hidden using the HFS+ 'invisible' bit, meaning it could only be seen by using ls in terminal or by enabling hidden files in finder. When in this state parallels and boot camp still works. When I use the command 'SetFile -a "v" /volumes/.windows' the volume becomes visible, but parallels fails to boot with the blue stop screen 0000007F immediately after the windows screen loads. Rebooting into windows still works. If I restore the WinClone image the volume is hidden but parallels works again.
     
  2. John@Parallels

    John@Parallels Forum Maven

    Messages:
    6,333
    I suppose you need to use software which shows hidden files and rename partition to Windows
     
  3. nrbrook

    nrbrook Member

    Messages:
    28
    As I already said, If I use the command 'SetFile -a "v" /volumes/.windows' to show the volume parallels gives a blue screen when booting. Boot camp does not. I have tried removing parallels data from the volume but this has no effect.

    As for the name of the volume it has always been set to .Windows and worked fine, this is how I want it.
     
  4. John@Parallels

    John@Parallels Forum Maven

    Messages:
    6,333
    Try to clear Boot Camp information from Configuration Editor- Hard Disk 1- Advanced - click Clear
     
  5. nrbrook

    nrbrook Member

    Messages:
    28
    I've tried that already to no avail.
     
  6. nrbrook

    nrbrook Member

    Messages:
    28
    I figured out the issue. I had added another hard drive to the .pvs file to mount another partition when booting. As it was an external hard drive the partition location changed when disconnecting and reconnecting it and another drive. I removed the references to this partition from the .pvs and it booted fine.

    Is there a better way to reference a partition in the .pvs (like uuid or something), or some way I can make sure the external hard drive gets assigned the same numbers every time?

    Thanks.
     
  7. Specimen

    Specimen Product Expert

    Messages:
    3,236
  8. nrbrook

    nrbrook Member

    Messages:
    28
    http://forum.parallels.com/showthread.php?t=19514

    Apparently this is a limitation of parallels or os x then. Because the disk identifier is dynamic it cannot be used in the .pvs reliably. If there is no other method of referring to disks i.e. by uuid then the situation cannot be resolved, and I guess I'll have to work around it.
     
  9. Specimen

    Specimen Product Expert

    Messages:
    3,236
    Use your imagination! Using the information provided in the article you can make a script that greps the correct volume by its name (unique) and changes the .pvs accordingly.
     
  10. nrbrook

    nrbrook Member

    Messages:
    28
    Yeah I've just been thinking about that. I've got little experience in scripting though, might have a go.
    Could you give me an idea of how I would need to identify the disk identifier by grep'ing the volume?

    Edit: So I've got "diskutil list |grep '.Windows extended'" which is returning the entire line with the disk identifier in. How can I use this in an if command? My intention was just to copy one of three .pvs files overwriting the main .pvs file, as there are only three scenarios. Saves me having to script editing the pvs file.
    I apologise for my inexperience!
     
    Last edited: Aug 28, 2008
  11. Specimen

    Specimen Product Expert

    Messages:
    3,236
    Nothing to apologise. :)

    Now, supporting bash or applescript is not the reason I'm at these forums, so I'll let another person help you with that or you can find more adequate forums.

    Note: It would be better to just change the needed value in the .pvs file instead of copying pre made file, for at least one obvious reason, it will let you change your preferences in the configuration editor without losing them when copying automatically. Besides it's a nice principle to make the smaller intervention necessary to attain your objectives, this is an important principle in programming (or scripting) since it creates less probability of unthought situations or bugs.
     
    Last edited: Aug 28, 2008
  12. nrbrook

    nrbrook Member

    Messages:
    28
    Fair enough. Any suggestions for forums that could help?
     
  13. John@Parallels

    John@Parallels Forum Maven

    Messages:
    6,333
    diskutil list |grep -v /| grep disk | awk '{ print $NF }'|grep '.Windows extended'
     
  14. John@Parallels

    John@Parallels Forum Maven

    Messages:
    6,333
    But you cannot specify other option in pvs files except slice
     
  15. nrbrook

    nrbrook Member

    Messages:
    28
    Thanks John, but I don't understand your last post. The command you gave me seems to be in the wrong order, it only prints the disk id when rearranged.

    I do understand where you are coming from Specimen and ideally I would spend all day learning bash and writing a program that edits the pvs file but this is for personal use only and I don't want to spend all day doing that. From what I've managed to pick up this morning with the help of John's command and without even knowing what commands to research I've constructed the following script which does the job as I originally intended it to. Feel free to provide improvements or give me some direction on how I could make it edit the .pvs file, but for now this works.

    cd "/Users/nick/Documents/Parallels/Microsoft Windows XP"
    disk=`diskutil list |grep -v /| grep disk | grep '.Windows extended' | awk '{ print $NF }'`
    case $disk in
    "disk1s2") cp 1.pvs "Microsoft Windows XP.pvs";
    ;;
    "disk2s2") cp 2.pvs "Microsoft Windows XP.pvs";
    ;;
    *) cp 0.pvs "Microsoft Windows XP.pvs";
    ;;
    esac


    A better solution would be if parallels did this for you and allowed you to manually select the partition by name in the virtual machine settings, maybe we will see this someday.

    Edit: That didn't work at all, corrected.
     
    Last edited: Aug 29, 2008
  16. John@Parallels

    John@Parallels Forum Maven

    Messages:
    6,333
    Never mind, your solution will work
    I meant that you can specify on slice in pvs file, not disk guid
     
  17. nrbrook

    nrbrook Member

    Messages:
    28
    I've never heard of slice before. Would it be better to specify by slice?

    It works, but as specimen said it doesn't account for other circumstances such as plugging in a USB stick or something before mounting the hard drive. If anyone wants to point me in the right direction to improve it, please do.
     
  18. John@Parallels

    John@Parallels Forum Maven

    Messages:
    6,333
    Mac OS uses BSD type disk partition and description
    disk1s3 is slice
     
  19. Specimen

    Specimen Product Expert

    Messages:
    3,236
    slice (the s in disk0s3) =partition

    If you plug a USB stick before mounting the HD then the only thing that changes is x in diskxs2, then all you need to have is a couple more possibilities besides 1 and 2.
     
    Last edited: Aug 30, 2008
  20. nrbrook

    nrbrook Member

    Messages:
    28
    Ah ok. Yeah I suppose so, only two usb ports so only another two possible situations. I like to get it right though even though I said I don't want to be spending a whole day sorting it. I might look at it again some time, but for now problem closed. Thanks for the help!
     

Share This Page