启动时如何选择性地屏蔽 nvme 硬盘?

347 天前
 Damn

前情提要:家里有人见不得多台电脑。

实际场景:多个硬盘装 Windows 系统,启动时不同的用户选择对应的硬盘。

真实需求:启动时屏蔽别的硬盘(都是 nvme ,即 PCIe device ),避免误操作,各自相安无事。

找了一圈似乎修改 ACPI table 可行,但 Clover 貌似只能根据启动不同的 OS 来加载,而我两个不同的启动项都是 Windows ,需要对 ACPI table 做不同的修改。 有没有一种类似的东西,可以在不同的 entry 加载不同的 ACPI table ?

1438 次点击
所在节点    问与答
20 条回复
AoEiuV020JP
347 天前
真的有必要吗,家里人什么水平,
默认启动硬盘 A ,并在操作系统层面删除硬盘 B 的所有盘符,这样不够隐蔽?考虑硬盘 B 系统级全盘加密?
kenvix
347 天前
你就不能在 Windows 里直接把硬盘脱机吗
PrinceofInj
346 天前
买两台小主机,放到一个盒子里,然后配个 KVM 切换器
zhdi
346 天前
linux 下可以直接添加一个 systemd 来关掉所在的 pci node ,或许 windows 下也可以通过 powershell 做到同样的事,这样理论上磁盘管理器就扫不到盘,日常用的磁盘工具也扫不到
datocp
346 天前
当年 grub for dos 在单硬盘上实现过,主要是划分三主分区装系统+1 逻辑分区,启动时屏蔽另外 2 主分区来实现启动 3 独立操作系统。
Tomss
346 天前
AB 两块硬盘分别安装 2 个 windows 同时各自生成启动引导(这个很重要),然后在 BIOS 直接设置默认启动 A 盘的引导,需要启动 B 盘的时候开机按 f12 (不同品牌不一样)进入启动项设置选择 B 盘不就可以了?
Damn
346 天前
@Tomss 你这个是基本且必要的操作。
但开机后能访问到非启动盘。
我想要的效果是启动后只能操作当前系统所在的硬盘,无法操作别的硬盘。
Damn
346 天前
@AoEiuV020JP
@kenvix
@zhdi 目前找到一个折衷的方案。
开机的时候运行 devcon 或者 pnputil 来 disable-device 。尝试了一下 remove-device 没有成功不知为何。
waringid
345 天前
@PrinceofInj 这个最靠谱
since2021
345 天前
都是 windows 的话,在 ta 的系统里直接删除掉用不到的盘符就行啦
Damn
345 天前
@AoEiuV020JP
@kenvix
@since2021 devcon 和 pnputil 失败,设备管理器里的 nvme 控制器或者硬盘驱动器都是没有办法禁用的,看起来只有删除盘符的选择了。
@zhdi Windows 似乎没有提供关闭 PCI node 的能力。
zhdi
344 天前
@Damn 刚查了一下,或许可以尝试一下 disable-pnpdevice ,配合 get-pnpdevice 用,链接如下

https://learn.microsoft.com/en-us/powershell/module/pnpdevice/?view=windowsserver2022-ps
另外还有 devcon 可以尝试一下

https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/devcon-disable
但大概看了一下,这个貌似是直接卸载驱动,不知道能不能实现你想要的效果
zhdi
344 天前
@Damn sry 没看到 devcon 失败了,试一下 disablepnpdevice 吧
busier
344 天前
@Damn 不能禁用引导盘(当前系统引导的 bootmgr 所在盘)和系统盘所在的 nvme 控制器和硬盘驱动器以及对应的 pci node ,非引导盘和系统盘还是可以禁用的。
busier
344 天前
如果你引导分区 efi bootmgr 在一块硬盘(并且是通过这个引导进入的系统),win 系统在另一个硬盘,那么两块硬盘,连同控制器,都不能禁用。
Damn
344 天前
@zhdi
@busier
sata 盘可以在 Windows 里面禁用 sata 控制器,但 nvme 好像真的没什么好办法。disablepnpdevice 也是失败的。
应该是 Windows 设计成这样了,搜到一个:
Generally you can't disable PCIE/add-in card devices which nvme drives are considered.
( https://hardforum.com/threads/can-i-disable-nvme-slot.2018114/)
Damn
344 天前
@busier 并不,我两块盘都是独立的 os ,并且我还有第三盘,上面没有 os ,也无法禁用的。
Damn
344 天前
@zhdi
@busier 而且操作的时候无论是"SCSI\DISK&VEN_NVME&PROD*********",还是"PCI\VEN_****&DEV_**********",都是一样的结果。
busier
344 天前
先用设备管理器 把查看改成 按连接列出 测试下禁用
zhdi
344 天前
@Damn 那就不清楚了,我的 windows 只用来打游戏,对 windows 没啥了解(

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

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

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

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

© 2021 V2EX