├── README.md ├── after-install-pve.md ├── bios.bin.zip ├── bootx64.efi ├── enable-vt-d-advance.md ├── enable-vt-d-auto.md ├── enable-vt-d-simple.md └── setup_var.mod /README.md: -------------------------------------------------------------------------------- 1 | # 锐角云相关资源 2 | Resources of acute angle htpc. 3 | 4 | - [自动版](https://github.com/Cyberpunk2177/AcuteAngle/blob/master/enable-vt-d-auto.md) 5 | 不需要 BIOS 电池,不需要手动操作,仅需重启两次 6 | 7 | - [高级版](https://github.com/Cyberpunk2177/AcuteAngle/blob/master/enable-vt-d-advance.md) 8 | 不占用多余的U盘 9 | 10 | - [基础版](https://github.com/Cyberpunk2177/AcuteAngle/blob/master/enable-vt-d-simple.md) 11 | 需要一个U盘作为启动项 12 | 13 | 14 | 15 | 如有需要或者反馈请开issue 16 | 17 | updated: 18 | 19 | 默认的Aperture Size是 256M 20 | 开到最大值512M的操作: 21 | setup_var_3 0x107 0x03 22 | 23 | 键盘云锐角云通用,给有需要的人参考 Via [@iscodeeasyornot](https://github.com/iscodeeasyornot) 24 | -------------------------------------------------------------------------------- /after-install-pve.md: -------------------------------------------------------------------------------- 1 | 某些特殊情况下会优先监听IPV6地址 2 | 3 | 要使用ipv4 连接优先而不必禁用ipv6,需要修改gai.conf配置文件使其生效。 4 | 5 | 修改/etc/gai.conf,取消下面这一行的注释 6 | 7 | ````precedence ::ffff:0:0/96 100```` 8 | -------------------------------------------------------------------------------- /bios.bin.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cyberpunk2177/AcuteAngle/d4b3ea00d597e9f11394f3fcf93f476d14f8185f/bios.bin.zip -------------------------------------------------------------------------------- /bootx64.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cyberpunk2177/AcuteAngle/d4b3ea00d597e9f11394f3fcf93f476d14f8185f/bootx64.efi -------------------------------------------------------------------------------- /enable-vt-d-advance.md: -------------------------------------------------------------------------------- 1 | ## 锐角云 Acute Angle PVE下开启VT-D (不占用U盘版) 2 | 3 | ### 警告 4 | 5 | - 首先不保证开启成功 6 | - 其次不保证您的板子不会BOOM或者黑掉 7 | - 再次不负任何责任 8 | - 原帖链接 https://tieba.baidu.com/p/4934345324 9 | 10 | ### 注意 11 | 12 | **因为此次修改不是直接修改BIOS因此断电以后设置会丢失,你可能需要重新设置,可以买个BIOS电池什么的,不嫌麻烦就直接重新再弄一次。。。** 13 | 14 | ### 准备材料 15 | 16 | | 名称 | 数量 | 备注 | 17 | | ----------- | ---- | ------------------------------------------------------------ | 18 | | 锐角云 | 1 | 没改过BIOS | 19 | | U盘 | 1 | 格式无所谓,能不能启动也无所谓,只要是好的U盘就行,建议fat32 | 20 | | grub2启动器 | 1 | BOOTX64.EFI 链接在[这里](https://github.com/Cyberpunk2177/AcuteAngle/raw/master/bootx64.efi) | 21 | | | | | 22 | 23 | ### 我们开始吧! 24 | 25 | 1. 还原你的BIOS设置 26 | 27 | 2. 把BOOTX64.EFI 丢到U盘的根目录下,记住这个名字以后要用到 28 | 29 | 3. 重启锐角云,在出现红色LOGO的时候按一下F7 ,在弹出的启动项选择菜单中选择【uefi built in efi shell】 30 | 31 | 4. 耐心等待到出现 32 | 33 | ```shell 34 | SHELL> _ 35 | ``` 36 | 37 | 字样以后,输入 38 | 39 | ```shell 40 | fs0: 41 | ``` 42 | 43 | 然后回车( **不要忘记英文冒号** ),再输入 44 | 45 | ```shell 46 | ls 47 | ``` 48 | 49 | 看看是否会出现文件列表,是否会显示你U盘中的文件以及 BOOTX64.EFI 文件 50 | 51 | 如果显示了,跳到5,如果没显示,继续 52 | 53 | ```shell 54 | fs1: 55 | 然后回车,输入 56 | ls 57 | 如果还是没显示,输入fs2: 然后 58 | ls 依此类推,直到显示BOOTX64.EFI 59 | ``` 60 | 61 | 如果输入到fs9的时候还没显示,那么换一个U盘继续。。。 62 | 63 | 5. 显示bootx64.efi以后输入 64 | 65 | ```shell 66 | \BOOTX64.EFI 67 | ``` 68 | 69 | 然后回车,此时如果不出意外会进入grub2界面。显示器的表现是刷新一段代码然后停留在以下界面 70 | 71 | ```shell 72 | grub2>: _ 73 | ``` 74 | 75 | 6. 此时在命令行输入 76 | 77 | ```shell 78 | setup_var_3 0x49 0x01 79 | ``` 80 | 81 | 然后回车,此时如果正常会显示 82 | 83 | ```shell 84 | GNU GRUB version 2.03 85 | 86 | Minimal BASH-like line editing is supported. For the first word, TAB 1ists possible command complet ions. Anywhere else TAB lists possible device or 11le complet ions. 87 | 88 | grub> setup_var Ox49 Ox1 Looking for Setup variable... 89 | 90 | var name: Setup, var size: 12, var guid: ec87d643-eba4-4bb5 a1-e5-3f-3e-36-b2-0d-a9 91 | 92 | --> GUID does not match expected GUID, taking it nevertheless... expected a different size of the Setup variable (got 1453 (0x5ad) bytes). 93 | Continue with care. 94 | successfully obtained "Setup" variable from ss (got 1453 (0x5ad) bytes). offset Ox49 is: Ox00 95 | setting offset Ox49 to Ox01 var name: Setup, var size: 12, var guid: 80e1202e-2697-4264 - 9c-c9-80- 96 | 97 | ``` 98 | 99 | 7. 重启电脑,进入PVE,sudo 或者 su 提权到root权限,打开终端 100 | 101 | ```shell 102 | vi /etc/default/grub 103 | 或者 104 | vim /etc/default/grub 105 | 或者 106 | nano /etc/default/grub 107 | 108 | 将 109 | GRUB_CMDLINE_LINUX_DEFAULT="quiet" 110 | 改为 111 | GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" 112 | 113 | ``` 114 | 115 | 重启机器,享受生活。 Enjoy It 116 | 117 | 118 | 119 | 120 | 121 | ### 感谢 122 | 123 | - @LongSoft 的BIOS工具提供支持 124 | - @codedad1983 的grub2引导器(以前的不能用.jpg 125 | - @Oscarice_Moe 的测试和确认 126 | -------------------------------------------------------------------------------- /enable-vt-d-auto.md: -------------------------------------------------------------------------------- 1 | # 锐角云 Acute Angle PVE下开启VT-D (不需要 BIOS 电池的自动版) 2 | 3 | 本方法不需要购买 BIOS 电池,也不需要刷入额外的 BIOS,即可实现永久地(实际上是每次开机自动修改)开启 `vt-d` 4 | 5 | ## 注意 6 | 7 | - 首先不保证开启成功 8 | - 其次不保证您的板子不会BOOM或者黑掉 9 | - 再次不负任何责任 10 | - 每次断电重启之后需要**再重启一次**才会生效 11 | 12 | ## 准备材料 13 | 14 | | 名称 | 数量 | 备注 | 15 | | ------------- | ---- | ---------------------------------------------------------------------------------- | 16 | | 锐角云 | 1 | 最好安装的是 PVE,没有在非 PVE 系统上做过测试 | 17 | | setup_var.mod | 1 | 从这里[下载](https://github.com/Cyberpunk2177/AcuteAngle/raw/master/setup_var.mod) | 18 | 19 | ## 步骤 20 | 21 | 1. 将 `setup_var.mod` 复制到 `/boot/grub/x86_64-efi/` 22 | 2. 修改 `/etc/grub.d/00_header` 23 | 24 | ``` bash 25 | echo -e 'echo "insmod setup_var"\necho "setup_var_3 0x49 0x01"' >> /etc/grub.d/00_header 26 | ``` 27 | 28 | 3. 修改 `/etc/default/grub` 29 | 30 | ``` bash 31 | GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" 32 | ``` 33 | 34 | 4. 生成新的 grub 配置 35 | ``` bash 36 | update-grub 37 | ``` 38 | 39 | 5. 重启**两次**, 检查是否启用成功 40 | 41 | ``` bash 42 | root@pve:~# dmesg |grep DMAR 43 | [ 0.013559] ACPI: DMAR 0x0000000079AB7820 0000A8 (v01 INTEL EDK2 00000003 BRXT 0100000D) 44 | [ 0.013695] ACPI: Reserving DMAR table memory at [mem 0x79ab7820-0x79ab78c7] 45 | [ 0.058291] DMAR: IOMMU enabled 46 | [ 0.204229] DMAR: Host address width 39 47 | [ 0.204233] DMAR: DRHD base: 0x000000fed64000 flags: 0x0 48 | [ 0.204251] DMAR: dmar0: reg_base_addr fed64000 ver 1:0 cap 1c0000c40660462 ecap 7e3ff0505e 49 | [ 0.204259] DMAR: DRHD base: 0x000000fed65000 flags: 0x1 50 | [ 0.204273] DMAR: dmar1: reg_base_addr fed65000 ver 1:0 cap d2008c40660462 ecap f050da 51 | [ 0.204281] DMAR: RMRR base: 0x00000079a32000 end: 0x00000079a51fff 52 | [ 0.204286] DMAR: RMRR base: 0x0000007b800000 end: 0x0000007fffffff 53 | [ 0.204293] DMAR-IR: IOAPIC id 1 under DRHD base 0xfed65000 IOMMU 1 54 | [ 0.204297] DMAR-IR: HPET id 0 under DRHD base 0xfed65000 55 | [ 0.204302] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping. 56 | [ 0.206605] DMAR-IR: Enabled IRQ remapping in x2apic mode 57 | [ 2.988101] DMAR: No ATSR found 58 | [ 2.988107] DMAR: dmar0: Using Queued invalidation 59 | [ 2.988119] DMAR: dmar1: Using Queued invalidation 60 | [ 2.994505] DMAR: Intel(R) Virtualization Technology for Directed I/O 61 | ``` 62 | 63 | 这样就是成功了,如果只有一行 64 | 65 | ``` 66 | [ 0.058291] DMAR: IOMMU enabled 67 | ``` 68 | 69 | 说明没有成功,可以再重启一次试试。 70 | 71 | ## 作者 72 | 73 | - [@YadominJinta](https://github.com/YadominJinta) 74 | -------------------------------------------------------------------------------- /enable-vt-d-simple.md: -------------------------------------------------------------------------------- 1 | ## 锐角云 Acute Angle PVE下开启VT-D (Ventoy版) 2 | 3 | ### 警告 4 | 5 | - 首先不保证开启成功 6 | - 其次不保证您的板子不会BOOM或者黑掉 7 | - 再次不负任何责任 8 | - 原帖链接 https://tieba.baidu.com/p/4934345324 9 | 10 | ### 注意 11 | 12 | **因为此次修改不是直接修改BIOS因此断电以后设置会丢失,你可能需要重新设置,可以买个BIOS电池什么的,不嫌麻烦就直接重新再弄一次。。。** 13 | 14 | ### 准备材料 15 | 16 | | 名称 | 数量 | 备注 | 17 | | ----------- | ---- | ------------------------------------------------------------ | 18 | | 锐角云 | 1 | 没改过BIOS | 19 | | U盘 | 1 | 格式无所谓,能不能启动也无所谓,只要是好的U盘就行,建议fat32 | 20 | | grub2启动器 | 1 | BOOTX64.EFI 链接在[这里](https://github.com/Cyberpunk2177/AcuteAngle/raw/master/bootx64.efi) | 21 | | | | | 22 | 23 | ### 我们开始吧! 24 | 25 | 1. 还原你的BIOS设置 26 | 27 | 2. 将Ventoy安装到U盘,教程参考这里 https://www.ventoy.net/cn/doc_disk_layout.html 28 | 29 | 3. 将 bootx64.efi 丢到ventoy的主目录,也就是平时放镜像的地方。不知道的话,去看上面的链接 30 | 31 | 其实你如果不选择保留分区的话,最后U盘应该只剩下一个地方给你放文件 32 | 33 | 4. 重启锐角云,在出现红色LOGO的时候按一下F7 ,在弹出的启动项选择菜单中选择你的U盘 34 | 35 | 5. 在弹出的菜单中选择 [BOOTX64.EFI] 后回车,此时如果不出意外会进入grub2界面。显示器的表现是刷新一段代码然后停留在以下界面 36 | 37 | ```shell 38 | grub2>_ 39 | ``` 40 | 41 | 6. 此时在命令行输入 42 | 43 | ```shell 44 | setup_var_3 0x49 0x01 45 | ``` 46 | 47 | 然后回车,此时如果正常会显示 48 | 49 | ```shell 50 | GNU GRUB version 2.03 51 | 52 | Minimal BASH-like line editing is supported. For the first word, TAB 1ists possible command complet ions. Anywhere else TAB lists possible device or 11le complet ions. 53 | 54 | grub> setup_var Ox49 Ox1 Looking for Setup variable... 55 | 56 | var name: Setup, var size: 12, var guid: ec87d643-eba4-4bb5 a1-e5-3f-3e-36-b2-0d-a9 57 | 58 | --> GUID does not match expected GUID, taking it nevertheless... expected a different size of the Setup variable (got 1453 (0x5ad) bytes). Continue with care. successfully obtained "Setup" variable from ss (got 1453 (0x5ad) bytes). offset Ox49 is: Ox00 59 | 60 | setting offset Ox49 to Ox01 var name: Setup, var size: 12, var guid: 80e1202e-2697-4264 - 9c-c9-80- 61 | 62 | ``` 63 | 64 | 7. 重启电脑,进入PVE,sudo 或者 su 提权到root权限,打开终端 65 | 66 | ```shell 67 | vi /etc/default/grub 68 | 或者 69 | vim /etc/default/grub 70 | 或者 71 | nano /etc/default/grub 72 | 73 | 将 74 | GRUB_CMDLINE_LINUX_DEFAULT="quiet" 75 | 改为 76 | GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" 77 | 78 | ``` 79 | 80 | 重启机器,享受生活。 Enjoy It 81 | 82 | 83 | 84 | 85 | 86 | ### 感谢 87 | 88 | - @LongSoft 的BIOS工具提供支持 89 | - @codedad1983 的grub2引导器(以前的不能用.jpg 90 | - @Oscarice_Moe 的测试和确认 91 | -------------------------------------------------------------------------------- /setup_var.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cyberpunk2177/AcuteAngle/d4b3ea00d597e9f11394f3fcf93f476d14f8185f/setup_var.mod --------------------------------------------------------------------------------