admin 管理员组

文章数量: 1087649

凌晨三点的运维独白

前天深夜收到磁盘报警,某台生产环境跳板机的C盘红了。当我ssh连上去时,发现System Volume Information目录藏着37个还原点——那画面像极了当年被我删了毕设代码的师弟的U盘。今天我要把这些年积攒的"救命手艺"全倒出来,保证比Windows自带的磁盘清理工具多榨出至少20GB空间。


第一章 带血的手指摸过的坑

1.1 空间刺客现形记(普通人VS工程视角)

菜鸟第一反应是右键C盘→属性→磁盘清理,而老司机会直接打开PowerShell祭出:

# 以管理员权限启动(注意这个坑!)
Get-ChildItem -Path C:\ -Recurse -ErrorAction SilentlyContinue | 
Where-Object { $_.PSIsContainer } | 
Sort-Object { (Get-ChildItem $_.FullName -Recurse | Measure-Object Length -Sum).Sum } -Descending | 
Select-Object -First 20 FullName, @{Name="SizeGB";Expression={"{0:N2}" -f ((Get-ChildItem $_.FullName -Recurse | Measure-Object Length -Sum).Sum /1GB)}}

三年前我在某客户服务器跑这个脚本时,发现C:\Windows\servicing\LCU里堆着17个累积更新包,每个2-3GB,直接干掉40多G。

1.2 止血钳操作指南

  • 注册表快照:不是用regedit导出那种花架子,直接在CMD敲:
reg export HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall C:\regbackup.reg /y
  • 系统还原点:创建时勾选"包含驱动程序",别问我怎么知道的——上个月刚因为显卡驱动回滚失败被甲方指着鼻子骂。

第二章 见不得光的黑魔法

2.1 Windows组件暗舱(这个微软不想让你碰)

按住Shift重启进WinRE,打开命令行:

# 挂载系统镜像(需要ISO路径)
dism /Mount-Image /ImageFile:D:\sources\install.wim /index:1 /MountDir:C:\mount
# 强行移除小娜组件
dism /Image:C:\mount /Remove-Package /PackageName:Microsoft-Windows-Client-LanguagePack-Package~zh-cn~CortanaUI~~~

2.2 休眠文件缩骨术

# 把32GB内存的休眠文件压到6GB(物理内存的20%)
powercfg /h /size 20

搭配内存压缩神器PrimoCache,直接把hiberfil.sys按在地上摩擦。


第三章 磁盘外科手术实录

3.1 符号链接乾坤大挪移(以微信为例)

# 转移微信文件到D盘(注意先退出微信)
robocopy "C:\Users\%username%\Documents\WeChat Files" "D:\WeChatData" /mir /xj
rmdir "C:\Users\%username%\Documents\WeChat Files" /s /q
New-Item -ItemType Junction -Path "C:\Users\%username%\Documents\WeChat Files" -Target "D:\WeChatData"

去年用这招帮财务部小姐姐救回被微信占满的C盘,从此我在茶水间有了专属咖啡杯。

3.2 系统日志截肢术

# 保留最近7天的系统日志 
wevtutil set-log Application /retention:true /maxsize:10485760 
wevtutil set-log System /retention:true /maxsize:20971520

配合任务计划每周清理,比某数字卫士的"一键清理"干净十倍。


第四章 自动化防御工事

4.1 空间哨兵v2.0(带钉钉警报版)

$webhookUrl = "https://oapi.dingtalk/robot/send?access_token=xxxx"
$freeSpace = (Get-PSDrive C).Free /1GB

if ($freeSpace -lt 20) {
    Start-Process cleanmgr -ArgumentList "/sagerun:1" -Wait
    Invoke-RestMethod $webhookUrl -Method Post -Body @{
        msgtype = "text"
        text = @{
            content = "⚠️【服务器C盘告警】已触发自动清理,当前剩余${freeSpace}GB"
        }
    } -ContentType "application/json"
}

4.2 容器迁移邪道

修改Docker Desktop的settings.json

{
  "registry-mirrors": ["https://registry.docker-cn"],
  "data-root": "E:\\docker_data",
  "storage-driver": "windowsfilter",
  "storage-opts": ["size=120GB"]
}

上周用这招把某AI训练容器的镜像从C盘挪走,省出78GB空间,项目组那帮研究员差点给我磕头。


血泪墙(每个条目都是真实事故)

  • 2019.7.22:误删C:\Windows\System32\migration导致域控服务器无法升级,被罚抄写AD架构手册三遍
  • 2021.3.15:清理SoftwareDistribution时忘记停更新服务,引发WSUS同步异常,凌晨两点被call醒
  • 2023.9.8:某开发在AppData\Local\Microsoft\Outlook做符号链接,导致Exchange缓存爆炸

给新手的保命符

  1. 碰注册表前先导出当前分支,像这样:reg export HKCU\Environment C:\env_backup.reg
  2. 看到C:\ProgramData\Package Cache别手痒,那是MSI安装包的退路
  3. 永远不要动C:\Windows\CSC——这是脱机文件的命根子

后记

当我敲下这些文字时,监控大屏上又有个C盘飙红告警。摸出抽屉里的U盘,里面藏着比本文更狠的C:\Windows\WinSxS清理脚本。但有些秘密,还是留在机房里更安全…

(办公室突然断电,眼前一黑——哦淦!忘记保存文档…这大概就是运维的宿命吧)


🔧 工具黑市:[Everything SDK] | [Handle.exe] | [USB Oblivion]
🔥 冷知识:Windows 11 22H2开始,C:\Windows\Resources\Themes里藏着未发布的黑暗模式2.0主题
💣 墨小白的诅咒:凡是删过win.ini的人,职业生涯必遇三次蓝屏

本文标签: 神技 大揭秘 技巧