如何在 Linux 上将固件升级到 Thinkpad Ultra Docking Station?

dir*_*rdi 6 firmware linux debian docking-station updates

我需要将Thinkpad Ultra Docking Station的固件更新到去年发布的V3.3.1 。我没有运行 Windows 7/8/10 的笔记本电脑,并且 Lenovo 不通过LVFS提供此更新,而仅以.exe文件形式提供。

是否可以在 Linux 下将固件更新刷新到扩展坞上?或者有人知道更新坞站固件的另一种方法吗?

我正在考虑的一些方法:

  • 也许我可以创建一个 Windows 10 USB 恢复驱动器,启动它,启动 shell,然后安装更新。
  • 另一种选择是创建 Windows 预安装环境 (PE),将其闪存到 USB 驱动器,启动它,然后运行更新。然而,我发现的所有关于如何创建 PE 的教程似乎都已经过时了。
  • 在 VirtualBox VM 中,我运行着 Windows 10 Pro 2004。也许可以通过某种方式将扩展坞传递到该虚拟机来刷新更新?
  • 我没有尝试过,但 99.9999% 确信任何基于 WINE 的方法都行不通。

到目前为止我已经尝试过的:

  • 利用Windows 10 Pro 2004 VM的“恢复媒体创建器”工具,我制作了一个USB恢复驱动器,将固件复制到USB驱动器上并尝试运行它,但不幸的是没有成功: 错误信息 我还尝试了“用于企业部署的固件更新工具”,并按照“在其他环境中静默部署”的说明进行操作,但最终出现了相同的错误。

联想论坛上有两个 关于旧/另一个扩展坞的固件更新的主题,但它们都没有公认的解决方案。

dir*_*rdi 5

感谢您的所有回答,我终于能够安装更新:

  1. 从这里下载 Windows 10 。
  2. 在 VirtualBox 中的 14 GB VDI 虚拟磁盘上创建了一个新的 Windows 10 VM。
  3. 安装了Windows 10 Pro 2004(选择“我没有产品密钥”并断开虚拟网络适配器才能创建本地帐户) Windows 10 安装屏幕截图
  4. 重新连接虚拟网络适配器并下载固件更新以及英特尔显卡驱动程序
  5. 将 VDI 虚拟磁盘转换为原始映像: vbox-img convert --srcfilename ~/VBoxVMs/Windows\ 10\ USB/Windows\ 10\ USB.vdi --dstfilename ~/usb.hdd --srcformat VDI --dstformat RAW
  6. 购买了 16 GiB USB 驱动器(这次我想强调我是多么讨厌购买硬件来解决软件问题)。
  7. dd将原始图像复制到 USB 驱动器上:sudo dd status=progress if=~/usb.hdd of=/dev/sdb bs=512K
  8. 进入 UEFI 固件设置,将启动模式切换为“仅传统”,启用“CSM 支持”并将启动优先级更改为从 USB 启动。
  9. 从 USB 驱动器启动到 Windows 10(未使用扩展坞的 USB 端口,而是使用笔记本电脑的 USB 端口)。
  10. 已安装英特尔显卡驱动程序(如果没有它,更新将无法找到当前版本DP HubPD Control版本,并最终引发以下错误:“更新超时,请从 Dock 中删除所有设备,然后重新启动计算机以重试。”)。
  11. 运行固件更新 固件更新截图
  12. 进入 UEFI 固件设置并恢复设置。

请注意,至少对于 Win10_20H2_English_x64.iso,此过程将不再有效,因为 Microsoft 现在在启动先前 VirtualBox 配置的映像时会切换到所谓的 S 模式。不幸的是,在 S 模式下,既无法安装所需的显卡驱动程序,也无法启动扩展坞更新!

  • @0andriy 那么请与我们分享它在没有 Windows 的情况下如何工作。 (3认同)
  • 感谢这个解决方案,看到它后最终做了同样的事情。由于我可以使用旧的 Windows 计算机,我发现使用 rufus 制作“Windows on the go”驱动器更容易。在某些时候,rufus 获得了直接制作“Windows on the go”驱动器的支持,因此只需选择 ISO、哪个驱动器并点击即可轻松完成。rufus 还使其可以通过 UEFI 启动,因此您无需更改 BIOS 设置即可使其工作 - 只是作为此处精彩指南的替代方案。 (2认同)