V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
damienming
V2EX  ›  问与答

PC 平台如何优雅的启动外接硬盘

  •  
  •   damienming · 227 天前 via Android · 1114 次点击
    这是一个创建于 227 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有时候因为工作需要会两地跑,想带一块 ssd 在家里和工作地点的电脑直接启动 ssd 上装的 Linux 系统,电脑原先都安装了带有 TPM BitLocker 加密过的 Windows 系统并且有使用需求

    遇到的问题是新一些的电脑都启用了 Device Guard 这类 BIOS 设置来禁用外部启动,需要在 BIOS 关闭,以及使用的 Linux 发行版没有 secure boot 支持,需要手动关闭;其次是启动外置硬盘后 TPM 好像无法给 Windows 生成密钥,需要手动输入 Recovery Key 。

    前一个操作或许可以接受,后一个就太复杂了。想请问一下大家 PC 平台下有什么办法像 Mac 那样直接 Option 键临时启动一个外置系统,不影响主系统的使用吗?(或许 Mac 平台现在也会有这样的问题,我已经很久没用过 mac 平台了)

    Edit:在主硬盘 Bitlocker 仍然启用的情况下

    21 条回复    2024-04-08 13:39:19 +08:00
    serafin
        1
    serafin  
       227 天前
    工作的 Linux 当然是跑在虚拟机上啦
    cpstar
        2
    cpstar  
       227 天前
    买一块那种可以插拔的 5.25 或者 PCIE 插槽就行了。
    我 2007 年就买过一个移动硬盘,USB 和 SATA 双接口的,回家插到附带的 5.25 插槽上走 SATA ,去办公室了用 USB 。现在也有 NVME 的扩展插拔卡。
    这样就是一个本地设备而不是 USB 了。
    processzzp
        3
    processzzp  
       227 天前
    “其次是启动外置硬盘后 TPM 好像无法给 Windows 生成密钥”
    我记得 TPM 2.0 更改启动顺序,运行其它硬盘上的操作系统,并不会重置 TPM 密钥;但是 TPM 1.2 更改启动顺序就会导致 TPM 重置,需要输入 BitLocker 恢复密钥。你可以确认一下电脑上的 TPM 版本。
    YGHMXFAL
        4
    YGHMXFAL  
       227 天前
    和楼主一样地情景,但是我是使用 VeraCrypt,拿 GRUB2 来引导

    不清楚 BitLocker 能否被 GRUB2 链式加载
    damienming
        5
    damienming  
    OP
       227 天前 via Android
    @serafin 也不完全是工作 Linux 哈哈哈哈相当于是只把自己电脑的硬盘部分带回来了吧 用它当了一个个人电脑用
    damienming
        6
    damienming  
    OP
       227 天前 via Android
    @cpstar 诶 这个是指插到主板上的那种吗 我在淘宝上没有搜到
    不过两个设备都是笔记本🥲 我查了下仿佛用雷电启动也有同样问题 我打算先调试一下看看是哪个 bios 选项导致的需要输入 TPM 密钥
    damienming
        7
    damienming  
    OP
       227 天前 via Android
    刚刚确认了一下 是 TPM2.0 这两个设备都比较新🥲
    damienming
        8
    damienming  
    OP
       227 天前 via Android
    @YGHMXFAL 相当于更改主硬盘上的引导软件吗 我去尝试一下 之前也想到过 不过要怎样才能固定引导一个外置设备上的文件系统🤔 类似 uuid 那样吗
    cpstar
        9
    cpstar  
       227 天前
    哦,双笔记本啊,打扰,我以为办公室笔记本,家里台式机。
    cpstar
        10
    cpstar  
       227 天前
    OP 8# 可以试试编辑 BCD ,用 BCD 引导外部设备,然后通过 GPT 的 UUID 关联。
    YGHMXFAL
        11
    YGHMXFAL  
       227 天前
    @damienming #8 可以使用 filesystem UUID 来定位外置硬盘上的分区

    但是 filesystem UUID 这玩意儿不绿色,我之前搞“解压即用 LINUX”的时候,使用 GRUB2 的 search 命令来定位 U 盘上一个独一无二地文件,再拿 probe 来探测其 filesystem UUID

    你先确定 BitLocker 能不能被其它 bootloader 链式加载再说
    YGHMXFAL
        12
    YGHMXFAL  
       227 天前
    @cpstar #10 楼主外置硬盘里是 LINUX,不能被 BCD 引导,哪怕关了安全启动
    damienming
        13
    damienming  
    OP
       227 天前 via Android
    @cpstar
    @YGHMXFAL

    在单位的电脑上试了一下 应该只有更改启动顺序会导致需要 bitlocker 密钥

    现在锁定为了第一启动 USB-HDD 然后是内置的 nvme 硬盘,然后通过插拔 USB 启动外置硬盘,这样不会导致 bitlocker 需要恢复密钥,也测试了在这之后开启/关闭 secure boot ,同样不会影响,只有在更改启动顺序那一次需要

    回家试试比较新的笔记本会不会有更多的安全措施导致只要启动外部硬盘就需要密钥🥲

    @YGHMXFAL Windows 更新我记得是不是会乱搞 grub 只要更新就把 grub 弄没了
    whathappen
        14
    whathappen  
       227 天前
    Linux 不会搞,但我用 RuFus, 可以装 WindowsISO 直接写入移动硬盘开机使用( Windows to go).

    最坏的情况下可以先装 Windows ,再跑 Linux VM 。 而且我的环境下修改开机顺序不需要 Bitlocker 密码(内置硬盘有做 BL )。
    YGHMXFAL
        15
    YGHMXFAL  
       227 天前
    @damienming #13 以前是有这种情况,但是我已经很久没有遇到过了

    我是构建了无依赖地 GRUB2 EFI,打包放在桌面,手动更新系统(注册表关闭系统更新了)之后,再无脑解压覆盖掉 ESP,我才不管你 WIN 是否破坏 GRUB2,我直接重生🤪🤪🤪
    cpstar
        16
    cpstar  
       227 天前
    @YGHMXFAL 12# 我弄出来过 bcd 引导 linux 啊,bcdedit 不行,可能需要 bootice 解决
    YGHMXFAL
        17
    YGHMXFAL  
       227 天前
    @cpstar #16 震惊(盲猜是 bootice 往 MBR 里写了一个 GRUB4DOS)
    damienming
        18
    damienming  
    OP
       227 天前 via Android
    @whathappen 主要就是 bitlocker 加密这里会有一点小问题 发现是和设备相关的
    damienming
        19
    damienming  
    OP
       227 天前 via Android
    @cpstar
    @YGHMXFAL

    应该引导是都可以引导的,我记得很久之前 bcd 和 grub 都可以互相引导了
    damienming
        20
    damienming  
    OP
       227 天前 via Android
    在一个比较新的设备( Windows 11/ThinkBook 14 2023 )上,recovery key 是和 secure boot 相关的 关闭 secure boot 就需要输入 key ,启用 secure boot 就不用了 和另一台设备测试的是完全不同的

    不过安全和便携性也确实不可兼得,如果随便什么存储设备都能被启动确实不太安全
    damienming
        21
    damienming  
    OP
       227 天前 via Android
    #13 楼设备是 ThinkPad Carbon X 5th gen
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1186 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:24 · PVG 02:24 · LAX 10:24 · JFK 13:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.