解决 MacOS Sonoma 14 系统下修改用户名无法进入系统的历史Bug

2024-03-02 13:36

本文主要是介绍解决 MacOS Sonoma 14 系统下修改用户名无法进入系统的历史Bug,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

苹果系统祖传Bug概述

  • 在MacOS中如果在系统偏好设置/用户和群组中
  • 尝试修改用户名或用户ID,当且仅当只有一个管理员账号的时候
  • 重启,就可能面临到无法进入操作系统,即使出现了登录框,但是一直是 loading状态
  • 在这个期间,你有可能因为人的正常思维修改用户名的同时也修改了用户对应的路径
  • 官方其实知道这块会有问题,在文档上也给出过警告提示,如下
  • https://support.apple.com/zh-cn/102547
  • 但是这类操作是非常敏感而且是有风险的,但是大家要理解小白用户有恐怖的破坏力
  • 其实我不理解的是,如果修改会出现大的问题,为何官方还把这个问题放出来,如果客户误操作,进不去系统导致数据丢失,苹果官方到底有没有责任呢?
  • 外加互联网上一大堆的教程,弄着弄着,可能本来不是一个大问题,就变成了一个大问题
  • 而且每个人的电脑环境不同,也许别人的解决方案并不适合你的
  • 客服告诉我,这个Bug起码有5年了,我也是醉了 …
  • 现在把解决步骤分享出来

解决方案

  • 网上有很多 command + s 进入后执行一些终端命令,挂载和删除
  • 实际上,我遇到的问题更邪门,压根无法进入到输出模式,一大堆底层代码输出后,仍旧是 loading,所以这种方案被遗弃
  • 现在我来讲下解决这个问题的过程,有一部分是借助搜索引擎,有一部分是动手实践,还有一部分是靠猜

1 )初步研究和客服电话沟通流程

  • command + r 进入恢复模式
  • 检查硬盘数据是否挂载,这一步很重要,如果不挂挂载是没法在终端中看到的
  • 进入磁盘管理工具,对数据盘进行挂载, 一般而言,挂载的是 Macintosh HD 数据 这个盘,选中,进行挂载操作 (必须)
  • 之后退出 磁盘管理工具,在最顶部菜单栏选择 实用工具下的终端,执行 $ cd /Volumes/Macintosh HD/var/db/
  • 好进入这里之后,执行 $ lsls -la 可以看到有一个.AppleSetupDone 文件
  • 我们可以进行删除 rm .AppleSetupDone
  • 一般而言,如果再次执行 $ reboot 重启后进入系统 即可重置管理员,但是我遇到的问题并没有那么简单
  • 昨日,我联系苹果客服,告诉我大概也就这几个步骤
  • 客服电话中说如果还解决不了,可以再次到磁盘工具中,新建文件夹镜像进行数据的拷贝来避免数据丢失造成的损失
  • 这里他没有告诉我,要先挂载 Macintosh HD 数据 这个盘,导致我执行 $ rm "/Volumes/Macintosh HD/var/db/.AppleSetupDone"(包括引号)会有 no such file or directory 的提示
  • 而且,因此,我也没有办法避免数据的丢失,因为没有挂载,所以无法浏览到相关数据,我当时就没意识到这个问题
  • 当时客服态度比较好,而且一直说,想着帮我解决问题,也花了不少时间,又夸我思路清晰,描述和思考的很专业
  • 后来我想想,这算不算一种"捧杀" … 在职场中"捧杀"和"贬低" 这两种都是要不得的,好,话说回来
  • 在沟通当时,我并没有发现太多对我有用的信息
  • 在沟通之后, 我看到了自己没有挂载磁盘,并且
  • 最终发现了新大陆,找到了 .AppleSetupDone 这个文件
  • 在这个文件删除之后,其实按照互联网大多数人的做法,执行 $ reboot 重启后,就可以重新设置管理员以此来解决问题
  • 但是,我的电脑和系统,在重启后,在输入登录密码之后,菊花还是一直在转圈, 之前是加载进度条卡住
  • 现在是菊花转圈圈,都是Loading状态, 这个问题仍旧没有解决

2 )最终解决

  • 在这之前,我还使用恢复模式第二个选项,重新做了两次系统(无抹盘),但是都没有任何的效果,客服之前也说没有用
  • 昨天我在我的另一台Mac上升级了一下系统,因为硬件不同,无法升级到同样的系统版本,但也无妨我多次模拟这个问题
  • 昨天临睡前,我想了想,如果我把我的用户文件夹给删除掉(或重命名),它会不会重新走初始化流程呢
  • 抱着这个想法,今天早晨,我尝试了一下
    • 仍旧按照之前的步骤挂载数据盘,并删除 .AppleSetupDone 这个文件
    • 之后,我在 /Volumes/Macintosh HD/Users 目录下重命名了我之前那个唯一的用户目录,比如这里原本是A 重命名改成M (随意),因为里面的数据后期还需要还原回来, 之后执行重启
    • 天终于亮了,在输入密码重新进入后,没有了 Loading, 出现了 辅助功能的设定流程,也就是进入重置之前的那个用户的数据的流程
    • 在我一步一步的处理好之后,终于进入了系统
    • 还没完,进入系统设置/用户与群组,发现这个用户仍旧是一个管理员,并没有像是网上说的丢失了管理员权限
    • 可以看到,右键 高级选项后,看到 用户名这一栏是灰色的 (这个注意了)
    • 这次,我长了个心眼,重新设置了另一个管理员,来以防万一,后续弄好后可以删除也可以继续保留
    • 登录另一个管理员,在经过一系列初始化操作后,进入用户目录,这里一般而言,除了 共享,客人,还应该有三个用户目录
    • 分别是最开始改名的原始用户目录 M,后来重新初始化的用户目录A(代号),最后是刚刚新建管理员的用户目录,假设是 B
    • 现在已经进入了另一个管理员账户,所以就可以操作MA目录了,同样,这个操作也可以在恢复模式下操作(麻烦,没有必要)
    • 好的,现在,删除A目录,需要输入管理员密码,之后把M目录重命名成A
    • 再次说明,这里M, A, B目录都是代号(按照自己设定的来) A目录就是最原始的那个目录,对应用户与群组高级选项中个人目录设定的那个
    • 好的,目前还剩两个用户目录: AB 分别对应两个管理员账号,再次执行重启,选择最原始的管理员账号进行登录,再经过短暂的Loading后,发现一切都回来了 …
    • 这里,如果之前修改过用户ID, 默认是 501,修改成别的,应该也回不来也同样卡在Loading,用类似的方法,可以把用户ID再改成501,看下别被另一个管理员占用
    • 注意,用户ID最好不要乱改,否则容易出问题
    • 如果到目前,仍旧恢复不了,可以直接用另一个管理员账号,可以将之前的管理员账号目录下的数据转移过来
  • 如果发现当前用户下,账户名称是灰色,新建另一个管理员账号对当前账号的名称进行修改

这篇关于解决 MacOS Sonoma 14 系统下修改用户名无法进入系统的历史Bug的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/766294

相关文章

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码