V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
orangutan92
V2EX  ›  Windows

如何优雅的把 Windows 软件从 C 盘搬家到 D 盘?

  •  1
     
  •   orangutan92 · 213 天前 · 3801 次点击
    这是一个创建于 213 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在 Windows 上的软件,老喜欢默认路径在 C 盘,不光是安装目录,数据也喜欢放 C 盘,比方说下载目录、配置文件什么的。

    有的软件更强硬,直接不让你选择路径,默认给你安装在 C 盘。

    目前我想到两个办法,一个是修改注册表,把默认安装路径修改下,以后软件安装默认是 D 盘了。

    另一个是软链接,把 c 盘的软件目录,都移动到 d 盘,然后 c 盘创建同名的软链接。但这个涉及到无法移动正在使用的软件,是不是在安全模式下操作,会比较好呢?

    这两种方式我都没有试过,方法 1 的副作用可能更多一些,方法 2 可能会考虑不全,有些数据目录也要同步建立软链接。

    大家有好的最佳实践嘛?一起来探讨一下。

    33 条回复    2024-04-30 11:31:07 +08:00
    jpyl0423
        2
    jpyl0423  
       213 天前
    换个大点的硬盘,尽量用绿色软件,就算程序迁移了,一部分数据还是会在 C 盘
    cnbatch
        3
    cnbatch  
       213 天前   ❤️ 1
    准确来说,不是它们“喜欢默认路径在 C 盘”,而是微软的环境变量指向了 C 盘,即使仅仅按照微软的要求来做、用 Windows API 获取路径,最终都会写到 C 盘

    常用的%APPDATA%、%LOCALAPPDATA%、%ProgramData%、%ProgramFiles%,本身都在 C 盘,所以使用环境变量获取路径得到的都是 C 盘路径

    方法 2 还有一个实现方式,进入“磁盘管理器”,把个空白分区的删掉分区驱动器号(盘符),挂载到现有目录里面,就像 UNIX 那样
    orangutan92
        4
    orangutan92  
    OP
       213 天前
    @jpyl0423 #2 我之前是分过区,把磁盘解锁,最近装了个开发用的第三方软件,提示我磁盘空间占用超过 85%,一直报警,总是清理 c 盘也挺费劲的。
    iX8NEGGn
        5
    iX8NEGGn  
       213 天前   ❤️ 4
    加钱吧,系统和软件安装在一个盘挺合理的,反倒是个人数据可以考虑分开。
    lltlo
        6
    lltlo  
       213 天前
    之前用 junction.exe 创建个人目录到 d 盘,确实有些目录没有权限,移动不过去。
    winterbells
        7
    winterbells  
       213 天前 via Android
    两种方法都用过

    修改注册表,新软件默认是选择注册表设置的目录

    软链接可能导致 Windows 更新失败,我是带权限复制 C://Program files / (86) 到 D 盘,多数时候没遇到问题,关掉 Windows 更新应该不影响

    我现在是要么下载绿色版的,要么就设置安装到 D 盘,还是不行的强行复制过去。下一次操作系统之后,直接执行不安装就行
    jancing
        8
    jancing  
       213 天前 via Android   ❤️ 3
    我的 Windows PC 永远只有一个 2T 的 C 盘😉
    tangmanger
        9
    tangmanger  
       213 天前
    加大硬盘 比啥都好
    liuzimin
        10
    liuzimin  
       213 天前
    直接进 PE 强行搬,然后用 mklink 命令建一个链接,从 C 盘原目录映射到 D 盘新目录,有没有搞头?(我没试过)
    iorilu
        11
    iorilu  
       213 天前
    不折腾就弄个单独硬盘, 最低 512g, 给 c 盘

    其他法子没有完美的, 基本不值得折腾
    totoro52
        12
    totoro52  
       213 天前
    我也折腾了好久,最后妥协了, 整个硬盘给 C 盘
    xiaoguai945yeah
        13
    xiaoguai945yeah  
       213 天前
    知道为什么 360 吃得开了吧,人家解决的都是切实的需求:360C 盘搬家好像有绿色版,楼主可以查查看
    aikilan
        14
    aikilan  
       213 天前
    前两天用了傲梅,体感还行
    abc8678
        15
    abc8678  
       213 天前 via Android
    正在用 sandboxie 应付一部分软件
    Blankspacee
        16
    Blankspacee  
       213 天前 via iPhone
    重装,以后养成好习惯就行了。
    kawaiidora
        17
    kawaiidora  
       212 天前 via Android
    买一块大硬盘,不进行额外分区
    hukei
        18
    hukei  
       212 天前
    C:\D
    knightgao2
        19
    knightgao2  
       212 天前
    有限考虑加钱,不行就链接过去,参考下我的这篇文章: https://blog.devgaoy.cn/2023/07/11/rescue-c-drive/
    lcy630409
        20
    lcy630409  
       212 天前


    这种才是最终归宿
    crystone
        21
    crystone  
       212 天前
    正解是 C 盘大一点,程序和数据分开。程序放 C ,个人数据放 D
    TomCN
        22
    TomCN  
       212 天前   ❤️ 2
    其实个人数据大都在文档里面,我一般重装系统之后就会把那几个库(桌面、下载、文档、图片、音乐、视频)通过右键修改属性里面的位置,设置为其他盘。至于软件安装位置,我觉得没必要改,重装系统之后,大部分软件还是要重装。
    fkdog
        23
    fkdog  
       212 天前
    不太理解 2024 年了还要做磁盘分区这种老掉牙的操作。
    以前磁盘分区是因为以前重装系统后会格式化系统盘丢文件。
    现代 windows 重装可以保留个人目录和程序,即使你全部不保留,windows 也会把旧系统的文件放入 windows.old 备用。
    而且现在 ssd 也不推荐分区。

    担心丢数据应该定期备份。
    openbsd
        24
    openbsd  
       212 天前
    软件装在系统盘可以避免大部分奇奇怪怪的问题发生
    一般装完系统我会 右键 “文档” 属性 然后 “位置” 选择一个非系统分区的文件夹,能避免 90%系统盘发红问题
    abnerZhou
        25
    abnerZhou  
       212 天前
    最麻烦的就是 appdata 里面的数据,又大,又不好搬
    cczyx
        26
    cczyx  
       212 天前
    FreeMove 我用这个软件。

    工作原理
    文件移动后将从旧位置重定向到新位置创建一个符号链接。任何试图访问旧位置中的文件的程序都将自动重定向到新位置。
    Baymaxbowen
        27
    Baymaxbowen  
       212 天前
    懒得分区,直接 C 盘梭哈了
    forty
        28
    forty  
       212 天前
    1. 软链接/目录链接,用 wiztree 找到几个大目录,针对性的设置软链接即可
    2. 强装 C 盘的软件,有是有,但占比不多。

    你要是乐意,可以把 "C:\Program Files", "C:\Program Files (x86)", "C:\ProgramData", "C:\Users" 都移到 D 盘去。
    thevita
        29
    thevita  
       212 天前
    我也是 一块 2T SSD 直接给 C 盘,不过 ntfs 也可以挂载到 目录上吧,直接分个区 挂到 "C:\Program Files" 可不可以.
    jinsongzhao
        30
    jinsongzhao  
       212 天前
    为避免折腾软件,也是永远一个 C 盘
    424778940
        31
    424778940  
       211 天前
    你做这个操作毫无意义 就算直接安装其他盘 c 盘一些目录下还是会产生相关文件 比如配置之类的
    不如 c 盘大一些 软件直装 但把个人数据甚至 home 放其他盘去 这样系统有问题直接格掉重装 软件配置说不定还能继续用
    orangutan92
        32
    orangutan92  
    OP
       208 天前
    @fkdog #23 这个分区是笔记本出厂分好了的,我分了 D 盘的 20G 给 C 盘,还是感觉剩余空间不太够,最近把休眠关了就好一些了,但隔段时间都会有空间焦虑。win11 虽说现在比以前稳定多了,但万一出问题了,我还是习惯用 u 盘 pe 装 msdn 原版系统。我用 mac 就没有这个顾虑,1tb 硬盘不用管分区。主要是最近对接三方开发装了个软件很恶心,每次给我弹窗,说我 c 盘占用超过 85%,而且这个阈值最大值不能调。
    orangutan92
        33
    orangutan92  
    OP
       208 天前
    @424778940 #31 确实,配置文件和下载目录,还是很多软件会默认 c 盘,除非我一个个手动改,而且还需要把原来的目录删掉。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   868 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:53 · PVG 05:53 · LAX 13:53 · JFK 16:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.