红联Linux门户
Linux帮助

在win10和ubuntu GNOME 16.04下删除Win10

发布时间:2016-05-29 11:24:52来源:魔导箱子演示作者:对魔导MkII

我用VirtualBox建立了一个win10 和Ubuntu GNOME 16.04共存的环境

在win10和ubuntu GNOME 16.04下删除Win10

Win10

在win10和ubuntu GNOME 16.04下删除Win10

ubuntu GNOME 16.04

我用VBox模拟了一般win10 和 Ubuntu GNOME 双系统的机器,现在我们来模拟一下删除win10 的简单操作。UEFI+GPT用户往下看……


实体机的情况大致如此,我们首先要看看,系统是否通过grub引导
grub引导界面如下:

在win10和ubuntu GNOME 16.04下删除Win10

我们可以看到上面的windows 10 字样,或者是“windows boot manager”之类的,这就说明我们使用了grub来引导双系统,这使我们的操作变得简单。

特别地,有些用户用windows boot manager引导ubuntu,这些用户大抵是以windows为主的用户,就不用看这个教程了。


那么我们了解情况后,那就开始吧!
首先我们要进入Ubuntu
Ctrl+Alt+T打开终端,输入:
sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
这条指令是对grub.cfg进行备份,防止意外
如果出现意外,就输入:
sudo rm /boot/grub/grub.cfg
sudo cp /boot/grub/grub.cfg.backup /boot/grub/grub.cfg
谨慎,要谨慎,要优雅

在win10和ubuntu GNOME 16.04下删除Win10

备份做完后,继续输入:
sudo gedit /boot/grub/grub.cfg
这样会出现下图一样的情况:

在win10和ubuntu GNOME 16.04下删除Win10

这时可以对它进行编辑了,用搜索里的查找功能,找词条“windows”,搜索结果如下:

在win10和ubuntu GNOME 16.04下删除Win10


删除下图标记的行:

在win10和ubuntu GNOME 16.04下删除Win10

就是从##BEGIN 开始到 ##END那一段,注意不要弄错咯#
删掉这一段后保存。


我们重启一下看看吧
这样就完成了哟.
我们看到Win10 从Grub里面消失了:

在win10和ubuntu GNOME 16.04下删除Win10

这个时候,你就放心地去格式化你的windows盘吧,EFI?不用管了,反正默认也不访问它。
ubuntu下利用“磁盘”工具可以实现开机自动挂载分区,也可以使隐藏分区显现。
别说你不会用,那是图形界面的。


本来教程到这里就完成了,但是处于对强迫症候群的考虑,还是做一点点的折腾吧。
总觉得ubuntu所在的分区和EFI分区中间隔着一个分区,怪别扭的。
算了,我给你们继续模拟之后的状况:

在win10和ubuntu GNOME 16.04下删除Win10

ubuntu GNOME 16.04 可以正常使用,但是分区构造实在是惨不忍睹,这里面我再模拟一下吧~ 之后的事情。


开机狂按F2,额F7也行,主板不一样,反正你们怎样进入BIOS启动菜单就怎么进吧?
顺便说一下,虚拟机内也可以按F2进入BIOS:

在win10和ubuntu GNOME 16.04下删除Win10

想让EFI生效,必须在虚拟机里面的设置里面勾选上“允许EFI”之类的……题外话,进入正题吧!
然后我们要从USB启动Ubuntu安装U盘!好孩子都会认真完成的说;
纳尼?事先没准备?好吧,一个优秀的Linuxer会有很多保险在身上的,好好给我记住。

从U盘启动后,我们进入了一个GNU GRUB界面:

在win10和ubuntu GNOME 16.04下删除Win10

直接回车就行了,于是我们进入了Ubuntu的LiveCD(据说是这样)


进入ubuntu(Live)界面:

在win10和ubuntu GNOME 16.04下删除Win10

我们打开BASH,就是程序搜索菜单,输入Gparted(有的版本没有就现场安装一个Gparted),
搜索到后打开“GParted”:

在win10和ubuntu GNOME 16.04下删除Win10

我们可以看到混乱的分区:

在win10和ubuntu GNOME 16.04下删除Win10

最前面的是EFI分区,这里面还残留着Win10 的引导前端,清理掉!
第二个分区是格式化后的Win10 系统分区,可能大家的电脑里面会有各种其他分区。
请忽略Extended,你们的GPT分区表的不会出现它的。
我们要做的就是把前面的系统移动到后面,或者直接删除分区,把它合并到/home。
这里,我偷笑了,因为安装的时候,一定要自定义多分几个区域/home、/usr之类的,这回你们知道好处在哪里了。
(金坷垃好处都有啥,谁说对了喂给他)
在做操作之前,强烈要求你们备份好数据,凡是要有准备才不会方寸大乱。

接下来,我们用gparted移动或者合并分区,首先,删除掉第二分区这个空白分区。
右键单击原来的win10 系统分区,点击“删除分区”:

在win10和ubuntu GNOME 16.04下删除Win10


选中后面的分区,使它们向前移动,最终放在你要扩展的分区的前面或者后面。
这里我就不配图了,你看右键菜单有啥就秒懂了。
移动分区时会有提示:

在win10和ubuntu GNOME 16.04下删除Win10

意思是,你移动分区会导致无法引导ubuntu系统
无所谓,我们就是要弄坏了EFI分区重新安装就是了。最后别忘了格式化EFI分区,碍眼的东西要消失。


我们发现格式化后,EFI的分区标记仍然是“boot,esp”,我们大可放心了。
这个时候,我们来手动构建Grub引导,听起来高大上?
OK,直接上代码。
首先,打开终端,输入
fdisk -l
于是出现了一些信息:

在win10和ubuntu GNOME 16.04下删除Win10

有用的都在最后面,我们可以轻易看到哪些盘安装了Linux。通过大小判断分区究竟挂载到了哪一点上,像图中的信息就是这样的:
sda1 94M EFI分区
sda3 9.6G Linux (根据大小判断,我安装的时候是挂载的/)
sda4 40G Extended(扩展,不用管它)
sda5 大小1G以内 Swap交换分区
sda6 39.4G Linux (这个挂载的大致是/home)


确定好分区后,我们执行这样的命令,把它们逐个挂载上:
sudo mount /dev/sda3 /mnt //一定要先挂载根目录所在的分区
sudo mount /dev/sda6 /mnt/home // home分区
不要挂载交换分区,否则接下来的命令会出错。
挂载完所有的linux分区后,除了交换分区,继续输入以下命令:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
这样就构建完目录结构了。
然后我们chroot到硬盘上的linux系统:
chroot /mnt
然后我们安装grub:

grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
(注意,有的系统是这样的:
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg)


安装完成后(不允许出错,出错的话从头再来一遍),输入:
exit
然后卸载掉所有挂载的分区:

sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt
关闭终端,重启,或者输入重启命令:
sudo shutdown -r now (restart也行,不要太纠结~)
这样就能使用了:

在win10和ubuntu GNOME 16.04下删除Win10

当然,暴力的话,可以直接不格式化linux分区直接用安装程序安装也可以,但是貌似后面会出现恢复安装包错误的故障,需要强制重启,至少我遇到的是这样。如果不怕安装了的软件丢失的,不妨可以试试(软件貌似无所谓的,商店也好,apt install 也好,再安装的话还是很方便的)。


写在后面的话
富有冒险精神的同志们可以撒欢般折腾自己的数据,用这种方法。
当然,不喜欢,或者有更好的方式的大神们,勿要喷哈。
毕竟本人也是站在小白的角度下考虑的方法,而且现场试验了好几回。


本文永久更新地址:http://www.linuxdiyf.com/linux/21059.html