V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
MacsedProtoss
V2EX  ›  程序员

有没有远程切换 pc 启动盘的方案

  •  
  •   MacsedProtoss · 1 天前 via iPhone · 1957 次点击

    如题,大概的情况是现有一台 win pc ,有两块盘,装了两个系统来隔离境内/境外。隔离的方案是开 bitlocker ,这样境内应用的流氓就扫不了另一块盘了。 但是这样操作之后由于引导分别在两块盘上,目前只能通过 bios 的启动菜单来切换两个系统。

    快过年了要回趟老家,求问人不在的时候如何远程切换启动盘?软/硬件方案均可,内网可以正向代理回去访问。

    34 条回复    2025-01-20 17:07:31 +08:00
    xclimbing
        1
    xclimbing  
       1 天前
    取决于你用的哪种启动方式啊。如果是 UEFI+GPT ,那么就直接编辑其中一个硬盘的 win 系统的 BCD ,把另一个系统的启动项加进去。然后进入其中一个系统后,想切换到另一个系统,只需要编辑一下 BCD 的默认启动项,重启即可。如果用第三方的启动管理软件,例如 grub4dos_UEFI 或者 grub2 ,那就更简单,设置一下默认启动项就行了。

    如果是 BIOS 启动方式,就推荐用 grub4dos ,上面的 BCD 方案也是适用的。
    k9982874
        2
    k9982874  
       1 天前 via Android   ❤️ 1
    买支持 imcp 等远程管理的主板
    MacsedProtoss
        3
    MacsedProtoss  
    OP
       1 天前 via iPhone
    @xclimbing 开启 bitlocker 之后是加密了全部的,A 盘不能引导 B 盘…

    @k9982874 家用机哪有这种主板…
    photon006
        4
    photon006  
       1 天前   ❤️ 1
    我感觉 pve 虚拟化方案可以实现,把 2 块硬盘直通给虚拟机,启动随意选择其中一块。
    xclimbing
        5
    xclimbing  
       1 天前
    @MacsedProtoss 那你可以用 B 盘引导 A 盘啊,无论 B 盘是否加密,Windows 的引导方式总是支持的,你觉得不行,仅仅是因为你不了解原理而已。据我所知,Windows 的 UEFI 引导区是不会加密的。
    datocp
        6
    datocp  
       1 天前 via Android
    好复杂
    至少引导是引导,系统是系统
    当年 grub for dos ,就可以在 3 主分区实现 3 个系统,通过 1 个小的扩展分区放置启动文件,然后能用的就是进系统改配置文件重启。
    一些 hp/dell 服务器是有外围模块,是可以远程启动切换系统。
    Cineray
        7
    Cineray  
       1 天前
    有一个东西叫 ip kvm, 可以远程 HDMI 加 usb 。
    m1nm13
        8
    m1nm13  
       1 天前
    IPKVM .大概最便宜的价格都在 500 上下
    MacsedProtoss
        9
    MacsedProtoss  
    OP
       1 天前 via iPhone
    @photon006 这个方案虽然可行 但是其实要从 0 开始重建工作 这个应该会导致被识别为新的设备 所以得先全部解密 bitlocker 再重新加密 而且得多加一块盘作为 pve 的盘🤔

    @xclimbing 两块盘都是 bitlocker 加密的…你对调有啥用啊 bitlocker 是全盘加密的 你读不了另一个盘的 efi 分区
    按照我以前黑苹果的经验,uefi 下多引导应该是最终启动不同的.efi ? 然而直接把 B 盘的 efi 整合到 A 里面也是不行的 启动应该是会卡在无法解锁 bitlocker 上
    但是这一块具体的原理确实是没深入了解过
    MacsedProtoss
        10
    MacsedProtoss  
    OP
       1 天前 via iPhone
    @Cineray
    @m1nm13
    感觉这玩意确实有可行性 我研究下
    1145148964
        11
    1145148964  
       1 天前
    最简单的办法,虚拟机。
    iceecream
        12
    iceecream  
       1 天前
    向日葵有硬件。最简单,用完可以卖掉,或者海鲜市场看看。
    MacsedProtoss
        13
    MacsedProtoss  
    OP
       1 天前 via iPhone
    @1145148964 moonlight 串流的机子 除非是 pve 那种模式否则性能损失太大
    MacsedProtoss
        14
    MacsedProtoss  
    OP
       1 天前 via iPhone
    @iceecream 不信任走公网的设备…
    ltkun
        15
    ltkun  
       1 天前 via Android
    kvm 小黄鱼上最便宜 100
    kk2syc
        16
    kk2syc  
       1 天前
    这么简单的问题,你们还讨论上 ipmi 了?
    一个 esp32 ,三个继电器,两个继电器分别控制两个硬盘的电源线,一个继电器接开机键针脚。

    esp32 独立供电,连接 wifi (也可以蓝牙)

    关机后,断开硬盘 B 电源(继电器 2 ),连通硬盘 A 电源(继电器 1 ),继电器 3 (开机键)开机,不就是一号系统。
    关机后,断开硬盘 A 电源(继电器 1 ),连通硬盘 B 电源(继电器 2 ),继电器 3 (开机键)开机,不就是二号系统。
    cuicuiv5
        17
    cuicuiv5  
       1 天前
    向日葵有款硬件,插 hdmi 接口,bios 界面都可以远程。 不过你不信任向日葵的话就没办法了
    MacsedProtoss
        18
    MacsedProtoss  
    OP
       1 天前 via iPhone
    @kk2syc 全是 M2…你的思路不成立
    再者就算是 sata 之类的 这么整硬盘供电也不稳吧
    Thymolblue
        19
    Thymolblue  
       1 天前
    我目前的方案:
    1. 其中一个系统用 BitLocker 加密,另外一个不能加密,另外最好是两块硬盘对应两个系统
    2. 安装操作系统时先安装需要 BitLocker 加密的系统,让 Windows Boot Manager 解决启动问题,设置的默认启动系统可以随意
    3. 在 Windows System Configuration -> Boot 里面配置下一次启动的操作系统,实测每次启动到不同系统不需要输 BitLocker 密码
    esee
        20
    esee  
       1 天前 via Android
    玩客云有一套改装后做 ipkvm 的东西,用 usb 和视频采集来操作机器,搞下来一百块钱一套
    Thymolblue
        21
    Thymolblue  
       1 天前
    @Thymolblue 另外我一开始的方案是 PiKVM ,失败的原因是 Windows 输入密码之前只有一个显示器能有输入。如果你的机器接了其他的显示器且反应比 PiKVM 快,PiKVM 里面是看不到任何给内容的
    ryd994
        22
    ryd994  
       1 天前 via Android
    @MacsedProtoss #3 可以用 bilikvm 等硬件 kvm 。
    其次可以试试 Intel AMT 之类的企业管理服务,同样可以实现 kvm ,但略微复杂
    人家服务器主板贵不是没道理的,就是多了这些专业管理功能
    xclimbing
        23
    xclimbing  
       1 天前   ❤️ 2
    @MacsedProtoss 我前面都跟你说了,bitlocker 是不可能加密引导分区( UEFI 分区的),也不可能加密引导文件,否则就变成了启动悖论:连启动文件都是加密的,Windows 自己如何加载。你既然在寻求别人的帮助,请遵循别人的指导去实践,遇到问题了再反馈进一步的信息。

    这么说吧,你两个硬盘装了两个系统,那么我估计大概率使用的就是 UEFI+GPT 启动模式,那么,你每块硬盘上都至少有三个分区:ESP 、MSR 、系统分区。而其中的 ESP 分区一般在硬盘的最前面,大小是 200M 左右,是一个 FAT(32)分区,而这个就是 UEFI 的启动分区(这个分区不可能 bitlocker 加密),而 Windows 的启动文件就在这个分区的\EFI\Microsoft\boot\目录下,这个目录下肯定有一个 bootmgfw.efi 文件,这就是 Windows 的加载程序,同目录下还有一个 BCD 文件,这就是启动配置文件。你随便启动到任何一个系统下,用 bootice 、EasyUEFI 这一类的工具都可以看到这个分区,给这个分区分配一个盘符,也可以看到这个分区的文件。用 bootice 就可以编辑当前系统的 BCD ,把另一个系统的引导项添加到当前系统的 BCD 中。

    参考: https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/bitlocker-drive-encryption?view=windows-11

    **BitLocker Drive Encryption Partitioning Requirements**

    BitLocker must use a system partition (注:这里的 system partition 就是指上面说的 ESP 分区) that is separate from the Windows partition. The system partition:

    * Must be configured as the active partition.
    * Must not be encrypted or used to store user files.(必须不能加密)
    * Must have at least 250 MB of space.
    * May be shared with a recovery partition.
    Ipsum
        24
    Ipsum  
       1 天前
    你是在说 ipkvm 吗?有个 pikvm 还有个 sipeed 好像还行。
    MacsedProtoss
        25
    MacsedProtoss  
    OP
       1 天前 via iPhone
    @xclimbing 我说过了,直接这么干是不能成功启动的,需要手动输入密钥…
    kk2syc
        26
    kk2syc  
       1 天前
    @MacsedProtoss #18 一样可以,定制的 pcb 的板子,m2 插 pcb 上,pcb 还是 m2 接口,中间的电路可以做修改
    ghjh
        27
    ghjh  
       1 天前
    或许 op 可以试试在重启时,按住 shift 选择 windows 电源菜单中的重启,然后选择下次要从哪里启动……
    临时方案的话,感觉没什么比这个更方便了……
    nuk
        28
    nuk  
       1 天前
    弄一个模拟键盘芯片就行,bios 这种东西可以盲打的,自动定时输入按键就行。我以前有个 NUC ,当时没有视频线,靠看网上别人改 bios 设置的图片,盲选启动项从 u 盘启动自动安装系统后 ssh 。
    Manyin
        29
    Manyin  
       1 天前 via Android
    向日葵控控?
    Tonni
        30
    Tonni  
       1 天前
    玩客云 + One KVM ,全套一百块钱可以搞定

    https://one-kvm.mofeng.run/
    cheng6563
        31
    cheng6563  
       1 天前
    UEFI 是可以配置“下一次启动的启动项”的,你下个 EasyUEFI 完事。
    另外不需要用 BitLocker 这么重的东西,轻一点用 Sandboxie 完事,不然组策略还可以拉黑另一个盘的 uuid 使其无法安装驱动
    n43635
        32
    n43635  
       1 天前
    最简单的方法就是再加一台电脑,直接物理隔离,再不济一个虚拟机就搞定了,虽然看似简单粗暴,但是容易操纵也比较稳定,学习成本和运维成本也比较低
    OneLiteCore
        33
    OneLiteCore  
       21 小时 12 分钟前
    追加一台电脑 or PVE 。固然通过各种 Tricky 的方式来搞也是能够实现的,但是长期使用保不齐就会出现什么无法恢复的幺蛾子。
    sheldor
        34
    sheldor  
       18 小时 58 分钟前
    31 楼的方案是最简单的,你既然有多块盘那么很显然每块盘上都有个 ESP 分区,每个分区里都有 Windows 的 bootmgfw.efi ,这个 EFI 在计算机启动的时候会显示为 Windows Boot Manager ,由于你有 2 块盘,所以可能显示为两个 Windows Boot Manager ,可以像 31 楼那样,在 EasyUEFI 里面指定下一次启动的 EFI (两块盘对应两个不同的 bootmgfw.efi ),另一个软件叫 xorboot uefi ,也可以设置下一次启动的 EFI ,这个 xorboot 不需要安装
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4449 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:05 · PVG 12:05 · LAX 20:05 · JFK 23:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.