适用于掌机、平板等的双系统/多系统快捷切换方法

2022-11-14 14:07:34 +08:00
 huangsijun17

众所周知,GRUB2 在内的众多 UEFI 引导加载器都不支持触摸屏、摇杆等设备,唯一支持触摸屏的 WBM 却又不能引导非 Windows 。而且,大多数该类设备的 BIOS 也不支持触摸屏、摇杆等进行操作。这也就意味着,此类设备想要切换系统,大多需要外接 USB 键盘+USB HUB 。相较于此类便携设备,为了切系统的外设比设备本体还要大,颇为不便。 由于 X86 掌机的流行,我也为此所困,故特此制作了在系统内的快捷“重启换系统”。

重启换系统分 Linux 和 Windows 侧,核心代码如下:

Win2Lin:
bcdedit /set {fwbootmgr} DEFAULT {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} | shutdown -r -t 0
Lin2Win:
efibootmgr | grep "Windows Boot Manager" | tail -n 1 | head -c 8 | tail -c 4 | xargs sudo efibootmgr -n ; sleep 1s ; sudo systemctl reboot

注意事项:

  1. Win2Lin 中的{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}需要替换为您 Linux 系统启动器的固件应用程序标识符。标识符需要使用管理员权限运行命令bcdedit /enum firmware获取:
……

固件应用程序(101fffff)
-------------------------------
标识符                  {00001111-2222-3333-cccc-ddddeeeeffff}
device                  partition=X:
path                    \EFI\Boot\Bootx64.efi
description             Linux

……
  1. Lin2Win 只会自动启动第一个名为“Windows Boot Manager”的固件应用程序。

为便于使用,我也写了.bat&.sh 的安装脚本,Win2Lin 的快捷方式中的标识符同样需要修改。 https://huangsijun17.lanzouw.com/ipY9W0fwe3fa

706 次点击
所在节点    操作系统
4 条回复
yuuko
2022-11-14 14:16:42 +08:00
huangsijun17
2022-11-14 14:19:06 +08:00
@yuuko rEFInd 对于触摸屏、摇杆的支持是依赖 EFI 驱动文件的。而大多数平板 /掌机厂商并没有提供 EFI 的触摸屏 /摇杆驱动。
yuuko
2022-11-14 14:21:18 +08:00
@huangsijun17 那这些平板 /掌机是真的垃圾了,我 7 年前的垃圾山寨海尔平板都支持
huangsijun17
2022-11-14 14:26:29 +08:00
@yuuko 掌机上的是手机触摸屏,排线在左侧或右侧,UEFI 下是旋转 90°的。除非再去跑一个第三方写的 UEFI 下旋转 90°屏幕的文件,启动器也是歪的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/895112

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX