双系统在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启动成功。


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值