summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorhonjow2023-12-02 10:36:01 +0000
committerhonjow2023-12-02 10:36:01 +0000
commit0f9943ec1910aa702744f2903f1aea9fc6f8aa6e (patch)
treebaa7473e005e5206c75863b82115c3488f04b698
parent8cecbbceca4d40fb621b75db8b524dab740f0270 (diff)
downloadaur-0f9943ec1910aa702744f2903f1aea9fc6f8aa6e.tar.gz
Update AUR package
-rw-r--r--.SRCINFO3
-rw-r--r--PKGBUILD4
-rw-r--r--sk-boot-to-windows.sh50
3 files changed, 23 insertions, 34 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 6be2b39a1956..83bc1ebe64c6 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,11 +1,10 @@
pkgbase = sk-boot-to-windows
pkgdesc = Creates a .desktop application to boot into Windows
- pkgver = 1.0.1
+ pkgver = 1.0.2
pkgrel = 1
arch = any
license = MIT
depends = efibootmgr
- depends = systemd
source = sk-boot-to-windows.sh
source = sk-boot-to-windows.desktop
source = sk-boot-to-windows.svg
diff --git a/PKGBUILD b/PKGBUILD
index 27907b422b6c..8036e10c46c3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,10 +1,10 @@
pkgname="sk-boot-to-windows"
-pkgver="1.0.1"
+pkgver="1.0.2"
pkgrel=1
pkgdesc="Creates a .desktop application to boot into Windows"
arch=(any)
license=('MIT')
-depends=('efibootmgr' 'systemd')
+depends=('efibootmgr')
source=(
'sk-boot-to-windows.sh'
'sk-boot-to-windows.desktop'
diff --git a/sk-boot-to-windows.sh b/sk-boot-to-windows.sh
index 0c101b4e0d59..e1b20ec2c3c7 100644
--- a/sk-boot-to-windows.sh
+++ b/sk-boot-to-windows.sh
@@ -1,35 +1,25 @@
#!/bin/bash
-systemctl reboot --boot-loader-entry=auto-windows
-# 获取上一个命令的退出状态码
-exit_status=$?
+# 使用 efibootmgr 列出当前的 EFI 启动项,并将输出保存到变量 boot_list 中
+boot_list=$(efibootmgr)
-# 检查退出状态码是否为0(正常)
-if [ $exit_status -ne 0 ]; then
- # 如果不正常,执行下一层逻辑
- echo "命令执行不正常,状态码: $exit_status"
-
- # 使用 efibootmgr 列出当前的 EFI 启动项,并将输出保存到变量 boot_list 中
- boot_list=$(efibootmgr)
+# 使用 grep 命令查找包含 "Windows Boot Manager" 的启动项行,并提取其编号
+boot_entry=$(echo "$boot_list" | grep -i "Windows Boot Manager" | grep -i "bootmgfw.efi" | awk '{print $1}')
- # 使用 grep 命令查找包含 "Windows Boot Manager" 的启动项行,并提取其编号
- boot_entry=$(echo "$boot_list" | grep -i "Windows Boot Manager" | awk '{print $1}')
+# 去掉启动项编号中的前缀 "Boot" 和后面的星号 "*",只保留编号部分
+boot_entry=${boot_entry#Boot}
+boot_entry=${boot_entry%\*}
+echo "找到的 'Windows Boot Manager' 启动项编号为: $boot_entry"
- # 去掉启动项编号中的前缀 "Boot" 和后面的星号 "*",只保留编号部分
- boot_entry=${boot_entry#Boot}
- boot_entry=${boot_entry%\*}
- echo "找到的 'Windows Boot Manager' 启动项编号为: $boot_entry"
-
- # 检查是否找到了 "Windows Boot Manager" 启动项
- if [ -n "$boot_entry" ]; then
- # 找到了,使用 efibootmgr 将其设置为下一次启动项
- sudo efibootmgr -n "$boot_entry"
- echo "已将 'Windows Boot Manager' 设置为下一次启动项。"
- # 在这里添加重启系统的命令,例如 sudo reboot
- sudo reboot
- else
- # 没找到,报错并退出
- echo "找不到 'Windows Boot Manager' 启动项。无法设置下一次启动项。"
- exit 1
- fi
-fi
+# 检查是否找到了 "Windows Boot Manager" 启动项
+if [ -n "$boot_entry" ]; then
+ # 找到了,使用 efibootmgr 将其设置为下一次启动项
+ sudo efibootmgr -n "$boot_entry"
+ echo "已将 'Windows Boot Manager' 设置为下一次启动项。"
+ # 在这里添加重启系统的命令,例如 sudo reboot
+ sudo reboot
+else
+ # 没找到,报错并退出
+ echo "找不到 'Windows Boot Manager' 启动项。无法设置下一次启动项。" >&2
+ exit 1
+fi \ No newline at end of file