[software development] Deepin v20.9 进入single模式的方法
Tofloor
poster avatar
陈狍子
deepin
2024-01-26 18:52
Author

为什么我需要进入single模式

前段时间因为在 /etc/profile.d/下插入了一个自定义环境变量,格式类似这样:

function wamp(){
}

function wamp_list_func(){
}

function wamp_func_get(){
}

function list(){
}

function publish(){
}

function call(){
}

其实我也只定义了几个函数,貌似还没开始执行任何代码呢。好家伙,重启系统后,就开始撂橛子了。(以后有时间排查一下具体原因)

在用户登录界面输完密码回车后,直接黑了一下屏,又回到了登录界面,一直循环登录这一步。现象与这个帖子一致:https://bbs.deepin.org/post/242366。

需要single模式

由于才新入坑,没把论坛的帖子都翻一遍,没有发现这个快捷键 ctrl+alt+f2 (进入命令行界面),于是尝试直接进入single模式(单用户模式),定位查找问题。

进入single模式

如这个帖子描述,https://bbs.deepin.org/post/266914。single模式需要 root密码才能进入。还好我养成了“良好”的习惯,拿到新系统,第一时间设置root密码。

于是顺利进入了single模式,删掉 /etc/profile.d/下的脚本,便顺利解决了问题。

接下来介绍如何进入single模式:

  1. 重启系统,然后不停按上下键,直到停留在 引导菜单界面。
  2. 进入 引导菜单界面后,选中第一条,按 e键
  3. 找到 linux 开头的一行,将 这一行 ro 后面的内容全部删掉,注意是当前行!
  4. ro也删掉,输入代码 rw init=/bin/bash single
  5. Ctrl + X,后面会提示输入root密码,如此便进入了single模式。

忘记root密码或者没有设置root密码怎么办?

问题的核心是如何设置 root密码。解决这个问题即可。

办法其实也有,这个就是现成的:https://bbs.deepin.org/post/238135。

但我喜欢用更暴力一些的方法。下面分享一下我的心得,供动手能力强的人参考。

Esxi 或 VMware虚拟机用户

  1. 将Deepin关机;

  2. 找一台其他的闲置Linux虚拟机(切拿重要业务试验),或者新建一台;

  3. 最关键的一步来了,将Deepin的硬盘添加给这台虚拟机;

    941d9d1f020e489c096e4a7132c8b7d.png

    efedf9147e99a9250883699ccd4d90b.png

  4. 进入Linux系统,中挂载这块硬盘(不方便截图,以后补上);

  5. 然后chroot 到这块盘的根目录(不方便截图,以后补上);

  6. 执行 passwd root即可修改root密码,没有设置root密码的这一步就直接设置好了;

  7. 执行 sync刷新磁盘缓存;

  8. Linux关机,然后移除硬盘,以便解锁;
    7c144b5845f531d2bbe78dd9b91db15.png

  9. Deepin开机,执行上面的进入single模式的步骤即可。

物理机用户

目前我是将Deepin装在SSD盘中,使用易驱线接在主机上,所以操作起来相对简单,机械硬盘同理。对于NVMe或者MsSATA用户,我暂时也不知道该如何处理。

  1. 拔下硬盘;
  2. 插入另一台主机(我的是USB3.0接口,相对比较便利),Mac或者Linux;
  3. 在系统中挂载Deepin系统硬盘;
  4. chroot
  5. 与上面的步骤一致;

疑问

这真的是single模式吗?有没有懂的人请指导下。

Reply Favorite View the author
All Replies
北冥夜未央
deepin
2024-01-26 19:16
#1

Deepin早就禁用单用户模式了,很奇怪你怎么成功的

Reply View the author
忘记、过去
Moderator
2024-01-26 20:20
#2
北冥夜未央

Deepin早就禁用单用户模式了,很奇怪你怎么成功的

有 root 密码的话还是可以登录成功的,只不过默认 root 密码随机

Reply View the author
陈狍子
deepin
2024-01-26 20:57
#3
北冥夜未央

Deepin早就禁用单用户模式了,很奇怪你怎么成功的

所以我也纳闷,这到底是不是真正的single模式。进去之后 ps,确实是啥也看不到的。但加载了多少驱动就不好说了。

Reply View the author
陈狍子
deepin
2024-01-26 21:03
#4
忘记、过去

有 root 密码的话还是可以登录成功的,只不过默认 root 密码随机

如果不牵扯驱动的话,不太用得上Single。我以前搞内核开发,才需要Single。

Reply View the author
哦豁
deepin
2024-01-27 01:32
#5
It has been deleted!
陈狍子
deepin
2024-01-28 11:48
#6
哦豁 It has been deleted!

你说的启动盘指的 live CD吧,我看论坛里有人说,用 live CD也要输root密码。

删文件用不到single,直接普通用户,命令行进去删即可。

Reply View the author