If you'd like block-level sharing so you only have one host then you can definitely simply employ an 'independent' hard disk drive confronted with all VMs but you must use Windows Cluster Services to handle the block locking. If you've got the same requirement but multiple hosts and shared storage then you'll need to provide your hard disk drive as something called an RDM to any or all your hosts/VMs, again this may require something to deal with block locks for example MSCS or similar.
If you would like file-level sharing between VMs and possess no immediate write-locking issues then perhaps just exposing regular. vmdk's to two or even more Windows VMs and switching to DFS would suffice.
There are a number of other scenarios that is certainly used but we could end up in them in more detail if needed when you come back by more information - however, these include the basics at least.
You can not employ a single hard disk drive used in the same times by multiple Windows machine, if you don't use failover clustering; it's not and contains never been supported on Windows. Should you just have one machine at a time to reach the info, it is possible to implement failover clustering, and you can choose in the event you would prefer to utilize a virtual or physical shared hard disk drive; but if you'll need 2 or more servers to gain access to the information concurrently, you should employ some file sharing system; the best you are likely to be connecting disk drive into a file server and sharing it out.
If you need to use failover clustering, then you can choose prefer a shared virtual or physical disc drive; there are 2 possible scenarios here: if the clustered VMs are running on a single server, or if they are running on different servers.
When they are running on different servers, you probably don't have a option here: you will need shared storage, and you also should present it right to your VMs.
Should they be running for a passing fancy server, you can still use RDM for connecting those to an actual disk drive, or maybe you may use a. VMDK virtual disk drive and connect it to multiple WM; the performance distinction between each options is basically negligible.
About your last question: a physical Winchester drive contains the obvious advantage that one could directly access it with any server that may be attached to it, while a virtual you have an operational virtualization layer for being accessed.