我是靠谱客的博主 飞快大白,最近开发中收集的这篇文章主要介绍双系统在grub命令行模式进入单用户模式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

系统:windows 7(先安装) + Ubuntu 18.04(后安装),通过grub引导ubuntu启动

背景:由于当时在安装ubuntu的时候只预留了60G的磁盘空间,导致后来空间不够用,所以尝试把windows的一个磁盘分区格式化成ext4格式后挂载给/home目录下的一个文件夹,扩展ubuntu的空间(参考https://mp.csdn.net/console/editor/html/104808208)。

问题:在设置后windows可以正常启动,启动后发现格式化成ext4后的磁盘分区已无法识别其格式;ubuntu无法正常启动,停留在grub命令行模式。

分析:grub在启动ubuntu之前会检查所有的磁盘,不能识别格式化成ext4的磁盘分区,导致无法启动ubuntu

 

解决方案:

1. 通过一个ubuntu的启动U盘,在开机启动选项里选择U盘启动,然后选择试用不安装模式进入系统,就可以查看原windows和ubuntu的磁盘文件。有人说可以在terminal中使用root账户修改和恢复系统文件,我没有尝试过。

2. 在grub命令行模式输入命令,进入单用户模式,命令如下:

grub> set root=(hd1,9)  //设置根目录 / 所在的分区

grub> set prefix=(hd1,9)/grub    //可以通过 ls (hd1,9)/grub 确认/grub存在,确认启动分区

grub> root (hd1,9)  //挂载启动分区,从而可以访问其中的内核文件

grub> kernel /vmlinuz-(使用TAB键选择一个内核镜像) ro root=/dev/sdb9 rhgb quiet 1  //1代表进入单用户模式 sdb9为根目录分区, /dev/sdb9为/分区位置

grub> initrd /initrd.img-(使用TAB键选择一个initrd镜像)

grub> boot //重启,进入单用户模式

出现以下提示:

You are in rescue mode, After logging in, type "journalctl -xb" to view system logs, :"systemctl reboot" to reboot, "systemctl default" or "exIt" to boot into default mode.

root

(or Control-D)

 

输入root密码(如果忘了还得绕过root密码检查), 进入单用户模式,此时就可以进行文件修复活动,然后“exit”正常进入系统。也可以直接“exit”正常进入系统。(说明:我在另一篇文章中对/etc/fstab的修改其实不会影响ubuntu的启动,因为完全不涉及/分区和/boot分区,只是在/home分区下面的目录挂载了一个新分区,但是由于我使用了grub引导,并且grub设置在windows下,导致在grub引导之前检查磁盘格式不通过, unknown filesystem, 最终影响了ubuntu的启动)

 

修复/etc/fstab后,可以通过df -h, cat /proc/mounts,fdisk -l查看是否挂载已取消。

 

重启,发现通过grub引导ubuntu仍然不行,然后进入windows将原来格式化为ext4的分区恢复成NTFS格式,再通过grub引导ubuntu启动成功。


 

最后

以上就是飞快大白为你收集整理的双系统在grub命令行模式进入单用户模式的全部内容,希望文章能够帮你解决双系统在grub命令行模式进入单用户模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部