linux下如何进入单用户维护模式和/bin/bash模式
有点意思,记录一次linux下进入单用户维护模式和/bin/bash模式
一、单用户维护模式
1、重启系统,启动时按下任意键进入启动菜单,按下任意键,进入GRUB菜单(如图)
2、在 GRUB 启动菜单里有“a”、“e”和“c”三个操作按键
‘e’ 在booting前编辑启动命令行
‘a’ 在booting前编辑kernel的参数
‘c’进入grub命令行
按 “e” 键,选择 “kernel” 菜单项,再按“e”键编辑“kernel” 菜单项,在行末输入 single ,以告诉 Linux 内核后续的启动过程需要进入单用户模式(如图)
3、在行末输入 single 之后,按enter键确认,并回到GRUB 启动菜单(默认已经选中 “kernel” 行),按下“b”键以单用户重启系统
4、好了,系统无需输入密码就进入了,系统已经是单用户模式了,想干啥就干啥吧(最常用当然是:修改root用户密码)
二、linux直接进入/bin/bash模式
先来模拟一种问题,先来看看我的一台虚拟机的内存和虚拟内存参数min_free_kbytes的值(如图)
min_free_kbytes 保证系统间可用的最小 KB 数。这个值可用来计算每个低内存区的水印值,然后为其大小按比例分配保留的可用页。可破坏您系统的极限值
设定这个参数时请小心,因为该值过低和过高都有问题。
*`min_free_kbytes`* 太低可防止系统重新利用内存。这可导致系统挂起并让 OOM 杀死多个进程。
但将这个参数值设定太高(占系统总内存的 5-10%)会让您的系统很快会内存不足。Linux 的设计是使用所有可用 RAM 缓存文件系统数据。设定高 *`min_free_kbytes`* 值的结果是在该系统中花费太多时间重新利用内存。
好,我们将这个值改大试试,看看会发生什么情况;修改 /etc/sysctl.conf , 添加一行
```
vm.min_free_kbytes = 203000
```
执行 sysctl -p 生效
[![qq%e5%9b%be%e7%89%8720160913214618](/assets/wp-content/uploads/2016/09/QQ图片20160913214618-1.png)](/assets/wp-content/uploads/2016/09/QQ图片20160913214618-1.png)
好了,最后来重启一下 ,init 6 , 可以看到下面的错误(如果)
[![qq%e5%9b%be%e7%89%8720160913215501](/assets/wp-content/uploads/2016/09/QQ图片20160913215501.png)](/assets/wp-content/uploads/2016/09/QQ图片20160913215501.png)
**杯具了,参数改错了,导致系统无法重启(是不是很紧张)哈哈**
别慌,不是说可以用linux单用户模式登录修改回来嘛,那我们就试试linux进入单用户维护模式,也就是 (一、单用户模式)的步骤,安装上面的一步步来呗
重启 -> 按任何键进入grub菜单 -> 按‘e’ 在booting前编辑启动命令行 -> 选择“kernel” 菜单项行 按“e”,在行末输入 single -> 按确定 -> 按“b”键重启 ……. 看吧,出现什么错误(如下图)
[![qq%e5%9b%be%e7%89%8720160913220755](/assets/wp-content/uploads/2016/09/QQ图片20160913220755.png)](/assets/wp-content/uploads/2016/09/QQ图片20160913220755.png)
[![qq%e5%9b%be%e7%89%8720160913220805](/assets/wp-content/uploads/2016/09/QQ图片20160913220805.png)](/assets/wp-content/uploads/2016/09/QQ图片20160913220805.png)
[![qq%e5%9b%be%e7%89%8720160913220809](/assets/wp-content/uploads/2016/09/QQ图片20160913220809.png)](/assets/wp-content/uploads/2016/09/QQ图片20160913220809.png)
出问题了吧,改不了吧,那怎么办呢!
到 /bin/bash模式 出场了…. 还是跟进入单用户模式一样
重启系统 -> 按任何键进入grub菜单 -> 按‘e’ 在booting前编辑启动命令行 -> 选择“kernel” 菜单项行 按“e”编辑“kernel” 启动菜单,但是这里就不是在行末输入 single , 而是输入 init=/bin/bash (如下图)
[![qq%e5%9b%be%e7%89%8720160913221238](/assets/wp-content/uploads/2016/09/QQ图片20160913221238.png)](/assets/wp-content/uploads/2016/09/QQ图片20160913221238.png)
继续吧,-> 按确定 -> 按“b”键重启 …….进来了,变了吧,变成bash了,而不是root(如图)
[![qq%e5%9b%be%e7%89%8720160913221515](/assets/wp-content/uploads/2016/09/QQ图片20160913221515.png)](/assets/wp-content/uploads/2016/09/QQ图片20160913221515.png)
好了,写个文件试试
[![qq%e5%9b%be%e7%89%8720160913221621](/assets/wp-content/uploads/2016/09/QQ图片20160913221621.png)](/assets/wp-content/uploads/2016/09/QQ图片20160913221621.png)
咦,发现磁盘只读,那就改改吧 。输入mount -n / -o remount,rw 表示将根文件系统重新mount为可读写
磁盘可以读写啦,赶紧修改 min_free_kbytes 的值,改回去吧 ,修改完,记得把系统读写改回去 mount -n / -o remount,ro
最后,重启吧
哎呀,正常登录了,说真的,截图截的我好累呀,记住 init=/bin/bash了吧(完)
转载请注明:Huangdc » linux下如何进入单用户维护模式和/bin/bash模式