Thinkpad W520

Thinkpad W520 Install notes (Windows 7, Windows 10 and Ubuntu and dual boot)

Hardware configs

First of all, the W520 comes in quite a few different hardware configurations (see ThinkWiki W520). I myself have a two variants:

Operating system of choice

The laptop was released when Windows 7 was up-to-date, so naturally, all hardware was natively supported by Windows 7 x64 drivers provided by Lenovo. However, if you try to get a full set of Windows 7 drivers today, you have to look hard to get a matching and complete set, since Lenovo took some out of "support" and makes it hard to locate the downloads. It can be expected that the drivers disappear altogether in a few years, so I provide copies of the drivers below.

Windows 10 can be readily installed as well, yet there are some drivers missing. The fingerprint sensor is not supported at all on Windows 10. Also, the multi-touch touchpad drivers won't work on Windows 10. The multicard drivers have to be manually installed. Otherwise, all hardware I need is supported out of the box.

Linux (Ubuntu 18.04, 20.04, and likely all other up-to-date distros) support nearly the entire hardware nicely, including the optimius graphics (though switching between intel and nvidia is not as smooth as on Windows).

So, here's my personal recommendation:

This also means that dual booting Windows and Linux might be important.

Installing Windows from USB stick or CD or external CD

You can install Windows 7 and Windows 10 from USB stick (create one with Rufus from downloaded ISO), but only in UEFI mode.

You can install Windows 7 in legacy boot mode only from CD. Using an external USB-CD drive (my optical bay has a harddrive caddy in it), needs additional drivers during setup, and I never got that to work. So you need to use the internal DVD drive to install from, when you want Windows 7 in legacy mode.

Dual boot options

The W520 bios supports already UEFI booting. However, the UEFI-implementation seems to have quite a few glitches and I'd recommend using legacy booting for dual boot.

UEFI-Dual-Boot on single harddrive

I have a pretty large SSD in the hard drive bay (optical bay has a hdd caddy as well, but that's just for data storage). So here's the procedure for dual boot on single HDD:

  1. Use a Windows 7 x64 pro install USB stick (download ISO, create bootable stick with Rufus),
  2. boot in UEFI + Legacy mode (or UEFI only)
  3. install on harddrive (installer will create 2 small system partitions)
  4. boot into Windows, resize harddrive partition to create space for Linux
  5. boot computer in UEFI only mode. Unlike other machines, the boot option menu doesn't offer booting the USB-stick in legacy and UEFI-mode. So when installing Linux from USB stick (booting in UEFI + Legacy mode) Ubuntu 20.04 ended up installed in legacy mode and the grup menu didn't show Windows 7/10 as boot entry. When you set the boot mode in the BIOS setup to UEFI-Only, then Ubuntu gets installed in UEFI-mode as well, and the boot menu then shows both Windows and Linux for booting.

Legacy-Dual-Boot on single harddrive

  1. Use a Windows 7 x64 pro install DVD (download ISO, create bootable DVD with, for example, CDBurnerXP on Windows),
  2. Change boot mode in setup to Legacy-mode
  3. Install Windows 7 (it will create two partitions), resize drive C: to make room for Linux,
  4. Install Ubuntu into the empty space (create swap partition at end if needed)

Works like a charm. Also, with Grub you are free to flexibly install other Linux distros on harddisks in the ultrabay caddy, which you can easily swap out.

Linux driver support

Nothing much to say here: all works out of the box, the NVIDIA proprietory drivers from the repository work nicely. Optimus setup needs some more work.

Windows 7 drivers

You need a bunch of drivers after installation. At the time of writing, some of the drivers are still available through Lenovo System Update. So the simplest procedure after installation is:

  1. Install dotNet Framework 4.5.2 (needed by Lenovo System Update): NDP452-KB2901907-x86-x64-AllOS-ENU_dotnet_452.exe
  2. Install Lenovo System Update: system_update_5.07.0118.exe
  3. Install Intel WLAN drivers (see below)

Afterwards you can download most drivers with System Update. However, I wouldn't bet on having these available for anytime soon, so I have made a copy of the drivers I needed to install. Download these and install them in the given order after a fresh Windows 7 x64 install:

  1. NVidia Optimus: 83de50ww_nvidia_optimus.exe
  2. Intel WLAN: 8aw217ww_intelWLAN.exe
  3. USB 3.0: 8ay210ww_usb30.exe
  4. Integrated Camera: 8aca15ww_camera.exe
  5. Touchpad (Multi-touch support): 6hgx81ww_touchpad.exe
  6. Ethernet/LAN: 83rw20ww_64_LAN.exe
  7. Bluetooth: g4wb12ww_bluetooth.exe (Note: when dual booting with Linux, make sure BlueTooth is on when shutting down from Linux, otherwise Windows complains about missing Bluetooth adapter)
  8. Hotkey integration (blue special key support): 8jvu43ww_hotkeys.exe
  9. Audio (optional, built-in audio-support is IMHO sufficient): 8aad14ww_audio.exe
  10. Multi/Media Card Reader: 8ass82ww_multicard_reader.exe
  11. Smartcard reader (only if needed): 8axv51ww_smartcard_reader.exe (Note: only install if needed, otherwise disable SmartCard reader in BIOS)
  12. Modem (only if needed): 7zwf02ww_modem.exe (Note: only install if needed, otherwise disable Modem in BIOS)
  13. Intel Management Engine Driver (optional, IMHO not needed): 83ra31ww_IntelManagementDriver.exe
  14. Intel Management Engine Firmware update (optional, requires installed IME driver): 83rf46ww_IntelManagementFirmwareUpdate.exe
  15. Fingerprint sensor (only! for models with sensor): g1f814ww_fingerprint.exe (Note: may not work with UEFI installations, if you need Fingerprint support, install with legacy boot)
  16. Color calibrator sensor(only! for models with sensor): pantone_color_calibrator_setup_v1_3_0_6644.exe (Note: IMHO not really necessary, display is great as it is, yet for photo-realistic stuff not good enough)

With nVidia Optimius a fresh battery runs in "balanced" mode around 4 hours, in "battery saving" mode around 6-7 hours. That's impressive and neither Windows 10 nor Ubuntu get anywhere near that.

To check power consumption, the free Battery Bar tool looks useful: BatteryBarSetup-3.6.6.exe

Windows 10 drivers

The multi-card reader needs a custom driver:

  1. Multi/Media Card Reader (Windows 10)8axw02ww_multicard_reader.exe