can anyone tell me how can i do it??
Sounds like you want your PC to receive events from the Arduino and provide it with some data stored somehow on the PC. In principle that's straight forward to do and there are various ways you could do it. Ultimately you have an application running on the PC which reads messages from the Arduino's serial port, does whatever storage/lookup you want and then writes the reply back to the serial port. But there are lots of ways to implement the application, and which is best for you will depend on what you want it to do, and what programming skills and experience you have.
Quite why you want to have your application running in a VM escapes me, but that would be feasible as long as the physical PC's USB port was available to the VM. Some VM hosts enable you to map the USB ports through. If your preferred one doesn't then there are freeware solutions which can be used to tunnel a serial port over a network connection and you could use that to bring the Arduino's serial port into the VM. The overall solution is looking a bit tortuous, but none of the steps involved are especially complicated.