先介绍一下我的系统安装情况,固态盘(c盘)安装windows,机械盘(d盘)安装ubuntu16,ubuntu16下系统空间不够准备扩容(扩展根目录)
开始想在windows下通过d盘压缩磁盘空间进行扩容,结果一压缩完空间后ubuntu直接不能启动了。
应该是压缩后导致找不到启动文件,一番折腾后发现可以用U盘ubuntu系统进行引导(try ubuntu without installing),引导进去后数据都还在。
系统恢复启动引导参考
https://www.cnblogs.com/lymboy/p/7783756.html
系统恢复步骤
1:准备一个安装U盘,插入电脑->开机->选择试用Try ubuntu without install
2:打开终端(Open Terminal),获取root权限,执行以下命令:
sudo su
sudo add-apt-repository ppa:yannubuntu/boot-repair
apt-get update
apt-get install boot-repair
在dash中搜索boot-repair
点recommand repair之后会自动执行(图形界面)
静候几分钟,等其结束后关机,拔掉U盘,开机
3:开机之后,会出现类似于这样一个界面,发现多了很多不必要的选项
删掉一些东东就好,执行以下命令:
su # 获取root权限
cp /boot/grub/grub.cfg /boot/grub/grub.cfg_backup #先备份一下
cat /boot/grub/grub.cfg > tmp #将内容重定向到其他文件,便于修改
gedit tmp #或者vim tmp
#将下面这些内容全部删掉
### BEGIN /etc/grub.d/25_custom ###
menuentry "Windows UEFI bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root 84F5-6727
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry "Windows Boot UEFI loader" {
search --fs-uuid --no-floppy --set=root 84F5-6727
chainloader (${root})/EFI/Boot/bkpbootx64.efi
}
...
menuentry "Windows Boot UEFI recovery bkpbootx64.efi" {
search --fs-uuid --no-floppy --set=root 5686-D913
chainloader (${root})/efi/Boot/bkpbootx64.efi
}
### END /etc/grub.d/25_custom ###
其实就是删掉对应的中间那几项
删掉之后再:
cat tmp > /boot/grub/grub.cfg
reboot
4: 一切如初
其实扩容根本不需要在windows下分配空间(还是对linux不熟悉)
参考连接:
https://blog.csdn.net/weixin_41018348/article/details/82592057
在ubuntu16.04下,使用下面命令安装gparted:
sudo apt-get install gparted
安装好后用下边命令启动gparted:
sudo gparted
在ubuntu16.04安装好后启动的界面如上,可以看到开辟的空间都带有钥匙标记,这时不能对分区进行操作,需要先卸载(unmount)或者停止(swapoff)(附:没试过直接在现已安装的Ubuntu下卸载或停止,而是用制作Ubuntu启动U盘试用模式下进行的),用U盘Ubuntu启动盘进入试用模式。
进入gparted后,可以看到除了linux-swap交互空间的钥匙标记还有,其它的都没了,这时需要将linux-swap停止,鼠标右键选择swapoff后,可以看到所有分区的钥匙标记都没了。
本人的home(sda7)分区闲置的空间比较大,选择在home分区进行压缩出新的空闲空间。在sda7中选择Resize/Move进行压缩。
然后选择要压缩的空间,其中有三个编辑框,分别是:Free Space Preceding, New Size, Free Space following
Free Space Preceding代表从sda7压缩 N MB,在sda7的上方,即sda6与sda7之间
New Size表示当前分区的容量,若要压缩该分区,该值需要减去压缩值
Free Space following代表从sda7压缩 N MB,在sda7的下方
(tips:可以直接拖动进行操作,最后看一下Preceding和following的空间,多试几次也没关系,别点apply就行)
下面需要将unallocated,移动到sda1下边或上边才能对其扩容。
移动的方法与压缩一样,选择sda6进行resize/Move,进入界面后直接进行resize/move,就能将unallocated移动到sda6上方,同理对sda5进行操作
这时unallocated到了sda2下方,发现对sda2不能进行同样的操作。仔细看了一下,原来系统是将整个硬盘分成了sda1和sda2两个分区,然后再将sda2分成了三个分区sda5\sda6sda7
实际上我们需要的是将sda2压缩出一个新的空闲分区给sda1
这时,对sda2重复sda7的操作,就能将unallocated移动到sda2的上方(即sda1下方)。
选择sda1进行rezise/move,对这个滑条进行操作,拉满即可(实际上就是对sda1扩容)
完成后就能看到sda1已经扩容至所设容量(下边图是已扩容好的)
最后,一定要记得应用到整个系统,
即选择菜单栏 >> Edit >> Apply all Operations >> Apply
等待完成即可。(本人操作完成时有两个warning,提示可能会导致系统找不到启动引导,并没理会,重启系统后一切正常)