启动时如何选择性地屏蔽 nvme 硬盘? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Damn
V2EX    问与答

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

  •  
  •   Damn 2024-01-10 20:38:16 +08:00 via iPhone 1946 次点击
    这是一个创建于 706 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    20 条回复    2024-01-13 18:08:22 +08:00
    AoEiuV020JP
        1
    AoEiuV020JP  
       2024-01-10 21:08:58 +08:00 via Android
    真的有必要吗,家里人什么水平,
    默认启动硬盘 A ,并在操作系统层面删除硬盘 B 的所有盘符,这样不够隐蔽?考虑硬盘 B 系统级全盘加密?
    kenvix
        2
    kenvix  
       2024-01-10 21:51:36 +08:00   1
    你就不能在 Windows 里直接把硬盘脱机吗
    PrinceofInj
        3
    PrinceofInj  
       2024-01-10 22:05:31 +08:00
    买两台小主机,放到一个盒子里,然后配个 KVM 切换器
    zhdi
        4
    zhdi  
       2024-01-11 02:19:43 +08:00 via iPhone
    linux 下可以直接添加一个 systemd 来关掉所在的 pci node ,或许 windows 下也可以通过 powershell 做到同样的事,这样理论上磁盘管理器就扫不到盘,日常用的磁盘工具也扫不到
    datocp
        5
    datocp  
       2024-01-11 04:30:42 +08:00 via Android
    当年 grub for dos 在单硬盘上实现过,主要是划分三主分区装系统+1 逻辑分区,启动时屏蔽另外 2 主分区来实现启动 3 独立操作系统。
    Tomss
        6
    Tomss  
       2024-01-11 11:05:52 +08:00
    AB 两块硬盘分别安装 2 个 windows 同时各自生成启动引导(这个很重要),然后在 BIOS 直接设置默认启动 A 盘的引导,需要启动 B 盘的时候开机按 f12 (不同品牌不一样)进入启动项设置选择 B 盘不就可以了?
    Damn
        7
    Damn  
    OP
       2024-01-11 12:37:48 +08:00 via iPhone
    @Tomss 你这个是基本且必要的操作。
    但开机后能访问到非启动盘。
    我想要的效果是启动后只能操作当前系统所在的硬盘,无法操作别的硬盘。
    Damn
        8
    Damn  
    OP
       2024-01-11 12:40:25 +08:00 via iPhone
    @AoEiuV020JP
    @kenvix
    @zhdi 目前找到一个折衷的方案。
    开机的时候运行 devcon 或者 pnputil 来 disable-device 。尝试了一下 remove-device 没有成功不知为何。
    waringid
        9
    waringid  
       2024-01-12 08:49:15 +08:00
    @PrinceofInj 这个最靠谱
    since2021
        10
    since2021  
       2024-01-12 09:14:26 +08:00
    都是 windows 的话,在 ta 的系统里直接删除掉用不到的盘符就行啦
    Damn
        11
    Damn  
    OP
       2024-01-12 13:18:06 +08:00 via iPhone
    @AoEiuV020JP
    @kenvix
    @since2021 devcon 和 pnputil 失败,设备管理器里的 nvme 控制器或者硬盘驱动器都是没有办法禁用的,看起来只有删除盘符的选择了。
    @zhdi Windows 似乎没有提供关闭 PCI node 的能力。
    zhdi
        12
    zhdi  
       2024-01-13 11:16:05 +08:00 via iPhone
    @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
        13
    zhdi  
       2024-01-13 11:19:17 +08:00 via iPhone
    @Damn sry 没看到 devcon 失败了,试一下 disablepnpdevice 吧
    busier
        14
    busier  
       2024-01-13 16:52:59 +08:00 via Android
    @Damn 不能禁用引导盘(当前系统引导的 bootmgr 所在盘)和系统盘所在的 nvme 控制器和硬盘驱动器以及对应的 pci node ,非引导盘和系统盘还是可以禁用的。
    busier
        15
    busier  
       2024-01-13 16:58:50 +08:00 via Android
    如果你引导分区 efi bootmgr 在一块硬盘(并且是通过这个引导进入的系统),win 系统在另一个硬盘,那么两块硬盘,连同控制器,都不能禁用。
    Damn
        16
    Damn  
    OP
       2024-01-13 17:03:46 +08:00
    @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
        17
    Damn  
    OP
       2024-01-13 17:04:42 +08:00
    @busier 并不,我两块盘都是独立的 os ,并且我还有第三盘,上面没有 os ,也无法禁用的。
    Damn
        18
    Damn  
    OP
       2024-01-13 17:08:22 +08:00
    @zhdi
    @busier 而且操作的时候无论是"SCSI\DISK&VEN_NVME&PROD*********",还是"PCI\VEN_****&DEV_**********",都是一样的结果。
    busier
        19
    busier  
       2024-01-13 17:37:21 +08:00 via Android
    先用设备管理器 把查看改成 按连接列出 测试下禁用
    zhdi
        20
    zhdi  
       2024-01-13 18:08:22 +08:00 via iPhone
    @Damn 那就不清楚了,我的 windows 只用来打游戏,对 windows 没啥了解(
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2907 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 14:11 PVG 22:11 LAX 06:11 JFK 09:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86