Windows7下安装Ubuntu双系统遇到的坑:Ubuntu从安装到卸载到重装
qiyuwang 2024-10-27 14:11 21 浏览 0 评论
安装Win7+Ubuntu双系统时遇到的问题
由于此前只在VMWare虚拟机上安装过Linux系统,而且当时实际使用比较少,因此安装虚拟机时并不觉得艰难,没想到在安装双系统时却遇到了那么多问题,可以说是把所有的坑都踩了一遍,差点把实验室电脑上的硬盘数据都给弄丢了,好在有惊无险,经过几天的折腾,终于解决了所有问题,把坑都填上了。
之所以写这篇博客,是因为大部分文章都只有安装系统的步骤,却没有告诉我们需要做哪些准备、会遇到什么问题以及其解决方法,希望这篇文章能帮助一些想要安装双系统的同学。
安装Ubuntu时不能显示Windows中未分配空间:
将动态磁盘改为基本磁盘,因为动态盘是不能安装双系统的。可以在计算机-管理-磁盘管理中查看Windows分区是基本盘还是动态盘,关于基本盘和动态盘的更多内容可以看这个:基本盘和动态盘的区别。
由于动态盘的卷在物理内存上可能不连续,因此直接将动态盘转为基本盘时数据会被清空,需要使用分区助手 或DiskGenius来进行转换,但是转换到基本盘可能会导致下面这个问题。
安装ubuntu时不能显示Windows分区,只能看到dev/sda:
退出安装,进入试用版Ubuntu,输入sudo parted /dev/sda print,提示错误:分区表不能重叠。分区表重叠是分区助手在转换到基本磁盘时造成的,需要使用DiskGenius重建分区,这里有一篇重建分区 的教程。按照教程一步一步操作,可以避免数据丢失,如果有条件,最好先备份硬盘里的所有数据。
分区时提示无法再继续分区:
这是因为MBR磁盘最多只有4个主分区, 但是考虑到可能要装双系统,建议Windows中使用1个主分区+3个逻辑分区,这样可以在剩下的逻辑分区里选一个空闲的分区作为Ubuntu的主分区。
事实上只有MBR磁盘才有4个主分区的限制,GPT则没有此限制,这篇教程说明了如何查看电脑是GPT磁盘还是MBR磁盘。
在计算机-管理-磁盘管理中,如果未分配空间是绿色的,就会分成逻辑分区;如果未分配的空间是黑色的,那么新建的卷就是主分区,这种情况下为Linux系统新建的分区都会成为主分区,因此会有很大概率超过4块主分区而导致无法正常安装Linux系统。
要使新建的分区为逻辑分区,则可以在cmd下使用如下命令:
diskpart # 进入磁盘分区
list disk # 磁盘列表
select disk 0 # 选择需要修改分区的磁盘
# 通常大部分电脑都只有一块磁盘,因此0就是当前要分区的磁盘
# 如果有多块磁盘则需谨慎选择
list partition # 列出分区列表
create partition extended # 回车后系统会把剩余的未分配空间全部划分为扩展分区
# 在磁盘管理中可以看到这部分是绿色的。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
图文教程请参看博客windows磁盘黑色未分配区域扩展到逻辑驱动器
如果使用上述命令时提示“虚拟磁盘服务错误:分区数已经达到磁盘的限制”,则改为如下命令:
list volume # 卷列表,找到和未分配空间相邻的卷,例如F卷,其编号为4,则:
select volume 4 # 选中F卷
extend # 扩展F卷,将未分配空间全部划分到F卷
# 由于F卷是逻辑分区,因此扩展F卷后,再将其压缩
# 即可变为绿色的逻辑分区
- 1
- 2
- 3
- 4
- 5
执行完上述命令后,可以看到黑色的未分配空间已经和其相邻卷(例如F卷)合并了,此时右键该卷,选择压缩卷,输入未分配空间的大小,确认压缩后即可看到被压缩出来的未分配空间已经变为绿色。
至于为什么不直接先扩展卷再压缩卷,是因为我在实际操作中发现,如果直接对黑色的未分配空间做以上操作,得到的未分配空间还是黑色的。
安装完双系统后出现grub rescue:
ls # 列出所有分区信息,例如有0-10共11个分区块
ls (hd0,msdosX) # X是分区的区号,将X改为从0到10的数
# 找到那个可显示当前文件系统的分区,例如区块2
set root=(hd0,msdos2)/grub # 区块2是有文件系统的分区
set prefix=(hd0,msdos2)/grub
insmod normal
normal
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
解决之后下次开机还是会出现grub rescue,因此在正常进入Linux系统后需要更新grub:
sudo update-grub
sudo grub-install /dev/sda
- 1
- 2
这篇文章Grub Rescue修复方法给出了详细的修复方法,并且区分了boot单独分区和未分区时的不同操作,比我参考的其他文章都更好。
Ubuntu系统的重装
为什么卸载Ubuntu
之所以要卸载Ubuntu,是因为我参考了一篇如何安装Linux的博客,这篇博客提到Linux分区的常规方法为:
/boot # 引导分区,略大于200M即可
/swap # 交换分区,大于或等于物理内存的大小
# 早期电脑内存比较小,因此推荐设置为物理内存的两倍左右
# 现在电脑内存够用,设置为略大于物理内存即可
/ # 主分区,够用就行
/home # 剩余的都给home就行
- 1
- 2
- 3
- 4
- 5
- 6
这个教程唯一的问题在于,没有说明根目录/的大小,导致我以为主分区不需要多大空间,因此只给根目录分了4G,而把剩余分区全部划分给了/home,其后果是在安装了一些编程软件后,系统便提示根目录空间不足,使得Ubuntu系统无法正常使用,也使得我不得不重新安装Ubuntu。
重新安装Ubuntu系统时,我给Ubuntu预留了80多G的可用空间(原来为50G),其中home分区36G,主分区40G,其余空间分给swap和boot分区。关于Linux分区的更多信息,请参考这篇博客:Ubuntu分区方案(菜鸟方案、常用方案和进阶方案)
注:如果不想重新安装系统,可以考虑使用lvm2来扩展根目录空间,扩容教程见Linux下对lvm逻辑卷分区大小的调整(针对xfs和ext4不同文件系统)。安装lvm大约需要8M空间,如果根目录已经完全被占满,则可能连lvm也安装不了,使用如下命令可以扩展一些内存:
sudo apt-get clean#清理所有软件的缓存
sudo apt-get autoclean#清除旧版本的软件缓存
sudo apt-get autoremove#删除系统不再使用的孤立软件
- 1
- 2
- 3
执行完后可以使用df -h命令查看磁盘使用空间大小。
Windows双系统中卸载Ubuntu的方法
下载MbrFix软件,解压后将MbrFix.exe放到C盘根目录下或者C:/Windows/System32目录下。
以管理员身份打开cmd,输入命令MbrFix /drive 0 fixmbr再确认即可。
重启时如果没有双系统的引导项而是直接进入Windows系统,则说明MBR引导已经修复,不再使用Ubuntu系统引导了,此时即可删除Ubuntu系统,删除方式很简单,在计算机-管理-磁盘管理中,选中原先Linux系统的安装分区,右击删除卷即可(Linux的安装分区是那些不能被Windows系统识别的卷)。被删除后剩余的未分配空间应该是绿色的。
详细内容可以参考这篇简书文章:WIN7+ubuntu双系统重装ubuntu。
制作Ubuntu最新版的U盘启动盘
在Ubuntu官网下载最新版Ubuntu的iso镜像文件,用于制作U盘启动盘。
常用的U盘启动盘制作软件有UltraISO、USB Installer、大白菜以及Win32DiskImager等。
使用UltraISO制作U盘启动盘无法进入启动项,提示Failed to load ldlinux.c32,原因是UltraISO软件不支持最新版的Ubuntu,USB Installer也出现同样问题。
解决方法:格式化U盘,使用Win32DiskImager制作U盘启动盘以重新安装系统。
安装系统的方法很简单,将U盘启动盘插入电脑后,重新启动时按F12或F2,进入Ubuntu安装引导界面一步一步来即可,详细步骤请参考教程:Win7 下U盘安装Ubuntu16.04 双系统详细图文教程。
注1:制作启动盘的过程中会对U盘进行格式化,因此需要先进行数据备份;
注2:只有在前面几种工具无法使用时再使用Win32DiskImager,因为Win32DiskImager制作好启动盘后会将启动盘进行分区,导致可用的空间十分之少,只能进行格式化。
总结
1、安装双系统时,必须确保Windows的分区是基本盘而不是动态盘。
2、在Windows下划分出的用于安装Linux的未分配空间必须是绿色的,如果是黑色的则需要将其转换为绿色。未分配空间最好大于50G(Ubuntu官网建议不小于25G)。
3、给Linux系统分区时,必须保证根目录也有足够大的空间(大于20G),或者干脆不分区,把所有空间都挂载到根目录下。
4、遇到问题要及时解决,并记录下来,以避免下次遇到时还要再搜一遍。
相关推荐
- # 安装打开 ubuntu-22.04.3-LTS 报错 解决方案
-
#安装打开ubuntu-22.04.3-LTS报错解决方案WslRegisterDistributionfailedwitherror:0x800701bcError:0x80070...
- 利用阿里云镜像在ubuntu上安装Docker
-
简介:...
- 如何将Ubuntu Kylin(优麒麟)19.10系统升级到20.04版本
-
UbuntuKylin系统使用一段时间后,有新的版本发布,如何将现有的UbuntuKylin系统升级到最新版本?可以通过下面的方法进行升级。1.先查看相关的UbuntuKylin系统版本情况。使...
- Ubuntu 16.10内部代号确认为Yakkety Yak
-
在正式宣布Ubuntu16.04LTS(XenialXerus)的当天,Canonical创始人MarkShuttleworth还非常开心的在个人微博上宣布Ubuntu下个版本16.10的内...
- 如何在win11的wsl上装ubuntu(怎么在windows上安装ubuntu)
-
在Windows11的WSL(WindowsSubsystemforLinux)上安装Ubuntu非常简单。以下是详细的步骤:---...
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
-
IT之家2月18日消息,科技媒体pureinfotech昨日(2月17日)发布博文,介绍了3中简便的方法,让你轻松在Windows11系统中,使用WindowsSubs...
- 如何查看Linux的IP地址(如何查看Linux的ip地址)
-
本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。...
- 怎么看电脑系统?(怎么看电脑系统配置)
-
要查看电脑的操作系统信息,可以按照以下步骤操作,根据不同的操作系统选择对应的方法:一、Windows系统通过系统属性查看右键点击桌面上的“此电脑”(或“我的电脑”)图标,选择“属性”。在打开的...
- 如何查询 Linux 内核版本?这些命令一定要会!
-
Linux内核是操作系统的核心,负责管理硬件资源、调度进程、处理系统调用等关键任务。不同的内核版本可能支持不同的硬件特性、提供新的功能,或者修复了已知的安全漏洞。以下是查询内核版本的几个常见场景:...
- 深度剖析:Linux下查看系统版本与CPU架构
-
在Linux系统管理、维护以及软件部署的过程中,精准掌握系统版本和CPU架构是极为关键的基础操作。这些信息不仅有助于我们深入了解系统特性、判断软件兼容性,还能为后续的软件安装、性能优化提供重要依据。接...
- 504 错误代码解析与应对策略(504错误咋解决)
-
在互联网的使用过程中,用户偶尔会遭遇各种错误提示,其中504错误代码是较为常见的一种。504错误并非意味着网站被屏蔽,它实际上是指服务器在规定时间内未能从上游服务器获取响应,专业术语称为“Ga...
- 猎聘APP和官网崩了?回应:正对部分职位整改,临时域名可登录
-
10月12日,有网友反映猎聘网无法打开,猎聘APP无法登录。截至10月14日,仍有网友不断向猎聘官方微博下反映该情况,而猎聘官方微博未发布相关情况说明,只是在微博内对反映该情况的用户进行回复,“抱歉,...
- 域名解析的原理是什么?域名解析的流程是怎样的?
-
域名解析是网站正常运行的关键因素,因此网站管理者了解域名解析的原理和流程对于做好域名管理、解决常见解析问题,保障网站的正常运转十分必要。那么域名解析的原理是什么?域名解析的流程是怎样的?接下来,中科三...
- Linux无法解析域名的解决办法(linux 不能解析域名)
-
如果由于误操作,删除了系统原有的dhcp相关设置就无法正常解析域名。 此时,需要手动修改配置文件: /etc/resolv.conf 将域名解析服务器手动添加到配置文件中 该文件是DNS域名解...
- 域名劫持是什么?(域名劫持是什么)
-
域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的。说的直白些,域名劫持,就是把互...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- # 安装打开 ubuntu-22.04.3-LTS 报错 解决方案
- 利用阿里云镜像在ubuntu上安装Docker
- 如何将Ubuntu Kylin(优麒麟)19.10系统升级到20.04版本
- Ubuntu 16.10内部代号确认为Yakkety Yak
- 如何在win11的wsl上装ubuntu(怎么在windows上安装ubuntu)
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- 如何查看Linux的IP地址(如何查看Linux的ip地址)
- 怎么看电脑系统?(怎么看电脑系统配置)
- 如何查询 Linux 内核版本?这些命令一定要会!
- 深度剖析:Linux下查看系统版本与CPU架构
- 标签列表
-
- navicat无法连接mysql服务器 (65)
- 下横线怎么打 (71)
- flash插件怎么安装 (60)
- lol体验服怎么进 (66)
- ae插件怎么安装 (62)
- yum卸载 (75)
- .key文件 (63)
- cad一打开就致命错误是怎么回事 (61)
- rpm文件怎么安装 (66)
- linux取消挂载 (81)
- ie代理配置错误 (61)
- ajax error (67)
- centos7 重启网络 (67)
- centos6下载 (58)
- mysql 外网访问权限 (69)
- centos查看内核版本 (61)
- ps错误16 (66)
- nodejs读取json文件 (64)
- centos7 1810 (59)
- 加载com加载项时运行错误 (67)
- php打乱数组顺序 (68)
- cad安装失败怎么解决 (58)
- 因文件头错误而不能打开怎么解决 (68)
- js判断字符串为空 (62)
- centos查看端口 (64)