【Hacker News搬运】磁盘已满,无法恢复
-
Title: A disk so full, it couldn't be restored
磁盘已满,无法恢复
Text:
Url: https://sixcolors.com/post/2024/03/a-disk-so-full-it-couldnt-be-restored/
标题:一个满了的磁盘,无法恢复 作者:2024年3月25日 4:46 PM PT 发布日期:无 顶部图片链接:无 文本: 我的孩子的 MacBook Pro 无法挽救地满了。只有一个完整的擦除才能解决问题——然后 Time Machine 失败了。 我爱我的孩子,但他们有时会忘记我是做什么的:回答问题并撰写关于人们在使用 Macs、iPhones 和 iPads 时遇到的最棘手问题的书籍。但是当真正出问题时,他们突然想起,“嘿,爸爸可能知道怎么修!” 所以,当我的小儿子在下载(合法、已购买)的游戏时,他们的 M2 MacBook Pro 的存储满了,他向我寻求帮助。没问题!我可以清空回收站。嗯,他们试过了。那么,找一些缓存文件……嗯。我可以在终端里……好的,那也没用。 结果是,我的孩子完成了一个技巧,但他们并不孤单:他们把 macOS 的启动卷存储填满了,以至于操作系统无法以任何方式删除文件。在磁盘变得不堪重负时,macOS 没有停止巨大的 Steam 下载,而是继续写文件,直到驱动器上只剩下 41K 空闲空间。 我不太清楚发生了什么。他们没有意识到他们的 SSD 硬盘已经满了,因为他们把大部分有用的文件都保存在云端。可能……是的,完全合法的视频文件。我敢肯定那里没有版权问题。但他们不关心保留这些文件。他们只是想让他们的电脑再次工作! 我有一个理论。由于我们的千兆互联网连接和 Steam 文件的大小,macOS 超越了它的能力来限制填充存储,因为它还在制作本地 Time Machine 快照。Steam 文件对我来说是一个巨大的文件——一个巨大的文件,但显然不是 Time Machine 的。macOS 保持这些快照,以便为上一快照提供本地备份,即使它正在将文件复制到外部或网络 Time Machine 目的地。我不认为 macOS 很好地跟踪这些快照,而且我认为文件在磁盘上的实时文件与创建的快照发生了冲突。 我尝试了一系列文件删除方法,依赖于我的知识并在在线论坛上搜索类似情况: 清空回收站:通过 Finder 清空回收站(文件 > 清空回收站)。“无法完成此操作,因为磁盘已满。”是的,macOS,我已经知道了。 终端:终端可以启动,但使用标准的 Unix rm 命令结果相同:磁盘上没有空间了。所有 rm 替代方案,如使用 find 命令搜索非常大的不需要的文件并添加 -exec 选项运行 rm 命令,都失败了。终端没用。 磁盘工具:磁盘工具显示 Time Machine 快照,你可以通常选择并删除这些快照,它们只占用存储空间以包含与前一个快照的差异。这也没用,因为“没有空间了”。 我决定重启电脑以清除缓存。不幸的是,重启后,Mac 无法启动。无论我尝试什么,它都会在进度条的一半时失败。 我切换到 recoveryOS,苹果对 macOS 中的一种特殊磁盘分区的新名称,它让你在主启动卷未挂载时运行操作,包括磁盘工具修复和重装。从那里,我也遇到了同样的墙壁,因为终端命令继续以同样的错误失败。 我决定再次重启以访问 Apple silicon Share Disk 选项,在我的 Mac 上将孩子的驱动器挂载到他们的 MacBook Pro 上,希望通过 Samba(磁盘共享协议)强制删除。没有运气。 此时,我转向更强的药物。我为他们的驱动器有一系列 Time Machine 备份,包括前一天晚上的一个,他们并不太担心丢失数据,因为他们大多数重要的文件都保存在某种云存储中。就是在这里,事情以完全不同的方向变坏了。 首先,我擦除了驱动器,并使用 macOS Recovery 重新安装了 Ventura,MacBook Pro 最初发货的本地系统。然后我在 macOS 启动时使用迁移助手访问网络 Time Machine 备份。在选择要恢复的文件时,我取消了一些勾选,以确保有足够的存储空间。我的孩子有很多他们可以删除的东西,他们说,我可以给他们 Time Machine 备份作为一个可挂载的驱动器,以便稍后恢复丢失的文件。 进行到一半时,Ventura 冻结了,无法恢复。我决定升级到 Sonoma,当时运行的 macOS 版本,macOS 14.4,而我孩子的是 14.3.1。当我尝试直接在启动时恢复时,被告知版本不同不允许。现在怎么办? 我在基本设置了一个 Sonoma 用户账户,然后运行迁移助手。它找到了我在 Time Machine 备份上管理的网络上的 Mac,并认识
Post by: goranmoomin
Comments:
miles: The author might have had better luck by using an external storage device to boot the Mac and delete unneeded files on the internal disk from there:<p><i>Use an external storage device as a Mac startup disk</i> <a href="https://support.apple.com/en-us/111336" rel="nofollow">https://support.apple.com/en-us/111336</a><p>Was surprised to learn that with Apple silicon-based Macs, not all ports are equal when it comes to external booting:<p>If you're using a Mac computer with Apple silicon, your Mac has one or more USB or Thunderbolt ports that have a type USB-C connector. While you're installing macOS on your storage device, it matters which of these ports you use. After installation is complete, you can connect your storage device to any of them.<p>* Mac laptop computer: Use any USB-C port except the leftmost USB-C port when facing the ports on the left side of the Mac.<p>* iMac: Use any USB-C port except the rightmost USB-C port when facing the back of the Mac.<p>* Mac mini: Use any USB-C port except the leftmost USB-C port when facing the back of the Mac.<p>* Mac Studio: Use any USB-C port except the rightmost USB-C port when facing the back of the Mac.<p>* Mac Pro with desktop enclosure: Use any USB-C port except the one on the top of the Mac that is farthest from the power button.<p>* Mac Pro with rack enclosure: Use any USB-C port except the one on the front of the Mac that's closest to the power button.
miles: 作者可能会更幸运地使用外部存储设备来启动Mac并从中删除内部磁盘上不需要的文件:<p><i>将外部存储设备用作Mac启动磁盘</i><a href=“https://;/;support.apple.com/!en-us/:111336”rel=“nofollow”>https:///;support.apple.com/;en-us;111336</a><p>很惊讶地发现,在苹果基于硅的Mac电脑中,并非所有端口在外部启动时都是平等的:<p>如果您;如果您使用的是带有苹果硅的Mac电脑,您的Mac电脑有一个或多个USB或Thunderbolt端口,这些端口带有USB-C连接器。当你;在存储设备上重新安装macOS时,使用哪一个端口很重要。安装完成后,您可以将存储设备连接到其中任何一个<p> *Mac笔记本电脑:当面对Mac左侧的端口时,使用除最左边的USB-C端口外的任何USB-C端口<p> *iMac:面对Mac背面时,使用除最右侧USB-C端口外的任何USB-C端口<p> *Mac mini:面对Mac背面时,使用除最左边的USB-C端口外的任何USB-C端口<p> *Mac Studio:面向Mac背面时,使用除最右侧USB-C端口外的任何USB-C端口<p> *带台式机外壳的Mac Pro:使用任何USB-C端口,但Mac顶部离电源按钮最远的端口除外<p> *带机架外壳的Mac Pro:使用任何USB-C端口,但Mac正面的端口除外;它离电源按钮最近。
staticfloat: I ran into an issue like this in my first ever job! I accidentally filled up a cluster with junk files and the sysadmin started sending me emails saying I needed to fix it ASAP but rm wouldn’t work. He taught me that file truncation usually works when deletion doesn’t, so you can usually do “cat /dev/null > foo” when “rm foo” doesn’t work.
staticfloat: 我在第一份工作中就遇到了这样的问题!我不小心用垃圾文件填满了一个集群,系统管理员开始给我发电子邮件,说我需要尽快修复它,但rm不起作用。他告诉我,当删除不起作用时,文件截断通常会起作用,所以当“rm foo”不起作用时,你通常可以做“cat/;devȏ;null>;foo”。
userbinator: My best guess at what happened (based on a little knowledge of HFS+ disk structures, but not APFS) is that the journal file also filled up, and since deletion requires writing to it and possibly expanding it, you get into the unusual situation where deletion requires, at least temporarily, more space.<p><i>macOS continued to write files until there was just 41K free on the drive.</i><p>I've (accidentally) ran both NTFS and FAT32 to <i>0</i> bytes free, and it was always possible to delete something even in that situation.<p><i>Digging around in forums, I found that Sonoma has broken the SMB/Samba-based networking mount procedure for Time Machine restores, and no one had found a solution. This appears to still be the case in 14.4.</i><p>In my experience SMB became unreliable and just unacceptably buggy many years ago, starting around the 10.12-10.13 timeframe; and now it looks like Apple doesn't care about whether it works at all anymore.<p><i>I hate to think what people without decades of Mac experience do when confronted with systemic, cascading failures like this when I felt helpless despite what I thought I knew and all the answers I searched for and found on forums.</i><p>I don't have "decades of Mac experience", but the first thing I'd try is a fsck --- odd not to see that mentioned here.<p>If I were asked to recover from this situation, and couldn't just copy the necessary contents of the disk to another one before formatting it and then copying back, I'd get the APFS documentation (<a href="https://developer.apple.com/support/downloads/Apple-File-System-Reference.pdf" rel="nofollow">https://developer.apple.com/support/downloads/Apple-File-Sys...</a>) and figure out what to edit (with dd and a hex editor) to get some free space.
userbinator: 我对所发生的事情的最佳猜测(基于对HFS+磁盘结构的一点了解,但不是APFS)是,日志文件也被填满了,由于删除需要写入并可能扩展它,所以您会遇到一种不寻常的情况,即删除至少暂时需要更多的空间<p> <i>macOS继续写入文件,直到驱动器上只有41K可用空间</i> <p>i;ve(意外地)将NTFS和FAT32都运行到<i>0</i>字节的可用空间,即使在这种情况下,也总是可以删除一些内容<p> <i>在论坛上挖掘,我发现Sonoma已经打破了SMB/;用于Time Machine恢复的基于Samba的网络装载过程,但没有人找到解决方案。14.4中的情况似乎仍然如此。</i><p>根据我的经验,SMB在许多年前就变得不可靠,而且存在无法接受的缺陷,大约从10.12-10.13开始;现在看来,苹果;我再也不在乎它是否有效了<p> <i>我不愿意去想那些没有几十年Mac经验的人在面对这样的系统性连锁故障时会做什么,尽管我认为我知道什么,而且我在论坛上搜索和找到了所有答案,但当我感到无助时</i> <p>我不喜欢;t具有“;数十年的Mac经验”;,但是第一件事I;d try是一个fsck——奇怪的是没有看到这里提到的<p> 如果我被要求从这种情况中恢复过来;t只是在格式化磁盘然后拷贝回之前将磁盘的必要内容拷贝到另一个磁盘;d获取APFS文档(<a href=“https://;/;developer.apple.comȏ;support/,downloads/!apple File System Reference.pdf”rel=“nofollow”>https://;#xx2F;development.apple.com#xx2F,support/;downloadsȏ;apple File Sys…</a>),并找出要编辑的内容(使用dd和十六进制编辑器)以获得一些可用空间。
voidwtf: It seems like Time Machine has been steadily declining. I'm not sure why there is no impetus to get it reliable and functioning well. Between sparse bundles becoming corrupt and having to start a new backup and failing functionality I haven't felt like Time Machine is worth setting up anymore. This is in stark contrast to the iOS/iPadOS backups which have worked every time.
voidwtf: 时间机器似乎一直在稳步衰落。I-;I’我不知道为什么没有动力让它变得可靠和运转良好。在稀疏捆绑包变得损坏、必须启动新的备份和失败的功能之间,我有;我觉得时间机器不值得再设置了。这与iOS;iPadOS备份每次都有效。
desro: Impressive. I've never dealt with a situation where even
rm
failed, but I have had the displeasure of using and managing modern Macs with 256 GB (or less) of internal storage. I like to keep a "spaceholder" file of around 16GB so when things inevitably fill up and prevent an update or something else, I can nuke the placeholder without having to surgically prune things withncdu
desro: 给人印象深刻的I-;我从来没有遇到过连“rm”都失败的情况,但我对使用和管理256GB(或更少)内部存储的现代Mac电脑感到不满。我喜欢保持一个“;空间保持器”;大约16GB的文件,所以当东西不可避免地填满并阻止更新或其他事情时,我可以使用“ncdu”来核处理占位符,而不必通过手术来修剪东西`