双系统ubuntu和windows扩容时出现问题
最开始安装双系统时内存分配没有分配好,按照网上的推荐只分给了Ubuntu50G的硬盘空间,这也导致了后来的的问题,所以在这里强烈建议安装双系统的同学如果用Ubuntu作开发的话一定要给Ubuntu系统留出足够的空间。
一. 进入windows10系统,右键计算机,选择管理-磁盘管理,在一个硬盘中分离出一个空白区域,右键要分离的硬盘选择压缩卷,选择需要腾出的空间大小,然后点击右键,新建卷,此时我们已经腾出了一个空间供ubuntu扩容使用。
二. 切换到Ubuntu系统,在开机时可能会遇到开不开机的问题,因为我的Ubuntu使用grub引导的,刚刚在windows系统下分离出的磁盘空间导致grub找不到系统所在的磁盘目录,需要手动输入磁盘位置启动系统
因为我的电脑是Ubuntu的,开机用的是grub引导,而grub就放在Ubuntu里的/boot/grub下。由于我多分出了一个区,导致grub找不到原先的Ubuntu所在分区,自然就找不到/boot/grub了,因此解决这个问题很简单,只要把grub和/boot/grub对应上就可以了。
步骤如下:
1.
输入ls,如下所示:
会列出目前磁盘上可用的所有分区,根据原先磁盘上的分区顺序大概确定Ubuntu所在分区是这几个中的哪一个(无法确定也没关系,一个一个试呗)
2.
输入set,如下所示:
会列出当前grub的设置,正是因为这些设置错误,才导致grub无法找到Ubuntu分区,既然grub找不到,那我们要手动指定了。
3.
以(hd0,msdos1)为例,分别输入:
set root=hd0,msdos1
set prefix=(hd0,msdos1)/boot/grub
如下所示:
注:这里的格式可能会随grub的版本不同而不同,只要和之前set列出的格式一致就可以了
4.
再输入set,发现我们已经设置好了:
5.
输入insmod normal回车,发现还是出错了,说明我们之前指定的msdos1是错误的:
呵呵,其实我本来就知道它是不对的,只是为了演示而已。
6.
那么现在我们指定msdos8,还是和之前的输入一样:
7.
发现这次没有出错,说明msdos8就是Ubuntu所在的分区,同时,我们还注意到提示符"grub rescue>"变成了高亮,来个特写:
8.
输入normal,如下所示:
哈哈,我们熟悉的grub菜单又回来了~~
参考:https://www.linuxidc.com/Linux/2012-06/61983p2.htm
https://blog.****.net/weixin_39373577/article/details/81868204