安装Windows 8.1过程中出现的各种问题(无损从MBR转GPT磁盘、不能定位已有分区)
这个周末就安装了个系统,本以为一个小时就能搞定,没想到花费了将近一天。
我的机子是6G内存、500G硬盘,原装系统是Windows 7,现在想换成Windows 8.1,于是下载了64位的Windows 8.1 ISO镜像文件,用DaemonTools打开,打开后如果直接点击setup.exe那么只会在你现在的系统上再安装一个系统,也就是双系统,不能卸载 目前的系统(想想也只能这样,你是在目前系统环境下安装新系统,如果现有系统卸载了,新系统也就安装不了了),这不是我想要的,想想还是做个U盘启动盘再 安装吧。
1. 用UltraISO制作U盘启动盘
方法非常简单:插上U盘(事先格式化),然后在UltraISO里打开Windows 8.1的ISO镜像文件,选择“启动光盘—写入硬盘映像”即可。一张图就足以说明。
然后就等着了,这个写入的速度跟你系统和U盘都有关,反正我写了十分钟左右写好。
2. 在BIOS里将Boot启动项第一顺序改为U盘启动
做好启动盘过后就可以按照系统了,首先需要在BIOS里修改第一启动项为U盘。然后重启就开始安装过程了。可是我的这个过程是相当的纠结,下面是我安装过程中遇到的问题(我安装的是64位英文版系统),花费了很长时间才解决,因此记录下来以供参考。
问题1:Windows cannot be installed to this disk. the selected disk has an MBR partition table. On EFI system, Windows can only be installed to GPT disks.
即:Windows无法安装到这个磁盘,选中的磁盘具有MBR分区表。在EFI系统上,Windows只能安装到GPT磁盘。
要理解这个错误,首先得搞明白什么是MBR分区表,什么又是GPT磁盘?
(1)MBR和GPT是两种不同的磁盘类型,主要区别在于不同的分区结构和分区方法。GPT是近几年才出现的新型硬盘种类。
(2)GPT(Globally Unique Identifier Partition Table Format)是一种由基于 Itanium
计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录 (MBR) 分区方法相比,GPT
具有更多的优点,因为它允许每个磁盘有多达 128 个分区,支持高达 18
千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。
(3)MBR特点:支持最大卷为 2 TB (terabytes) 并且每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和无限制的逻辑驱动器);
GPT特点:支持最大卷为 18
EB (exabytes) 并且每磁盘最多有 128 个分区。与 MBR
分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT
分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。
从现在大数据趋势看,GPT磁盘将会逐渐取代MBR磁盘,老机子只支持MBR,现在买的新机子都支持GPT磁盘。
因此,从这个错误大致可以判断出我机子的原装系统是MBR分区方法,而现在要安装的系统基于UEFI模式,只能安装在GPT磁盘上,也就是我的磁盘类型不对,所以不能安装。
知道了问题原因后,解决方案也就出来了,将硬盘的类型从MBR转为GPT再安装应该是可以的。
那么如何转换为GPT磁盘呢?
网络上通用的解决方案就是用系统自带的命令diskpart对硬盘重新分区,转为GPT磁盘。操作很简单,几个命令就能搞定,具体操作见后面参考文献1,2,3。这个方法的确可以解决问题,但付出的代价当然也是惨痛的:整个硬盘里的东西都会不翼而飞。当然你可以先备份磁盘再操作,但这可是件苦差事,拷来拷去既费时又费力。虽然微软官方给出的也是这个方案,但我还是想看看有没有其它的不会导致数据丢失的方法。于是就各种搜索,百度里搜“将MBR转为GPT 不丢失数据”,Google里搜“Convert
MBR to GPT no data lose”,最终搜到了外国的
AOMEI Partition Assistant和国内的DiskGenius磁盘分区软件。对
于我这个“崇洋媚外”的人来说首选的当然是AOMEI Partition
Assistant了(操作见参考文献4),结果发现免费版的不能转换系统分区(即C盘),我的操作系统就是要安装在C盘啊,不转换不行。上面说只有升级
到Pro版的才行,当然要付出银子了,于是找破解版的想法就马上浮出了,不知道是外国人素质太好还是他们对这款软件不感兴趣,既然搜不到破解版的软件。罢
了,只能转向国产的DiskGenius了,也是要Pro版的才能转换,不过破解版一大堆(国产软件的好处之一吧),随便找了个按参考文献5的方法操作了
遍。当然前提是备份好了磁盘里重要的文件,正如该软件启动时的提示语“数据宝贵,请大家谨慎操作”,软件也不能保证万无一失,
想懒还是不行的,而且备份磁盘也是个良好的习惯。等一切安排妥当,就开始转换磁盘了,当我点击应用按钮时,这时恐怖的事情发生了:系统蓝屏崩溃了,着实吓
了我一大跳,以为磁盘里的数据都没了,此时我也只能破罐子破摔,马上插上U盘启动盘,看这时能不能安装系统。这时发现没有那个错误提示了,而且磁盘里的东
西还在,一阵欣喜,由于我C盘剩余空间比较少了,于是就先格式化了C盘。但是在点击Next按钮时,又出现了新的问题。
--------------------------------------------------------------
更新:其实遇到这个问题根本不需要冒着数据丢失的风险转换为GPT磁盘(除非你需要),一般用户直接使用MBR磁盘就行了,那么怎么解决这个问题呢?很简单,直接将安装盘里的efi文件夹和bootmgr.efi(如果有的话)这两个删掉就行了。
问题2:We couldn't create a new partition or locate an existing one. For more information, see the Setup log files.
不能定位我的分区?这是怎么回事?DiskGenius真是不给力啊,不会是毁了我的
分区吧?我都将C盘格式化了,反正以前的系统是毁了。于是又一阵搜索,发现给出的解决方案还是那一套,用diskpart重新分区,看参考文献6微乳官方
给出的解决方案就知道了。此时我还是不死心了,于是又一个想法浮出心头:既然不能定位我的C盘分区,那么我将C盘分区删掉再重新建一个分区能不能识别呢?于是抱着死马当做活马医的心态就去做了,这时的操作很简单,不需要用命令,上面直接有这些功能,点点就是了。
新建C盘分区后(其它重要的盘没动),再点Next,这时奇迹发生了,系统开始安装了……
哎,安装这个Windows 8.1系统真是曲折多多,花费了不少时间和精力,不过安装挺快的,后面也是一帆风顺,除了C盘其它盘的资料也都还在,这才是最重要的,这告诉我们:时刻保持一颗探索的心,有想法就要去实践,不到最后关头绝不死心,不能一味全靠Baidu和Google。
3. 附参考文献
4)AOMEI:Convert GPT to MBR or convert MBR to GPT without data lose
5) MBR分区表淘汰进行时,教你不破坏数据将MBR转换成GPT
6) Microsoft Community:Getting
an error “Couldn't create new partition or locate existing one. For
more information, see Setup log file" error message” while trying to
install Windows 8
安装Windows 8.1过程中出现的各种问题(无损从MBR转GPT磁盘、不能定位已有分区)的更多相关文章
- FormatMessage与GetLastError配合使用,排查windows api调用过程中的错误
前一段时间在学习windows api调用过程中,遇到过一些调用错误或者程序没能显示预期的结果,或者直接出现vc运行时错误. 这对新手来说是司空见惯的事,因为不太熟悉难免会出错,出错的信息如果能显示很 ...
- Deepin下phpunit安装,以及执行过程中所遇到的问题
Deepin下phpunit安装,以及执行过程中所遇到的问题 安装phpunit步骤 wget https://phar.phpunit.de/phpunit.phar chmod +x phpuni ...
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程
问题:在服务器(操作系统为Windows server 2012)上安装SQL Server 2012的过程中,安装停留在下图所示的界面上,显示”正在启用操作系统功能NetFx3”随后出 ...
- win10上安装ubunt18双系统过程中出现mmx64.efi not found问题
安装Ubuntu18过程中,从u盘启动ubunt安装,出现mmx64.efi not found问题 如下图: 制作好ubunt启动盘之后在EFI/BOOT下会看到两个文件,将其中grubx64.ef ...
- bundler-sfm windows下编译过程中出现的错误
一.“sysdep1.h”文件缺失 错误提示: fatal error C1083: 无法打开包括文件: “sysdep1.h”: No such file or directory 这些作为这个软件 ...
- AndroidStudio安装流程 以及 使用过程中出现的异常
Android Studio2.0 教程从入门到精通Windows版 - 安装篇 Android Studio第一次启动跳不过“ downloading components”解决方案 通过hosts ...
- 安装K/3 Cloud过程中发现的两个新问题。
卸载掉K/3 Cloud然后重装时出现下面的错误提示: 可能原因: 1.安装目录下的Setup.exe会检查操作系统版本.有些操作系统可能是被串改过注册信息,所以取不到版本信息(有些是因为盗版的原因) ...
- 【Gerrit】持续集成工具Jenkins的安装配置与使用过程中遇到的问题整理
1.下载war包 https://jenkins.io/download/ 2.安装 java -jar jenkins.war Error: Feb 21, 2019 2:17:25 AM wins ...
- CentOS6.5(带图形安装)在使用过程中遇到的一些网络问题迷惑
比如,经常会遇到这样的问题************************** [root@SourceCompiler local]# pwd/usr/local[root@SourceCompil ...
随机推荐
- VHDL基础2
Signals & Variables VHDL 提供了 signal 和 variable 两种对象来处理非静态数据:提供了 constant 和 generic 来处理静态数据. cons ...
- 分形在遥感和GIS中的应用
GIS等高线化简 遥感图像的追踪 分形matlab实现:分形应用于遥感图像处理 低分辨率和高分辨率图形它们的形状是相似的(图像增强) 贪吃蛇和蚁群算法:试想管中窥豹,一只小蚂蚁 ...
- [转]Android中Intent传递对象的两种方法(Serializable,Parcelable)
http://blog.csdn.net/xyz_lmn/article/details/5908355 今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种 ...
- hdu 2227
和之前的hdu3030都快一样了 可以参考之前的题解 #include <iostream> #include <cstdio> #include <cstdlib> ...
- python之随机验证码
一.内置函数 chr ------把数字转换为字母 ord-------把字母转换为数字 n = chr(65) print (n) m = ord("A") print(m) 二 ...
- SRM479
250pt: 题意:有一排一共44,777,777个人,每个人需要咖啡或者茶,队伍的头部有一台饮料机,有一个空姐负责给所有人送饮料,她一开始在也头部.空姐拿一个水壶,一开始是空的,可以在饮料机的地方加 ...
- 数组中超过N分之一的数字
寻找数组中超过一半的元素,这是一道十分经典和普遍的面试题了,实现起来比较容易,只是需要写技巧,将问题扩展就可以衍生到求数组中几个超过N分一的元素,例如找出数组中3个出现次数超过1/4的元素. /*** ...
- 第三天:JavaScript的DOM对象和DOM操作HTML
1. DOM操作HTML 1)注意:绝对不要在文档加载完成之后使用docment.write().这样会覆盖原来的文档 <body> <p>hello</p> &l ...
- .NET Core1.1+VS2017RC+MySQL+EF搭建多层Web应用程序
先贴上解决方案截图 一.新建4个解决方案文件夹 1-Presentation 2-Application 3-Domain 4-Infrastructure 二.在解决方案文件夹中分别创建项目 其余项 ...
- 《PHP, MySQL, Javascript和CSS》读书随手记----php篇
1. 基础 注释: // 或 /* */ $标示变量 语句末尾加分号 数组: $oxo = array(array('x','','o'), array('p','x',''),array('','x ...