Entries from March, 2014

Connect to Windows 7 file shares from Windows 3.11

Overview

I found that the easiest way to copy files onto a Windows 3.11 VM (in my case, running inside VMware Fusion) is to use a Windows 7 file share, but before Windows 3.11 can talk to its younger sibling, a few changes need to be made.

The LM hash was the primary hashing function used by Windows LAN Manager in versions prior to Windows NT.  Windows 2000 and later retained support for it but disabled it by default as of Windows Vista.  Since NTLM (and NTLMv2) hashes are not backwards compatible, LM hashes must be enabled on the host for Windows 3.11 to be able to make a connection.

Configuring Windows 7

  1. Enable LM hashes.
    This puts your account password at risk since LM hashes are easily brute forced.  Avoid doing this outside safe network environments and do not choose a password that you use anywhere else.

    • Run mmc and add the Group Policy Object Editor snap-in.  Select Local Computer when prompted.
    • Browse to Computer Configuration Windows SettingsSecurity SettingsLocal PoliciesSecurity Options.
    • Change Network security: LAN Manager authentication level to Send LM & NTLM – use NTLMv2 session security if negotiated.
    • Change Network security: Do not store LAN Manager hash value on next passwordchange to Disabled.
    • Change your password to generate the LM hash.  Your password must be 14 characters or fewer.  You can change it twice to get your original choice back.
  2. Enable advanced file sharing.
    Not required but makes the following steps simpler.

    • Open Windows Explorer.
    • Select ToolsFolder OptionsView tab.
    • Uncheck Use Sharing Wizard (Recommended) near the bottom.
  3. Share the folder you want to use for transferring files.
    • Avoid sharing any folder with confidential data.
    • Use a username without spaces, ideally matching the network username you set in Windows 3.11.  Create a dummy account if that is simpler.  If you elect to rename your existing account, remember to log off and on after the rename.
    • Share the folder read-only unless otherwise required.
  4. Ensure your Windows 7 computer name is NetBIOS compliant.
    This means 15 characters or fewer.
  5. Ensure your Windows 7 VM is on the same subnet as the Windows 3.11 VM.
    I found a Bridged network connection to be simplest on both.

Connecting from Windows 3.11

  1. Ensure the proper network adapter driver is installed.
    VMware’s website has a useful article on the subject.
  2. Install TCP/IP-32 for Windows 3.11.
    While entirely option, it is also entirely cool.
  3. Ensure your Windows 3.11 network username matches a valid username on the Windows 7 share.
    To my knowledge, the net command in Windows 3.11 does not support the /user flag and always attempts to connect as the currently authenticated user.
  4. Connect!
    net use z: \\computer\share
    win311-mapdrive
  5. Launch File Manager.
    Copy your files in style.
    win311-transfer

Caveats

  • I used a Windows 7 VM because I already had one configured.  For OS X users, it seems entirely possible for Samba to be configured with LM hashes (labelled, simply, NTLM in Samba), negating the need for a second VM.  I haven’t explore this far yet but may in the future.
  • Since TCP/IP-32 is readily available, you may elect to use FTP instead.  I found it far more satisfying to fire up File Manager and to drag files over using a GUI from 1990.  On the other hand, if you don’t have proper install media for it, using LanMan may actually be simpler.
  • You can initialise the network stack from DOS using net init and net start full but I had mixed results.  Connections seemed far more reliable when I let Windows 3.11 perform the initialisation.