无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1301|回复: 134
打印 上一主题 下一主题

[分享] 64GB内存电脑的一些使用心得,延长了SSD寿命(图文)

    [复制链接]
跳转到指定楼层
1#
发表于 昨天 09:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 D_M_GuYing 于 2025-12-8 10:49 编辑

授之以鱼,不如授之以渔。我只是说一些我的心得和思路,使大内存在日常能利用起来,我现在的电脑如此设置后,N天不关机,C盘和D盘的空间基本就没有涨,也是保护SSD,基本上写的东西都让内存盘给承担了,欢迎讨论进步,不喜勿喷!!一次复杂,终身受用,利用了内存,保护延长了SSD寿命,值得!!


我的电脑是m15r6外星人笔记本,硬件如上图,系统是VHD系统,23H2企版本(因为我是11代U,25H2的新功能对我用处不大,还是23H2适合我,但我的使用方法在25H2一样适用),一个500G的SSD用于系统相关,另一个一T的SSD做存储用。直接说正题。

一,虚拟内存,设置为0,如果有些软件一定要开虚拟内存才可以,那就设置200MB

二,安装Primo Ramdisk,创建一个虚拟内存盘,我设置的是R盘,40G,用Primo Ramdisk的实用工具,将TEMP的环境变量R:\temp下


三,创建一个setup.cmd,添加到任务计划,这样做对VHD系统好处多多,我是做的每次启动还原系统到23H2.vhdx状态,有个这个setup.cmd,可以对23H2.vhdx进行小修补,不用整个重备份23H2.vhdx




四,软件安装
      尤其是VHD系统,开机自建了C盘,实际文件在"D:\SYS\23H2.vhdx",尽可能的把桌面,文档等文件夹移到D盘,程序也安装到"D:\Program Files"。Office安装,请看下面实例

五,最核心的部分就是setup.cmd,最核心的应用就是建立MKLINK链接,如果你跟我一样总是要下载电影电视剧,就把下载文件夹MKLINK到R盘,可以把一些软件的缓存链接到内存盘R盘下,有些自定义的预设放到D盘下,这样即不影响每次启动还原系统,也不影响你上次使用时自定义的设置,比如,安装Office,可先MKLINK链接到D盘再安装,写在SETUP.CMD下就可以

::ANSI中文
@echo off
pushd %~dp0 & cd /d "%~dp0"

:open
echo aa>r:\a.txt
if not exist "r:\a.txt" TIMEOUT /T 2 >nul&&goto :open
del /f /q "r:\a.txt" 2>nul


:Office
SET lnkone=C:\Program Files\Microsoft Office
set lnktwo=D:\Program Files\Microsoft Office & call :golink
SET lnkone=C:\Program Files\Microsoft Office 15
set lnktwo=D:\Program Files\Microsoft Office 15 & call :golink

exit

:golink
if not exist "%lnkone%" md "%lnkone%"
rmdir "%lnkone%" /s /q
if not exist "%lnktwo%" md "%lnktwo%"
MKLINK "%lnkone%" "%lnktwo%" /J
goto :eof


比如向日葵远程控制的自定义设置可以在open子脚本的下面加上
SET lnkone=C:\Users\Administrator\AppData\Roaming\Oray
set lnktwo=D:\Program Files\Roaming\Oray & call :golink


比如浏览器相关,选复制C:\Program Files (x86)\Microsoft到D:\Program Files\Microsoft
:Edge
set edgef=User Data
SET lnkone=C:\Program Files (x86)\Microsoft
set lnktwo=D:\Program Files\Microsoft & call :golink
SET lnkone=D:\Program Files\Microsoft\EdgeUpdate\Download
set lnktwo=R:\TEMP\EdgeTemp\Download & call :golink
SET lnkone=D:\Program Files\Microsoft\Edge\Temp
set lnktwo=R:\TEMP\EdgeTemp\Temp & call :golink
SET lnkone=C:\Users\Administrator\AppData\Local\Microsoft\Edge\User Data
set lnktwo=R:\TEMP\EdgeTemp\%edgef% & call :golink
if not exist "R:\TEMP\EdgeTemp\%edgef%\a.txt" xcopy "D:\Program Files\Microsoft\User Data\*.*" "R:\TEMP\EdgeTemp\%edgef%\" /s /e /y



说明:set edgef=User Data是用来调试的,比如先set edgef=U,Edge启动后,把你常去的网站去登录一次,比如你的微软账号,139信箱.....,
设置浏览器关闭时清除


退出浏览器,复制"R:\TEMP\EdgeTemp\U"到 "D:\Program Files\Microsoft\User Data",再把set edgef=U改回set edgef=User Data,这个文件夹不到100M,每次启动,SETUP.CMD会复制回R盘,这样弄完了,就不会日子久了C盘下的User Data动不动就几个G,缓存在内存盘下运行也快一些

六,关于VHD系统的安装与设置,例:
1,进入PE或在当前系统下,右键我的电脑--管理--创建23H2,初始化,格式化后,用你自己熟悉的方式安装到这个盘里就可以了,
2,安装,启动,调整到最佳状态,进入PE,创建23H2.vhdx的差分A.vhdx,修改BCD指向A.vhdx
3,如果小修补,可在SETUP.CMD加代码,比如我的之前没设置,现在就加上了

:移除主文件夹图标
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}" /f
:移除图库图标
reg add "HKCU\Software\Classes\CLSID\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}" /f /v "System.IsPinnedToNameSpaceTree" /t REG_DWORD /d 0

echo 正在停止并禁用服务...
sc stop NVDisplay.ContainerLocalSystem >nul 2>&1
sc config NVDisplay.ContainerLocalSystem start= disabled >nul 2>&1
sc stop "igfxCUIService2.0.0.0" >nul 2>&1
sc config "igfxCUIService2.0.0.0" start= disabled >nul 2>&1


七,VHD的更新,比如在A.vhdx下,更新了系统版本
1,进入PE,在磁盘管理下创建一个新的XXX.vhdx,创建后就退出窗口,不要继续操作
2,双击A.vhdx挂载磁盘,在DismGui程序下,磁盘对考,XXX.vhdx会在你选择列表中。
3,对考完成,删除23H2.vhdx和A.vhdx,将XXX.vhdx改成23H2.vhdx重建差分A.vhdx,这样你就得到了一个新的最小体积的原始镜像

八,Hyper-V相关
1,在setup.cmd下添加
:Hyper-V
SET lnkone=C:\ProgramData\Microsoft\Windows\Hyper-V
set lnktwo=D:\Program Files\Hyper-V & call :golink

可保证第次还原重启里,你新增加的虚机机列表还在
2,给虚拟机硬盘文件加个子差分,SETUP.CMD中,每次启动复制这个子差分,虚拟机磁盘文件指向R盘的子差分,我游戏挂机,测试软件都这么做
3,同样的道理,把游戏做成VHDX,读取母VHDX,写和缓存都在R盘

九,每次启动后自动还原,将CMD放在23H2.vhdx同级文件夹下,比如"D:\SYS\更新启动项.cmd",在SETUP中增加一行

start "" "D:\SYS\更新启动项.cmd"

更新启动项.cmd
--------------------------------------
@echo off
chcp 65001 >nul 2>&1
setlocal enabledelayedexpansion
cls

:: 差分子文件变量
set "VHD1=A.vhdx"
set "VHD2=B.vhdx"
:: 父文件变量
set "BASE_VHD=23h2.vhdx"  

:: 强制删除A.vhdx和B.vhdx(无论是否存在)
echo 正在清理旧文件...
if exist "!VHD1!" (
    del /f /q "!VHD1!" >nul 2>&1
    if not exist "!VHD1!" (echo ✅ 已删除 !VHD1!) else (echo ⚠️ 无法删除 !VHD1!,可能被占用)
)
if exist "!VHD2!" (
    del /f /q "!VHD2!" >nul 2>&1
    if not exist "!VHD2!" (echo ✅ 已删除 !VHD2!) else (echo ⚠️ 无法删除 !VHD2!,可能被占用)
)
echo.

:: 1. 获取当前目录
pushd %~dp0 & cd /d "%~dp0"
set "CUR_DIR=%cd%"
echo Current folder: %CUR_DIR%
echo VHD files to switch: %VHD1% ↔ %VHD2%

:: 2. 提取盘符和路径
set "DRIVE=%CUR_DIR:~0,2%"
set "REL_PATH=%CUR_DIR:~2%"

:: 3. 自动搜索VHD启动项ID
echo.
echo 正在自动搜索VHD启动项ID...
set "VHDX_ID="
set "in_vhd_entry=0"

:: 遍历bcdedit输出,提取包含"vhd"的启动项ID
for /f "tokens=1,* delims=:" %%a in ('bcdedit /enum /v 2^>nul') do (
    :: 清理行首空格和特殊字符
    set "line=%%a%%b"
    set "line=!line: =!"

    :: 检测到标识符行,提取ID
    if "!line:~0,10!"=="identifier" (
        set "current_id=!line:identifier=!"
        set "current_id=!current_id:{=!"  :: 移除左大括号
        set "current_id=!current_id:}=!"  :: 移除右大括号
        set "current_id=!current_id:"=!"  :: 移除引号
        set "in_vhd_entry=0"  :: 重置标记
    )

    :: 检测到包含"vhd"的行,标记为VHD启动项
    echo "!line!" | findstr /i "vhd" >nul 2>&1
    if !errorlevel! equ 0 (
        set "in_vhd_entry=1"
    )

    :: 若在VHD启动项中且已获取ID,则确定为目标ID
    if !in_vhd_entry! equ 1 if defined current_id (
        set "VHDX_ID={!current_id!}"
        goto :found_vhd_id  :: 找到后退出循环
    )
)
:found_vhd_id

:: 验证ID是否存在
if "!VHDX_ID!"=="" (
    echo ❌ 错误:未找到VHD类型的启动项,请检查系统配置
    pause
    exit /b 1
)
echo ✅ 找到VHD启动项ID:!VHDX_ID!

:: 4. 构建路径
set "SUFFIX_DEVICE=,locate=custom:12000002"
set "SUFFIX_OSDEVICE=,locate=custom:22000002"
set "VHD1_DEV=vhd=[%DRIVE%]%REL_PATH%\%VHD1%%SUFFIX_DEVICE%"
set "VHD1_OS=vhd=[%DRIVE%]%REL_PATH%\%VHD1%%SUFFIX_OSDEVICE%"
set "VHD2_DEV=vhd=[%DRIVE%]%REL_PATH%\%VHD2%%SUFFIX_DEVICE%"
set "VHD2_OS=vhd=[%DRIVE%]%REL_PATH%\%VHD2%%SUFFIX_OSDEVICE%"

:: 5. 检测文件存在性(清理后应该都不存在)
set "VHD1_EXIST=0"
set "VHD2_EXIST=0"
if exist "%CUR_DIR%\%VHD1%" set "VHD1_EXIST=1"
if exist "%CUR_DIR%\%VHD2%" set "VHD2_EXIST=1"

:: 6. 显示检测结果
echo.
echo ==============================================
echo  File Detection:
if %VHD1_EXIST% equ 1 (echo ✅ %VHD1% exists) else (echo ❌ %VHD1% not found)
if %VHD2_EXIST% equ 1 (echo ✅ %VHD2% exists) else (echo ❌ %VHD2% not found)
echo ==============================================

:: 7. 确定目标差分文件
set "TARGET="
set "NEW_DEV="
set "NEW_OS="

if %VHD1_EXIST% equ 1 (
    set "TARGET=%VHD2%"
    set "NEW_DEV=%VHD2_DEV%"
    set "NEW_OS=%VHD2_OS%"
) else if %VHD2_EXIST% equ 1 (
    set "TARGET=%VHD1%"
    set "NEW_DEV=%VHD1_DEV%"
    set "NEW_OS=%VHD1_OS%"
) else (
    :: 当A和B都不存在时,默认使用A.vhdx
    set "TARGET=%VHD1%"
    set "NEW_DEV=%VHD1_DEV%"
    set "NEW_OS=%VHD1_OS%"
    echo 提示:所有文件均不存在,默认切换目标为 %TARGET%
)

:: 8. 先执行差分文件创建任务
echo.
echo ==============================================
echo 子文件创建任务:
echo  母文件:%BASE_VHD%
echo  子文件:%TARGET%(与启动目标一致)
echo  目标路径:%CUR_DIR%
echo ==============================================

set "CREATE_SUCCESS=0"
:: 检查母文件是否存在
if not exist "%CUR_DIR%\%BASE_VHD%" (
    echo ❌ 错误:母文件 %BASE_VHD% 未在 %CUR_DIR% 找到,无法创建子文件
) else (
    echo ⚠️  正在创建差分文件(需管理员权限)...
    (
        echo create vdisk file="%CUR_DIR%\%TARGET%" parent="%CUR_DIR%\%BASE_VHD%"
        echo exit
    ) | diskpart

    :: 验证差分文件创建结果
    if exist "%CUR_DIR%\%TARGET%" (
        echo ✅ 成功:差分文件 %TARGET% 已创建 → %CUR_DIR%\%TARGET%
        set "CREATE_SUCCESS=1"
    ) else (
        echo ❌ 失败:差分文件未创建,请检查权限和母文件完整性
    )
)
echo ==============================================

:: 9. 只有差分文件创建成功后,才执行引导切换
if %CREATE_SUCCESS% equ 1 (
    echo.
    echo Auto-switching to %TARGET%...
    bcdedit /enum %VHDX_ID% >nul 2>&1
    timeout /t 1 /nobreak >nul

    bcdedit /set %VHDX_ID% device "%NEW_DEV%" >nul
    bcdedit /set %VHDX_ID% osdevice "%NEW_OS%" >nul
    bcdedit /enum %VHDX_ID% >nul 2>&1
    timeout /t 1 /nobreak >nul

    :: 验证引导切换结果
    set "FINAL_DEV="
    for /f "tokens=2,*" %%a in ('bcdedit /enum %VHDX_ID% /v ^| findstr /i "device "') do set "FINAL_DEV=%%b"

    echo.
    echo ==============================================
    echo Switch Completed! Target: %CUR_DIR%\%TARGET%
    echo Final Path: %FINAL_DEV%
    echo ==============================================
    if "%FINAL_DEV%"=="%NEW_DEV%" (
        echo ✅ Success: Path is correct
    ) else (
        echo ⚠️  Success: Actual path set to %NEW_DEV%
    )
) else (
    echo.
    echo ⚠️  差分文件创建失败,未修改启动引导配置
    echo.
    echo 按任意键退出...
    set /p=
)

endlocal
exit









点评

谢谢分享  发表于 昨天 14:47

评分

参与人数 3无忧币 +8 收起 理由
易广白 + 2 很给力!
waltz1 + 1 赞一个!
d9o + 5 赞一个!

查看全部评分

2#
发表于 昨天 09:50 | 只看该作者
感谢分享
回复

使用道具 举报

3#
发表于 昨天 09:50 来自手机 | 只看该作者
是ramos吗?我一般用冰点还原。不过可能会损失一点性能

点评

是Primo Ramdisk,在咱们坛里有PJ的,用服务器版最好,  详情 回复 发表于 昨天 09:57
回复

使用道具 举报

4#
发表于 昨天 09:56 | 只看该作者
学习一下
回复

使用道具 举报

5#
 楼主| 发表于 昨天 09:57 | 只看该作者
wsdyleon 发表于 2025-12-8 09:50
是ramos吗?我一般用冰点还原。不过可能会损失一点性能

是Primo Ramdisk,在咱们坛里有PJ的,用服务器版最好,
回复

使用道具 举报

6#
发表于 昨天 10:02 | 只看该作者
不更新系统,微信聊天记录不存在C盘,没啥乱七八糟的后台流氓软件,c盘基本不会涨。

很多人C盘满了,基本就是微信聊天记录塞满了。你还不能说,
你说了。张小龙就会皮笑肉不笑的回一句:每天都有几亿人在教我如何做产品

点评

那你看下,你现在"C:%users\Administrator\AppData\Local\Microsoft\Edge"文件夹有多大了? 我这样设置,也是保护SSD,基本上写的东西都让内存盘给承担了 我的微信基本不用留聊天记录之类的,因为手机里有,  详情 回复 发表于 昨天 10:10
回复

使用道具 举报

7#
发表于 昨天 10:04 | 只看该作者
感谢您的分享!
回复

使用道具 举报

8#
发表于 昨天 10:05 | 只看该作者
奢侈啊,64G
回复

使用道具 举报

9#
发表于 昨天 10:09 | 只看该作者
越折腾越快乐
回复

使用道具 举报

10#
发表于 昨天 10:10 | 只看该作者
现在内存贵了,玩不起。
回复

使用道具 举报

11#
 楼主| 发表于 昨天 10:10 | 只看该作者
lixiangliuyi 发表于 2025-12-8 10:02
不更新系统,微信聊天记录不存在C盘,没啥乱七八糟的后台流氓软件,c盘基本不会涨。

很多人C盘满了,基 ...

那你看下,你现在"C:\Users\Administrator\AppData\Local\Microsoft\Edge"文件夹有多大了?
我这样设置,也是保护SSD,基本上写的东西都让内存盘给承担了



我的微信基本不用留聊天记录之类的,因为手机里有,所以我下SETUP.CMD下加了
:WeChat
SET lnkone=E:\文档\xwechat_files
set lnktwo=D:\Program Files\Tencent\xwechat_files & call :golink
SET lnkone=D:\Program Files\Roaming\Tencent\xwechat\xplugin
set lnktwo=R:\TEMP\WeChat Files\xwechat\xplugin & call :golink
SET lnkone=D:\Program Files\Roaming\Tencent\xwechat\update
set lnktwo=R:\TEMP\WeChat Files\xwechat\update & call :golink
SET lnkone=D:\Program Files\Roaming\Tencent\xwechat\radium\cache
set lnktwo=R:\TEMP\WeChat Files\xwechat\radium\cache & call :golink
SET lnkone=D:\Program Files\Roaming\Tencent\xwechat\radium\WmpfCache
set lnktwo=R:\TEMP\WeChat Files\xwechat\radium\WmpfCache & call :golink
SET lnkone=D:\Program Files\Roaming\Tencent\xwechat\radium\xworker
set lnktwo=R:\TEMP\WeChat Files\xwechat\radium\xworker & call :golink

SET lnkone=D:\Program Files\Tencent\xwechat_files\wxid_a8q9ggqek08521_76fc\cache
set lnktwo=R:\TEMP\WeChat Files\\xwechat_files\wxid_a8q9ggqek08521_76fc\cache & call :golink
SET lnkone=D:\Program Files\Tencent\xwechat_files\wxid_a8q9ggqek08521_76fc\temp
set lnktwo=R:\TEMP\WeChat Files\\xwechat_files\wxid_a8q9ggqek08521_76fc\temp & call :golink
SET lnkone=D:\Program Files\Tencent\xwechat_files\wxid_a8q9ggqek08521_76fc\db_storage
set lnktwo=R:\TEMP\WeChat Files\\xwechat_files\wxid_a8q9ggqek08521_76fc\db_storage & call :golink
SET lnkone=D:\Program Files\Tencent\xwechat_files\wxid_a8q9ggqek08521_76fc\msg
set lnktwo=R:\TEMP\WeChat Files\xwechat_files\wxid_a8q9ggqek08521_76fc\msg & call :golink
SET lnkone=D:\Program Files\Tencent\xwechat_files\WMPF
set lnktwo=R:\TEMP\WeChat Files\\xwechat_files\WMPF & call :golink
SET lnkone=D:\Program Files\Tencent\xwechat_files\Backup
set lnktwo=R:\TEMP\WeChat Files\xwechat_files\Backup & call :golink

回复

使用道具 举报

12#
发表于 昨天 10:11 | 只看该作者
看打了这么多字,怪不容易的,有必要搞得这么复杂吗?

点评

有必要,一次复杂,终身受用,利用了内存,保护延长了SSD寿命,值得!!  详情 回复 发表于 昨天 10:25
回复

使用道具 举报

13#
发表于 昨天 10:14 | 只看该作者
64G不是随便造吗
回复

使用道具 举报

14#
发表于 昨天 10:16 | 只看该作者
技术贴 谢谢
回复

使用道具 举报

15#
发表于 昨天 10:18 | 只看该作者
感谢分享,学习了
回复

使用道具 举报

16#
发表于 昨天 10:24 | 只看该作者
感谢分享,很实用,楼主辛苦了
回复

使用道具 举报

17#
 楼主| 发表于 昨天 10:25 | 只看该作者
Climbing 发表于 2025-12-8 10:11
看打了这么多字,怪不容易的,有必要搞得这么复杂吗?

有必要,一次复杂,终身受用,利用了内存,保护延长了SSD寿命,值得!!
回复

使用道具 举报

18#
发表于 昨天 10:26 | 只看该作者
需要有这样配置的电脑才能用?
回复

使用道具 举报

19#
发表于 昨天 10:33 | 只看该作者
16G内存,虚拟4G,常用绿软及windows写操作都通过powershell同步到R:,关机回写,ps1放入startup快捷方式,日常刷视频小游戏延迟无感,固态写入减少20-50%

点评

这个具体怎么搞?分享下,谢谢  详情 回复 发表于 昨天 12:51
powershell同步到R:??这一步怎么做到哇  详情 回复 发表于 昨天 10:37
回复

使用道具 举报

20#
发表于 昨天 10:36 | 只看该作者
学习,谢谢分享。
回复

使用道具 举报

21#
 楼主| 发表于 昨天 10:37 | 只看该作者
mwolf 发表于 2025-12-8 10:33
16G内存,虚拟4G,常用绿软及windows写操作都通过powershell同步到R:,关机回写,ps1放入startup快捷方式, ...

powershell同步到R:??这一步怎么做到哇

点评

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=448845&extra=  详情 回复 发表于 昨天 15:27
回复

使用道具 举报

22#
发表于 昨天 10:38 | 只看该作者
不错哦!我的浏览器需要这种设置
回复

使用道具 举报

23#
发表于 昨天 10:40 | 只看该作者
感谢分享
回复

使用道具 举报

24#
发表于 昨天 10:43 | 只看该作者
本帖最后由 ge 于 2025-12-8 17:56 编辑

有道理!但是我選擇了linux,也沒有分配swap
回复

使用道具 举报

25#
发表于 昨天 10:55 | 只看该作者
64G内存,够大
回复

使用道具 举报

26#
发表于 昨天 10:55 | 只看该作者
ge 发表于 2025-12-8 10:43
有道理!但是我選擇了linux,也沒有分配swap。還有64太小了

NB

点评

ge
沒有什麼吧?我也是剛開始學,像剛開始用Windows一樣,關鍵是走出第一步  详情 回复 发表于 昨天 12:21
回复

使用道具 举报

27#
发表于 昨天 11:03 | 只看该作者
支持楼主
回复

使用道具 举报

28#
发表于 昨天 11:07 | 只看该作者
謝謝您的分享 ^^ 有您真好。辛苦了!^^
回复

使用道具 举报

29#
发表于 昨天 11:10 | 只看该作者
感谢您的分享!
回复

使用道具 举报

30#
发表于 昨天 11:14 | 只看该作者
太好了,谢谢楼主的建议。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-9 03:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表